Upload
dynatrace
View
211
Download
0
Embed Size (px)
Citation preview
From 0 to DevOps in 80 daysLessons learnt from shifting an on-prem to a cloud cultureBernd Greifeneder, CTO
http://dynatrace.com/trial
From the DevOps Webinar with Gene & Mark
Mark TomlinsonPerformance Sherpa
@mark_on_task
Andi GrabnerPerformance Advocate
@grabnerandi
Gene Kim, CTOResearcher and Author
@RealGeneKim
High Performers Are …
200x 2,555xmore frequent deployments faster lead times than their peers
Source: Puppet Labs 2015 State Of DevOps Report: https://puppet.com/resources/white-paper/2016-state-of-devops-report
More Agile
3x 24xlower change failure rate faster Mean Time to Recover
More Reliable
@RealGeneKim
24 “Features in a Box” Ship the whole box!
Very late feedback
F r u s t r a t i o n !
@grabnerandi
@RealGeneKim
Continuous Innovation and Optimization1 “Feature at a Time”
Optimize Before DeployImmediate Customer Feedback
@grabnerandi
2011: APM about to be disrupted!
• Migrate from On-Prem to VM, Cloud, Containers and PaaS• Architectures include micro-services, on-demand scaling,
self-healing• ”Cloud Natives“ demand SaaS based solutions• Bridging the gap between ”New Stack“ and “Enterprise
Stack“• Digital Transformers demand Analytics for Biz, Dev, Ops &
Sec• Many new players on the market
@grabnerandi
From 0 to DevOps in 80 daysLessons learnt from shifting an on-prem to a cloud cultureBernd Greifeneder, CTO
http://dynatrace.com/trial
2 major releases/yearcustomers deploy & operate on-prem
26 major releases/year170 prod deployments/dayself-service online sales SaaS & Managed On-Prem
2011 2016
ManualCICDFcontinuousintegration
continuous delivery & deploymentand feedback
NOC lessons learntContinuous Integration faster than classic OpsAutomation and APIsOne delivery stack across the pipeline
DevOps
Continuous Delivery
is a culture that emphasizes the collaboration of various teams involved in software delivery
is an approach about building, testing and releasing software reliable, faster and more frequent
Utmost goal: minimize cycle time
timefeature cycle time
minimize Users
This is where youcreate value!
feature cycle time time
minimize Users
Utmost goal: minimize cycle time
Deploy faster!!
Failfaster??
Right focus?!
The “War Room”
Facebook – December 2012
ruxit theme 2014.05.15Production facts – Oct 2016
450 AWS EC2 instances
>2 yearsvalue to customers in production
99.998%cluster availability since June’15 NO24/7 OPs Team
170deployments per working day2 weeksrelease cycle
20 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
Shift-Left QualityQuality/Performance matters in Dev/Staging as well!Make Dev/CSA/PM dependent from Quality in trunk!
Sure glad the hole isn’t at our end.
Confidential, Dynatrace, LLC
http://dynatrace.github.io/ufo
ruxit theme 2014.05.15more responsibilityfor developers
production toolingmonitoring and diagnosticsproactive analytics/fixingmore security
ruxit theme 2014.05.15Make also architects responsible for production
26 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
iPhone 6
failing early improves quality
late feedbacksucks
27 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
Shift-Left QualityQuality/Performance matters in Dev/Staging as well!Make Dev/CSA/PM dependent from Quality in trunk!
DevOps = start thinking like an Ops before Commit
28 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
Shift-Left QualityQuality/Performance matters in Dev/Staging as well!Make Dev/CSA/PM dependent from Quality in trunk!
DevOps = start thinking like an Ops before Commit
Shift-Right Metricsenable DEVs defining quality metrics make DEVs to the primary consumers of their metrics
29 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
Developer will never do that!Operator’s job
DevOps NoOpsFrom 0 to & Continuous Delivery in 80 days
ruxit theme 2014.05.15call our DevOpsNoOps
automated
ruxit theme 2014.05.15Automation high availability global
Global AWS Infrastructure
ruxit theme 2014.05.15The rise of the chaos monkeys
ruxit theme 2014.05.15
35 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
Daily deployments from trunk the whole DEV team depends on
36 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
believe in the mission impossible
6 monthsmajor/minor release+ intermediate fix-packs+ weeks to months rollout delay
sprint releases (continuous-delivery)1h : code to production
New “multimodal” dynamics
Apps of innovation
Apps of records
Apps of EngagementApps of
Engagement
Explore new revenue modelsLook ahead, see beyond present. Non-IT led.
New hyper-scale, hyper-dynamic apps.
Public cloud and open source biasNew cloud platforms and micro-services stacks.
Decisions made in hours/days, no POC.
DevOps AssumedExpect release cycles measured in hours.
Tight teaming between biz, dev, ops.
ruxit theme 2014.05.15
Thank you!
Food for thoughts: • In which of the following stages are you and what's next?
• Classic siloed, Continuous Integration, DevOps?• Is technology or process/culture the hurdle?
• Do you have the right monitoring strategy?
http://dynatrace.com/trial
Confidential, Dynatrace LLC
Performance management for the digital customer age
DevOps Tooling @
Dev Stage Daily
Continuous Delivery & Feedback
Production Stage Bi-Weekly & On Demand
Acceptance Stage Bi-Daily
Deploy
Develop & Fixing
Acceptance & Performance
& Load Tests & Monitor
Deploy
Fixing
Acceptance & Performance
& Load Tests & Monitor
Deploy
Hotfixing
Monitor
Release
Every 2 weeks version is pushed to next stage = 2 weeks release cycle
Unit+Integration testing & Build
Unit+Integration testing & Build
Unit+Integration testing & Build
SaaS
Week 1 Week 2 Week 3 Week 4
Continuous Delivery & Feedback
Dev Stage Daily Production Stage Monthly & On Demand
Acceptance Stage Bi-Daily
Week 1 Week 2 Release
Every 4 weeks version is pushed to next stage = 4 weeks release cycle
Managed - On Premises
Deploy
Develop & Fixing
Acceptance & Performance
& Load Tests & Monitor
Deploy
Fixing
Acceptance & Performance
& Load Tests & Monitor
Deploy
Hotfixing
MonitorUnit+Integration testing & Build
Unit+Integration testing & Build
Unit+Integration testing & Build
Week 3 Week 4 Week 5 Week 6 Week 7 Week 8
CDF Tooling Chain - Dev Stage
Acceptance TestsSelenium/Appium Automated Functional Tests
on UI Level Automated E2E Tests on UI LevelBrowser Compatibility Testing (Chrome, IE, FF, Edge, Safari)24/7 Deployment Checks
Jira Manual Regression TestingAWS, VMware, VirtualBox Test Environments
DevelopGradle + Artifactory build/deployment automationSVN + Git Version ControlEclipse / IntelliJ IDEAQuickbuild + Jenkins Continuous Integration
Unit & Integration Tests (fully automated)Unit Tests +Integration Tests
Quickbuild, Eclipse/IntelliJ IDEA for local execution before commit
Memory/CPU Overhead tests Dynatrace AppMon
Code Quality and Coverage ChecksSonar
Memory leak detectionBullseye, Valgrind
Virus Scan KasperskyOpen Source License compliance checks
Blackduck
Facts/Numbers28.000 Unit Tests + 3.000 integration test executions / hour
Deployment (fully automated)Quickbuild Automated daily deployment of Trunk Builds
using Ansible and Puppet or callingDynatrace Ruxit CloudControl, that uses
AWS Cloud Formation (whole infrastructure as code!)Selenium/Appium
Automated Customer-Like DeploymentDeployment Checks on UI Level
Performance & Load TestsCluster Workload SimulatorEclipse Mem Analyzer (MAT) + Eclipse Thread Dump AnalyzerJava Flightrecorder
MonitoringDynatrace Real-User, Service and
Infrastructure monitoringWebChecks, AWS Monitoring, Log Analytics & Monitoring
OpsGenie and common HipChat Room to escalate detected Problems directly to
DevelopmentSecurity 24/7 OSSEC Host intrusion monitoringDeploy
Develop & Fixing
Unit+Integration testing & Build
Acceptance & Performance & Load Tests & Monitor
CDF Tooling Chain - Acceptance Stage
Deploy
Fixing
Unit+Integration testing & Build
Acceptance & Performance & Load Tests & Monitor
Facts/Numbers (Dev + Acceptance Stage)~700 Automated UI Tests~60 hours UI Test execution per Build ~20 parallel running test sets executed on ~30 execution machines up to ~5 hours per test set~15 different OS (Windows, Linux) Unit & Integration Tests (fully
automated)Unit Tests +Integration Tests
Quickbuild, Eclipse/IntelliJ IDEA for local execution before commit
Virus Scan Kaspersky
Deployment (fully automated)Quickbuild Automated deployment of Sprint Builds using Ansible and Puppet or calling Dynatrace Ruxit CloudControl, that uses AWS Cloud Formation
(whole infrastructure as code!)Selenium/Appium
Automated Customer-Like DeploymentDeployment Checks on UI Level
Acceptance TestsSelenium/Appium Automated Functional Tests
on UI Level Automated E2E Tests on UI LevelBrowser Compatibility Testing (Chrome, IE, FF, Edge, Safari)24/7 Deployment Checks
Jira Manual Regression TestingAWS, VMware, VirtualBox Test Environments
FixingGradle + Artifactory build/deployment automationSVN + Git Version ControlEclipse / IntelliJ IDEAQuickbuild + Jenkins Continuous Integration
Performance & Load TestsCluster Workload SimulatorEclipse Mem Analyzer (MAT) + Thread Dump AnalyzerJava Flightrecorder
MonitoringDynatrace Real-User, Service and
Infrastructure monitoringWebChecks, AWS Monitoring, Log Analytics & Monitoring
OpsGenie and common HipChat Room to escalate detected Problems directly to DevelopmentSecurity 24/7 OSSEC Host intrusion monitoring
CDF Tooling Chain - Production Stage
Deploy
Hotfixing
Unit+Integration testing & Build
Monitor
FixingGradle + Artifactory build/deployment automationSVN + Git Version ControlEclipse / IntelliJ IDEAQuickbuild + Jenkins Continuous Integration
MonitoringDynatrace Real-User, Service and
Infrastructure monitoringWebChecks, AWS Monitoring, Log Analytics & Monitoring
OpsGenie and common HipChat Room to escalate detected Problems directly to DevelopmentSecurity 24/7 OSSEC Host intrusion monitoring
Monthly and on demand Vulnerability Scans (KPMG Linz)Closed Bug Bounty Program at HackerOne
Unit & Integration Tests (fully automated)Unit Tests +Integration Tests
Quickbuild, Eclipse/IntelliJ IDEA for local execution before commit
Virus Scan Kaspersky
Deployment (fully automated)Quickbuild Automated deployment of Sprint Builds using Ansible and Puppet or calling Dynatrace Ruxit CloudControl, that uses AWS Cloud Formation
(whole infrastructure as code!)Selenium/Appium
Automated Customer-Like DeploymentDeployment Checks on UI Level