SlideShare a Scribd company logo
© Copyright 2017 Pivotal Software, Inc. All rights Reserved. Version 1.0
Four Steps Toward a Safer
Continuous Delivery Practice
James Ma Mike Villiger
Product Manager Sr. Technical Partner Manager
Pivotal Dynatrace
Jan 23, 2019
Virtuous cycle of
automated and iterative
progression, feedback,
improvement of
software
Continuous Delivery to the Cloud
Monitoring
Securing
Resiliency
Develop
Testing
Experimenting
Compliance
Pivotal Cloud Foundry
Deploy Operate
Planning
Test-Driven Dev
CI
Development Users
Developing & Releasing Software
Delivery
How do we make sure our code works in production-
like environments
Integration
How do we make sure our code works?
Integration Is Hard
How do we make sure our code works?
● Integrate as early and as often as possible; ideally with each
commit to your repository
● Invest in writing automated unit tests and integration tests
● Fix integration errors as soon as they appear
Solution: Continuous Integration
“Team programming
isn’t a divide and
conquer problem. It is a
divide, conquer and
integrate problem”
Extreme Programming
Explained, Kent Beck
Delivery Is Hard
How do we make sure our code works in
production-like environments?
● Test the code in a production-like environment
● Use automated tests to verify correct business functionality and
integration with other services
● Apply additional checks for security, compliance, etc.
Solution: Continuous Delivery!
“Continuous Delivery
doesn't mean every
change is deployed to
production ASAP. It
means every change is
proven to be deployable
at any time”
Carl Cacum[1]
Cerner: Modeling Processes into Pipelines
https://content.pivotal.io/inspiring-use-cases/concourse-in-the-real-world-a-case-study-in-ci-cd-and-devops-greg-meyer-bryan-kelly-cerner
Concourse CI
Concourse CI
Built on the simple mechanics of resources, tasks,
and jobs, Concourse presents a general approach to
automation that makes it great for CI/CD
Cover w/ Image
Concourse CI
1. Configuration as Code
2. Workflow Visualization
3. Containerized Execution
4. Rapid Local iteration
5. Asynchronous workflows powered by
resources
Cover w/ Image
Pipeline as Code
● Pipelines are declared using the simple,
composable primitives of: resources,
jobs and tasks
● Compelex workflows codified as human-
readable YML
● Codified and tracked under Source
Control for traceability
Cover w/ Image
Workflow Visualization
● Green is Good!
● red indicates a problem
● yellow indicates a step is actively
executing
● Teams quickly aligned on issues with
context
Cover w/ Image
Containerized Execution
Rather than sharing state, every task runs in
its own container, controlling its own
dependencies.
> test.sh
Cover w/ Image
Rapid Local Iteration
The fly execute command executes a task as
a one-off build, with your local changes. This
will run your code in exactly the same way it
would run in your pipeline, without you
having to repeatedly push broken commits
until it works.
When a job fails, you can also use fly execute
with -j flag to run with the same inputs as the
failed job. You can then replace an input with
your local changes with -i to test if your fix is
valid.
Cover w/ Image
Pipelines Powered by
Resources
Concourse does not have a complex plugin system.
Instead, relies on the concept of Resources
Concourse Resources track versions of external
artifacts used for CI/CD
Resources can track any external entity by
implementing the Resource API e.g. git repositories,
Amazon S3 Buckets, Docker Images, or a custom
implementation
Asynchronous Workflows
Concourse Resources
100+ OSS resources to external systems and tools (Community Resources)
Demo
Dev Perf/Test Ops Biz
Shift-Left: Break Pipeline Earlier
Path to NoOps: Self-Healing, …
Shift-Right: Tags, Deploys, Events
Actionable Feedback Loops
Semi-continuous-deployment – good but not great
Concourse
CloudFoundry(Tag=Staging) CloudFoundry Tag=Production)
AppTeam
Manual RollbackManual ApprovalManual Approval
Users
Concourse
Unbreakable Pipeline
Dynatrace Concourse resource
Pushes Deployment Info to Dynatrace
Entities
Validate-via-monspec task
Compares Builds and Approves/Rejects
Pipeline
Dynatrace Concourse resource
Pushes Deployment Info to Dynatrace
Entities
Validate-via-monspec task
Validates Production and
Approves/Rejects Pipeline
Build 6
Build 7
Production
Production
Auto-Approve!
Auto-Reject!
Auto-Approve!
Auto-Reject!
Shifting Right: CloudFoundry manifests used for Staging & Production: Validated in Dynatrace
Staging
Production and green
Dynamically configured in Pipeline
Dynatrace Concourse Resource
Pulls Information from Monspec
Issues REST API request to Dynatrace
Dynatrace Events REST API
Pushes Event for Entities with Tag
DeploymentGroup:Staging
Shifting Right: Monitoring as Code (Monspec): Define Services and their Environments as Code
Shifting Right: Monitoring as Code (Monspec): Define Services and their Environments as Code
smplmonspec.json
Shifting Right: Service metadata parsed via rules
#1: Service renamed based on rules
#2 Our DeploymentGroup tag
#3 Our Deployment Event
Created by Dynatrace Concourse Resource
Shifting Right: Process metadata parsed via rules
DT_CUSTOM_PROP
CF Appname, transformed with naming rule
Shifting Right: Pass Deployment Information to Deployed Entities
Dynatrace Events REST API
Dynatrace Concourse Resource
Pulls Information from Monspec
Issues REST API request to Dynatrace
Shifting Left: Validate Nonfunctional Requirements defined in Monspec!
Shifting Left: Monitoring as Code: Compare Metrics of Services of Different Environments/Builds
Entity:
SampleJSonService
Environment: Staging
Tag: DeploymentGroup:Staging
Environment: Production
Tag: DeploymentGroup:Production
Compare: StagingToProduction
Source: Staging; Compare: Prod
Factor: Staging = 10% Slower
Compare: StagingToProdYesterday
Source: Staging; Compare: Prod
Factor: 10%, Timeshift: 86400s
Compare: StagingToStagingLastHour
Source: Staging; Compare: Staging
Factor: 0; Timeshift: 3600s
Compare: StageToStageYesterday
Source: Staging; Compare: Staging
Factor: 0; Timeshift: 86400s
Metrics: ResponseTime (Avg) Metrics: ResponseTime(Max) < 10s Metrics: FailureRate(Avg)
Metrics: ResponseCount
Factor: 90% Less vs Production
Environment: Staging Environment: Production
Source (Staging): 1.64ms
Compare (Production): 1.41ms
Threshold (+10%): 1.56ms
Status: VIOLATION
Pipeline Run: Validate Build with StagingToProduction
Different Metrics
Different
Comparisons
Shifting Left: Automate the Comparison: Trigger it for each Build and Automate Approval!
Metrics
Comparisons
Entity
Comparisons
Monitoring as Code: The Full Picture
Environments: Tell us how we can detect
these entities in Dynatrace
Entity: What Entity do we want to
validate?
Monitoring as Code: The Full Picture
Comparision: Which
environments do we compare
and how!
Monitoring as Code: The Full Picture
Metrics: Which Metrics, Aggregation, Upper/Lower
Boundaries
More Resources
Sample Pipelines https://github.com/akirasoft/spring-music
Q&A
Transforming How The World Builds Software
© Copyright 2017 Pivotal Software, Inc. All rights Reserved.

