Dynatrace Inside Continuous Delivery

Post on 20-Jun-2015

1.362 views 8 download

Tags:

description

Shows in which ways the Dynatrace APM solution empowers the Continuous Delivery build pipeline. Topics covered: - How Dynatrace integrates into Test Automation inside the Jenkins Build Automation Server - How Deployment Automation can be use to automatically deploy your environments - How Dynatrace Business Transactions data can be exported to external Business Analytics solutions, such as Splunk - How Agile Development teams can be empowered by integrating Dynatrace Test Automation data into digital Information Radiators

Transcript of Dynatrace Inside Continuous Delivery

1 #Perform2014

Orlando, October 2014

Dynatrace Inside Continuous Delivery Martin Etmajer

martin.etmajer@dynatrace.comSenior Technology Strategist @

Dynatrace

2 #Perform2014

Insert headshot image here “Martin Etmajer

Senior Technology Strategist @ Dynatrace

martin.etmajer@dynatrace.com

@metmajer

3 #Perform2014

Continuous Delivery @ Oktoberfest

4 #Perform2014

Continuous Delivery Build Pipeline

5 #Perform2014

Continuous Delivery Build Pipeline

6 #Perform2014

Continuous Delivery Build Pipeline

7 #Perform2014

Continuous Delivery Build Pipeline

8 #Perform2014

Continuous Delivery Build Pipeline

9 #Perform2014

Continuous Delivery Build Pipeline

10 #Perform2014

Continuous Delivery Build Pipeline

✔ ✔

11 #Perform2014

Continuous Delivery Build Pipeline

✔ ✔

12 #Perform2014

Continuous Delivery Build Pipeline

✔ ✔ ✔

13 #Perform2014

Continuous Delivery Build Pipeline

✔ ✔ ✔

14 #Perform2014

Continuous Delivery Build Pipeline

✔ ✔ ✔

15 #Perform2014

feature cycle time time

Customer Users

Minimize Cycle Time

16 #Perform2014

feature cycle time time

Customer Users

Minimize Cycle Time

minimize

17 #Perform2014

feature cycle time time

Customer

Minimize Cycle Time

This is when youcreate value!

minimize

18 #Perform2014

feature cycle time time

Customer

Minimize Cycle Time

You

This is when youcreate value!

minimize

19 #Perform2014

How? Establish Fast Feedback Loops!

build staging

time

codeplan production

compile failed

20 #Perform2014

How? Establish Fast Feedback Loops!

build staging

time

codeplan production

build failed

21 #Perform2014

How? Establish Fast Feedback Loops!

build staging

time

codeplan production

acceptance testing failed

22 #Perform2014

How? Establish Fast Feedback Loops!

build staging

time

codeplan production

user feedback

23 #Perform2014

How? Establish Fast Feedback Loops!

build staging

time

codeplan productionMonitor all your processes

no matter which environment

24 #Perform2014

Continuous Delivery: Automated Testing

25 #Perform2014

Continuous Delivery: Automated Deployments

26 #Perform2014

Continuous Delivery: Continuous Monitoring

Real-TimeBusiness Transactions

Feed

Dynatrace Server

27 #Perform2014

Continuous Delivery: Continuous Monitoring

Server REST API

Dynatrace Server

28 #Perform2014

Dynatrace Test AutomationPlugin for Jenkins

It’s about assessing the

performance of your tests.

29 #Perform2014

Test Automation Plugin for Jenkins

Dynatrace serverconnection settings

30 #Perform2014

Test Automation Plugin for Jenkins

Allow KPIsto fail builds?

31 #Perform2014

Test Automation Plugin for Jenkins

High-level KPIsper Build

Trending

Test Results@Project Level

32 #Perform2014

Test Automation Plugin for Jenkins

Concrete Measuresper Test

Test Results@Build Level

33 #Perform2014

Test Automation with Dynatrace

34 #Perform2014

Test Automation with Dynatrace

35 #Perform2014

Test Automation with Dynatrace

Dynatrace Server

36 #Perform2014

Test Automation with Dynatrace: Quality Gate

Dynatrace Server