More Related Content

What's hot (20)

PDF
InfoSec: Evolve Thyself to Keep Pace in the Age of DevOps
VMware Tanzu
 
PDF
Upgrade your InfoSec, Ops and Dev teams with PCF 1.12
VMware Tanzu
 
PPTX
Troubleshooting App Health and Performance with PCF Metrics 1.2
VMware Tanzu
 
PPTX
Breaking the Monolith
VMware Tanzu
 
PDF
Pivotal Container Service il modo più semplice per gestire Kubernetes in azie...
VMware Tanzu
 
PDF
Accelerate Digital Transformation with Pivotal Cloud Foundry on Azure
VMware Tanzu
 
PDF
Using Pivotal Cloud Foundry with Google’s BigQuery and Cloud Vision API
VMware Tanzu
 
PDF
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
VMware Tanzu
 
PDF
Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)
VMware Tanzu
 
PDF
How to Scale Operations for a Multi-Cloud Platform using PCF
VMware Tanzu
 
PDF
Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota...
VMware Tanzu
 
PDF
Building Cloud Native Architectures with Spring
Kenny Bastani
 
PPTX
Cloud foundry architecture and deep dive
Animesh Singh
 
PPTX
Deep Dive into Pivotal Cloud Foundry 2.0
VMware Tanzu
 
PDF
James Watters Kafka Summit NYC 2019 Keynote
James Watters
 
PPTX
Building REST APIs with Spring Boot and Spring Cloud
Kenny Bastani
 
PPTX
Creating Complete Test Environments in the Cloud: Skytap & Parasoft Webinar
Skytap Cloud
 
PDF
Containing your microservice sprawl
LibbySchulze
 
PDF
Using Google Cloud Services with Spring Boot and Pivotal Cloud Foundry (Pivot...
VMware Tanzu
 
PPTX
DevOps For Everyone: Bringing DevOps Success to Every App and Every Role in y...
Siva Rama Krishna Chunduru
 
InfoSec: Evolve Thyself to Keep Pace in the Age of DevOps
VMware Tanzu
 
Upgrade your InfoSec, Ops and Dev teams with PCF 1.12
VMware Tanzu
 
Troubleshooting App Health and Performance with PCF Metrics 1.2
VMware Tanzu
 
Breaking the Monolith
VMware Tanzu
 
Pivotal Container Service il modo più semplice per gestire Kubernetes in azie...
VMware Tanzu
 
Accelerate Digital Transformation with Pivotal Cloud Foundry on Azure
VMware Tanzu
 
Using Pivotal Cloud Foundry with Google’s BigQuery and Cloud Vision API
VMware Tanzu
 
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
VMware Tanzu
 
Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)
VMware Tanzu
 
How to Scale Operations for a Multi-Cloud Platform using PCF
VMware Tanzu
 
Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota...
VMware Tanzu
 
Building Cloud Native Architectures with Spring
Kenny Bastani
 
Cloud foundry architecture and deep dive
Animesh Singh
 
Deep Dive into Pivotal Cloud Foundry 2.0
VMware Tanzu
 
James Watters Kafka Summit NYC 2019 Keynote
James Watters
 
Building REST APIs with Spring Boot and Spring Cloud
Kenny Bastani
 
Creating Complete Test Environments in the Cloud: Skytap & Parasoft Webinar
Skytap Cloud
 
Containing your microservice sprawl
LibbySchulze
 
Using Google Cloud Services with Spring Boot and Pivotal Cloud Foundry (Pivot...
VMware Tanzu
 
DevOps For Everyone: Bringing DevOps Success to Every App and Every Role in y...
Siva Rama Krishna Chunduru
 

Similar to Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring) (20)

PDF
Cloud-Native Fundamentals: Accelerating Development with Continuous Integration
VMware Tanzu
 
PDF
GCP Meetup #3 - Approaches to Cloud Native Architectures
nine
 
PPTX
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB
 
PDF
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
RapidValue
 
PPT
Living the DevOps Dream: Self-Managed Application Environments-as-a-Service
Victoria Livschitz
 
PDF
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...
FINOS
 
DOC
Qtp interview questions
Ramu Palanki
 
DOC
Qtp interview questions
Ramu Palanki
 
PPTX
Ultimate Guide to Microservice Architecture on Kubernetes
kloia
 
PDF
From Monoliths to Microservices at Realestate.com.au
evanbottcher
 
PPTX
Into the cloud
Tomas Riha
 
PPTX
Keys to continuous testing for faster delivery euro star webinar
TEST Huddle
 
PDF
Principles and Practices in Continuous Deployment at Etsy
Mike Brittain
 