37 #Perform2014

Automated Deploymentof Dynatrace Agents

38 #Perform2014

Why?

» Production environments have typically grown over time

» On-demand creation of environments (minimizes MTTR)

» Consistent environments in staging and production

What?

» Middleware, Databases, Configuration, Data, Application

How?

» Create self-documenting, executable specifications (VCS)

» Treat it as an engineering discipline (helps enforce DevOps)

Deployment Automation

39 #Perform2014

OPERATIONS

DEVELOPMENT

Deployment Automation: Joint Efforts

current iteration(2 weeks)

time

40 #Perform2014

OPERATIONS

DEVELOPMENT

Deployment Automation: Joint Efforts

current iteration(2 weeks)

time

Planning

41 #Perform2014

OPERATIONS

DEVELOPMENT

Deployment Automation: Joint Efforts

current iteration(2 weeks)

time

PlanningImplementing

and testing

42 #Perform2014

OPERATIONS

DEVELOPMENT

Deployment Automation: Joint Efforts

current iteration(2 weeks)

time

PlanningImplementing

and testing Verification

43 #Perform2014

Agent-Based Solutions

44 #Perform2014

Agent-Based Deployments (Chef, Puppet)

45 #Perform2014

Agent-Based Deployments (Chef, Puppet)

46 #Perform2014

Agent-Based Deployments (Chef, Puppet)

47 #Perform2014

» Can be used in client-server or client-only modes

» Client must be installed on each host to be provisioned

» Clients have dependencies: Ruby

Agent-Based Deployments (Chef, Puppet)

48 #Perform2014

Agentless Solutions

49 #Perform2014

Agentless Deployments (Ansible)

50 #Perform2014

Agentless Deployments (Ansible)

51 #Perform2014

Agentless Deployments (Ansible)

52 #Perform2014

Agentless Deployments (Ansible)

53 #Perform2014

Ansible

» Written and extensible (Python)

» Human- and machine-readable configuration (YAML)

» No boot-strapping required on deployment hosts (SSH)

» Simple, easy to ramp up with (think of new employees!)

» Clear and concise documentation

Agentless Deployments

54 #Perform2014

Sample Environment

Web Server

Frontend

Application Server

Backend

Application ServerDatabase

VCS Build Automation

check out deploy

55 #Perform2014

Sample Environment

Web Server FrontendApplication Server

BackendApplication Server

Database

Apache Tomcat Apache TomcatApache PostgreSQL

VCS

Git

Build Automation

Jenkins

check out deploy

56 #Perform2014

Use Case: Deploy Dynatrace Agents

Web Server FrontendApplication Server

BackendApplication Server

Database

Apache Tomcat Apache TomcatApache PostgreSQL

VCS

Git

Build Automation

Jenkins

check out deploy

57 #Perform2014

Ansible Concepts: Inventories

» Ansible provisions groups of servers at once

» Groups and hosts are stored in inventory files

» An inventory file is expressed in a simple INI format

58 #Perform2014

Ansible Concepts: Inventories

[frontends]frontend.example.com

[backends]backend.example.com

[frontends:vars]dt_agent_name=frontend

[backends:vars]dt_agent_name=backend

GroupHost

GroupVariables Variable

59 #Perform2014

--- # appservers.yml- hosts: frontends:backends vars_files: - variables.yml handlers: - name: restart tomcat service: name=tomcat state=restarted tasks: - name: Inject dynaTrace Java agent into Apache Tomcat template: > src=templates/tomcat-setenv.sh dest={{ tomcat_home }}/bin/setenv.sh notify: restart tomcat remote_user: deploy sudo: yes

Ansible Concepts: Playbooks

60 #Perform2014

Ansible Concepts: Playbooks# templates/tomcat-setenv.sh

CATALINA_OPTS="$CATALINA_OPTS \ -agentpath:{{ dt_agent_dir }}/libdtagent.so =name={{ dt_agent_name }},collector={{ dt_collector_url }}"

61 #Perform2014

Auto Deploy Everything!

Web Server Application Server Database

Apache TomcatApache PostgreSQL

Config Agent