PPTX
Five Ways Automation Has Increased Application Deployment and Changed Culture
XebiaLabs
 
PDF
Computational Patterns of the Cloud - QCon NYC 2014
Ines Sombra
 
PPTX
Engineering Velocity @indeed eng presented on Sept 24 2014 at Beyond Agile
KenAtIndeed
 
PDF
Path to continuous delivery
Anirudh Bhatnagar
 
PDF
Continuous integration and delivery for java based web applications
Sunil Dalal
 
PDF
How to Migrate Applications Off a Mainframe
VMware Tanzu
 
PDF
Shuvam dutta
Shuvam Dutta
 
Cloud-Native Fundamentals: Accelerating Development with Continuous Integration
VMware Tanzu
 
GCP Meetup #3 - Approaches to Cloud Native Architectures
nine
 
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB
 
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
RapidValue
 
Living the DevOps Dream: Self-Managed Application Environments-as-a-Service
Victoria Livschitz
 
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...
FINOS
 
Qtp interview questions
Ramu Palanki
 
Qtp interview questions
Ramu Palanki
 
Ultimate Guide to Microservice Architecture on Kubernetes
kloia
 
From Monoliths to Microservices at Realestate.com.au
evanbottcher
 
Into the cloud
Tomas Riha
 
Keys to continuous testing for faster delivery euro star webinar
TEST Huddle
 
Principles and Practices in Continuous Deployment at Etsy
Mike Brittain
 
Five Ways Automation Has Increased Application Deployment and Changed Culture
XebiaLabs
 
Computational Patterns of the Cloud - QCon NYC 2014
Ines Sombra
 
Engineering Velocity @indeed eng presented on Sept 24 2014 at Beyond Agile
KenAtIndeed
 
Path to continuous delivery
Anirudh Bhatnagar
 
Continuous integration and delivery for java based web applications
Sunil Dalal
 
How to Migrate Applications Off a Mainframe
VMware Tanzu
 
Shuvam dutta
Shuvam Dutta
 
Ad

More from VMware Tanzu (20)

PDF
Spring into AI presented by Dan Vega 5/14
VMware Tanzu
 
PDF
What AI Means For Your Product Strategy And What To Do About It
VMware Tanzu
 
PDF
Make the Right Thing the Obvious Thing at Cardinal Health 2023
VMware Tanzu
 
PPTX
Enhancing DevEx and Simplifying Operations at Scale
VMware Tanzu
 
PDF
Spring Update | July 2023
VMware Tanzu
 
PPTX
Platforms, Platform Engineering, & Platform as a Product
VMware Tanzu
 
PPTX
Building Cloud Ready Apps
VMware Tanzu
 
PDF
Spring Boot 3 And Beyond
VMware Tanzu
 
PDF
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
VMware Tanzu
 
PDF
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
VMware Tanzu
 
PDF
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
VMware Tanzu
 
PPTX
tanzu_developer_connect.pptx
VMware Tanzu
 
PDF
Tanzu Virtual Developer Connect Workshop - French
VMware Tanzu
 
PDF
Tanzu Developer Connect Workshop - English
VMware Tanzu
 
PDF
Virtual Developer Connect Workshop - English
VMware Tanzu
 
PDF
Tanzu Developer Connect - French
VMware Tanzu
 
PDF
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
VMware Tanzu
 
PDF
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
VMware Tanzu
 
PDF
SpringOne Tour: The Influential Software Engineer
VMware Tanzu
 
PDF
SpringOne Tour: Domain-Driven Design: Theory vs Practice
VMware Tanzu
 
Spring into AI presented by Dan Vega 5/14
VMware Tanzu
 
What AI Means For Your Product Strategy And What To Do About It
VMware Tanzu
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
VMware Tanzu
 
Enhancing DevEx and Simplifying Operations at Scale
VMware Tanzu
 
Spring Update | July 2023
VMware Tanzu
 
Platforms, Platform Engineering, & Platform as a Product
VMware Tanzu
 
Building Cloud Ready Apps
VMware Tanzu
 
Spring Boot 3 And Beyond
VMware Tanzu
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
VMware Tanzu
 
tanzu_developer_connect.pptx
VMware Tanzu
 
Tanzu Virtual Developer Connect Workshop - French
VMware Tanzu
 
Tanzu Developer Connect Workshop - English
VMware Tanzu
 
Virtual Developer Connect Workshop - English
VMware Tanzu
 
Tanzu Developer Connect - French
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
VMware Tanzu
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
VMware Tanzu
 
SpringOne Tour: The Influential Software Engineer
VMware Tanzu
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
VMware Tanzu
 
Ad

Recently uploaded (20)

PPTX
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PPTX
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 

Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)

  • 1. © Copyright 2017 Pivotal Software, Inc. All rights Reserved. Version 1.0 Four Steps Toward a Safer Continuous Delivery Practice James Ma Mike Villiger Product Manager Sr. Technical Partner Manager Pivotal Dynatrace Jan 23, 2019
  • 2. Virtuous cycle of automated and iterative progression, feedback, improvement of software Continuous Delivery to the Cloud Monitoring Securing Resiliency Develop Testing Experimenting Compliance Pivotal Cloud Foundry Deploy Operate Planning Test-Driven Dev CI Development Users
  • 3. Developing & Releasing Software Delivery How do we make sure our code works in production- like environments Integration How do we make sure our code works?
  • 4. Integration Is Hard How do we make sure our code works? ● Integrate as early and as often as possible; ideally with each commit to your repository ● Invest in writing automated unit tests and integration tests ● Fix integration errors as soon as they appear Solution: Continuous Integration “Team programming isn’t a divide and conquer problem. It is a divide, conquer and integrate problem” Extreme Programming Explained, Kent Beck
  • 5. Delivery Is Hard How do we make sure our code works in production-like environments? ● Test the code in a production-like environment ● Use automated tests to verify correct business functionality and integration with other services ● Apply additional checks for security, compliance, etc. Solution: Continuous Delivery! “Continuous Delivery doesn't mean every change is deployed to production ASAP. It means every change is proven to be deployable at any time” Carl Cacum[1]
  • 6. Cerner: Modeling Processes into Pipelines https://content.pivotal.io/inspiring-use-cases/concourse-in-the-real-world-a-case-study-in-ci-cd-and-devops-greg-meyer-bryan-kelly-cerner
  • 8. Concourse CI Built on the simple mechanics of resources, tasks, and jobs, Concourse presents a general approach to automation that makes it great for CI/CD
  • 9. Cover w/ Image Concourse CI 1. Configuration as Code 2. Workflow Visualization 3. Containerized Execution 4. Rapid Local iteration 5. Asynchronous workflows powered by resources
  • 10. Cover w/ Image Pipeline as Code ● Pipelines are declared using the simple, composable primitives of: resources, jobs and tasks ● Compelex workflows codified as human- readable YML ● Codified and tracked under Source Control for traceability
  • 11. Cover w/ Image Workflow Visualization ● Green is Good! ● red indicates a problem ● yellow indicates a step is actively executing ● Teams quickly aligned on issues with context
  • 12. Cover w/ Image Containerized Execution Rather than sharing state, every task runs in its own container, controlling its own dependencies. > test.sh
  • 13. Cover w/ Image Rapid Local Iteration The fly execute command executes a task as a one-off build, with your local changes. This will run your code in exactly the same way it would run in your pipeline, without you having to repeatedly push broken commits until it works. When a job fails, you can also use fly execute with -j flag to run with the same inputs as the failed job. You can then replace an input with your local changes with -i to test if your fix is valid.
  • 14. Cover w/ Image Pipelines Powered by Resources Concourse does not have a complex plugin system. Instead, relies on the concept of Resources Concourse Resources track versions of external artifacts used for CI/CD Resources can track any external entity by implementing the Resource API e.g. git repositories, Amazon S3 Buckets, Docker Images, or a custom implementation
  • 16. Concourse Resources 100+ OSS resources to external systems and tools (Community Resources)
  • 17. Demo
  • 18. Dev Perf/Test Ops Biz Shift-Left: Break Pipeline Earlier Path to NoOps: Self-Healing, … Shift-Right: Tags, Deploys, Events Actionable Feedback Loops
  • 19. Semi-continuous-deployment – good but not great Concourse CloudFoundry(Tag=Staging) CloudFoundry Tag=Production) AppTeam Manual RollbackManual ApprovalManual Approval Users Concourse
  • 20. Unbreakable Pipeline Dynatrace Concourse resource Pushes Deployment Info to Dynatrace Entities Validate-via-monspec task Compares Builds and Approves/Rejects Pipeline Dynatrace Concourse resource Pushes Deployment Info to Dynatrace Entities Validate-via-monspec task Validates Production and Approves/Rejects Pipeline Build 6 Build 7 Production Production Auto-Approve! Auto-Reject! Auto-Approve! Auto-Reject!
  • 21. Shifting Right: CloudFoundry manifests used for Staging & Production: Validated in Dynatrace Staging Production and green Dynamically configured in Pipeline
  • 22. Dynatrace Concourse Resource Pulls Information from Monspec Issues REST API request to Dynatrace Dynatrace Events REST API Pushes Event for Entities with Tag DeploymentGroup:Staging Shifting Right: Monitoring as Code (Monspec): Define Services and their Environments as Code
  • 23. Shifting Right: Monitoring as Code (Monspec): Define Services and their Environments as Code smplmonspec.json
  • 24. Shifting Right: Service metadata parsed via rules #1: Service renamed based on rules #2 Our DeploymentGroup tag #3 Our Deployment Event Created by Dynatrace Concourse Resource
  • 25. Shifting Right: Process metadata parsed via rules DT_CUSTOM_PROP CF Appname, transformed with naming rule
  • 26. Shifting Right: Pass Deployment Information to Deployed Entities Dynatrace Events REST API Dynatrace Concourse Resource Pulls Information from Monspec Issues REST API request to Dynatrace
  • 27. Shifting Left: Validate Nonfunctional Requirements defined in Monspec!
  • 28. Shifting Left: Monitoring as Code: Compare Metrics of Services of Different Environments/Builds Entity: SampleJSonService Environment: Staging Tag: DeploymentGroup:Staging Environment: Production Tag: DeploymentGroup:Production Compare: StagingToProduction Source: Staging; Compare: Prod Factor: Staging = 10% Slower Compare: StagingToProdYesterday Source: Staging; Compare: Prod Factor: 10%, Timeshift: 86400s Compare: StagingToStagingLastHour Source: Staging; Compare: Staging Factor: 0; Timeshift: 3600s Compare: StageToStageYesterday Source: Staging; Compare: Staging Factor: 0; Timeshift: 86400s Metrics: ResponseTime (Avg) Metrics: ResponseTime(Max) < 10s Metrics: FailureRate(Avg) Metrics: ResponseCount Factor: 90% Less vs Production Environment: Staging Environment: Production Source (Staging): 1.64ms Compare (Production): 1.41ms Threshold (+10%): 1.56ms Status: VIOLATION Pipeline Run: Validate Build with StagingToProduction Different Metrics Different Comparisons
  • 29. Shifting Left: Automate the Comparison: Trigger it for each Build and Automate Approval! Metrics Comparisons Entity Comparisons
  • 30. Monitoring as Code: The Full Picture Environments: Tell us how we can detect these entities in Dynatrace Entity: What Entity do we want to validate?
  • 31. Monitoring as Code: The Full Picture Comparision: Which environments do we compare and how!
  • 32. Monitoring as Code: The Full Picture Metrics: Which Metrics, Aggregation, Upper/Lower Boundaries
  • 33. More Resources Sample Pipelines https://github.com/akirasoft/spring-music
  • 34. Q&A
  • 35. Transforming How The World Builds Software © Copyright 2017 Pivotal Software, Inc. All rights Reserved.