62 #Perform2014

Auto Deploy Everything!

Web Server Application Server Database

Apache TomcatApache PostgreSQL

Config Binaries Agent

63 #Perform2014

Auto Deploy Everything!

Web Server Application Server Database

Apache TomcatApache PostgreSQL

Data

64 #Perform2014

Auto Deploy Everything!

Web Server Application Server Database

Apache TomcatApache PostgreSQL

Config Config Binaries AgentAgent Data

✔ ✔ ✔

65 #Perform2014

Export DynatraceBusiness Transaction Data

66 #Perform2014

What’s a Business Transaction?

PurePaths

67 #Perform2014

What’s a Business Transaction?

Search

Searches, logins,purchases, etc.

Filter Searches

68 #Perform2014

What’s a Business Transaction?

Search

Florida AustraliaHawaii

69 #Perform2014

What’s a Business Transaction?

Search

Florida AustraliaHawaii

10:13 10:14 10:15 10:16 10:173s

4s

5s

Response Time

Hawaii Florida Australia

10:13 10:14 10:15 10:16 10:170

200400600800

Search Result Count

Hawaii Florida Australia 10:13 10:14 10:15 10:16 10:172s3s4s5s6s

Response Time Hawaii

Min Avg Max

70 #Perform2014

Exporting Dynatrace Business Transaction Data

Dynatrace Server

Server

(Google Protobuf via HTTP POST)

Real-TimeBusiness Transactions Feed

71 #Perform2014

Exporting Dynatrace Business Transaction Data

Dynatrace Server

Server

(Google Protobuf via HTTP POST)

Real-TimeBusiness Transactions Feed

Big DataBusiness Transactions Bridge

72 #Perform2014

Stores data to:

» JSON, CSV files

» Data-Warehouses

» Hadoop Distributed File System

Exporting Dynatrace Business Transaction Data

Dynatrace Server

Server

(Google Protobuf via HTTP POST)

Real-TimeBusiness Transactions Feed

Big DataBusiness Transactions Bridge

73 #Perform2014

Business Analytics Solutions: Splunk

74 #Perform2014

Business Analytics Solutions: Splunk

Raw events

75 #Perform2014

Business Analytics Solutions: Splunk

Drill down to dynaTrace

76 #Perform2014

Integrating dynaTraceTest Automation Data intoAgile Information Radiators

77 #Perform2014

Agile Information Radiators: Project’s Little Helpers

78 #Perform2014

Agile Information Radiators: Project’s Little Helpers

Projects inBuild Automation

# Failed Jobs

79 #Perform2014

Assessing Build Quality: Passed vs. Failed

80 #Perform2014

Assessing Build Quality: Passed vs. Failed

1 + 1 = 2

81 #Perform2014

Assessing Build Quality: Passed vs. Failed

1 + 1 != 2

82 #Perform2014

New Test Automation Data API with dynaTrace v6.1

» Based on RESTful conventions

» Delivers JSON data

Assessing Build Quality: Dynatrace Test Data

Easy Integration

83 #Perform2014

Test Measures:

» Database statements count

» Log message count

» Exception count

» Response time

» etc.

Assessing Build Quality: Dynatrace Test Data

Test Measure Statistics:

» Expected range of value

» Violation percentage

» Historical data

Test Status:

» Passed, Failed

» Improved, Degraded, etc.

84 #Perform2014

Assessing Build Quality: Dynatrace Test Data

85 #Perform2014

Assessing Build Quality: Dynatrace Test Data

86 #Perform2014

Assessing Build Quality: Dynatrace Test DataSuper nice!

Maybe not?

87 #Perform2014

Assessing Build Quality: Dynatrace Test DataSuper nice!

Maybe not?

88 #Perform2014

Assessing Build Quality: Use Cases with Dynatrace

time

89 #Perform2014

Assessing Build Quality: Use Cases with Dynatrace

time

90 #Perform2014

Assessing Build Quality: Use Cases with Dynatrace

time

Heading towards better builds?

91 #Perform2014

Assessing Build Quality: Use Cases with Dynatrace

time

Drill down

92 #Perform2014