SlideShare a Scribd company logo
1 of 44
Download to read offline
© Copyright 2017 Pivotal Software, Inc. All rights Reserved. Version 1.0
Cloud-Native Fundamentals: Accelerating
Development with Continuous Integration
Dormain Drewitz James Ma
@dormaindrewitz @PioverPi
May, 2018
Cover w/ Image
Topics
●  Economic Imperative of Automated
Testing
●  What is Cloud Native
●  CI and Microservices
●  CI and DevOps
●  CI and Continuous Delivery
●  CI and Containers
●  Example: Concourse
Shifting left and automating QA are
economic imperatives of cloud-
native software development
@dormaindrewitz
4
From idea to production: 6-9 months
@dormaindrewitz
It’s all about feedback loops
https://youtu.be/ZQGmtuG0Nx8
Tenet: Cost to fix bugs goes up with every handoff
Source: Crossing the Value Stream: Improving Development with Pivotal Cloud Foundry
Dividend Yield: Higher quality code, less process waste
Source: Crossing the Value Stream: Improving Development with Pivotal Cloud Foundry
Liberty Mutual: Crossing the CI/CD Chasm
https://content.pivotal.io/slides/crossing-the-ci-cd-devops-chasm
Total number of builds per month
Total number
of deploys
per month
2015: Intro of CF, Spring
Boot, and microservices
Cover w/ Image
Microservices: Architecture that gives
teams autonomy and independence
DevOps: Culture of shared responsibility for
well-functioning code
Continuous Delivery: Process of
automating the deployment of software at
anytime
Containers: Technology that homogenizes
infrastructure
What is Cloud-Native?
Cover w/ Image
Microservices: Architecture that gives
teams autonomy and independence
●  How do we safely decompose code?
DevOps: Culture of shared responsibility for
well-functioning code
●  Well-functioning code is tested code
Continuous Delivery: Process of
automating the deployment of software at
anytime
●  Is the code ready to deploy at anytime?
Containers: Technology that homogenizes
infrastructure
●  How can we use containers to test?
Cloud-Native: Testing is
key
Microservices
Continuous Integration
When you're strangling out a
microservice, what you’re really
doing is actually figuring out those
high level functional tests that you
need to maintain and make sure that
they're still working.
-  Cassandra Shum, ThoughtWorks
https://softwareengineeringdaily.com/2017/05/22/microservices-transition-with-cassandra-shum/
“As you're strangling [a monolith],
you are writing unit tests as you're
rewriting that code into that
microservice”
-  Cassandra Shum, ThoughtWorks
https://softwareengineeringdaily.com/2017/05/22/microservices-transition-with-cassandra-shum/
Cover w/ Image
Why TDD
Writing a test first helps:
●  Gain the CONFIDENCE you need to
REFACTOR your code to keep it
CLEAN so that you can GO FAST
FOREVER.
●  Tease out and think through your APIs.
●  Clarify exactly what behavior you’re
trying to build.
●  Know when you’re done.
●  Triangulate on simple, maintainable
implementations, by making each test
pass one by one.
●  Write just enough code to make each
test pass.Matthew Kane Parker, Head of Engineering, Pivotal Labs
https://builttoadapt.io/why-tdd-489fdcdda05e
But What About Microservices Complexity?
What happens when I have to test LOTS of microservices… together?
https://www.slideshare.net/apigee/is-microservices-soa-done-right
Rather than a myriad of
checkboxes, pipelines are defined
as a single declarative config file,
composing together just three core
concepts.
As your project grows, your
pipeline will grow with it, and
remain understandable.
Simple and
Scalable
DevOps
Continuous Integration
Culture of shared responsibility for well-functioning
code
https://springoneplatform.io/sessions/take-devops-to-11-and-sprinkle-cloud-on-it-with-rainbows-and-unicorns
It’s a lot of work, but it pays off
2017 State of Devops Report
By Puppet and DORA [1]
“High” IT performers “Low” IT Performers
Deployment
frequency
On-demand
1 week - 1 month
(quarterly or worse)
Lead time for
changes
< 1 hr 1 week - 1 month
Mean time to
recovery
< 1 hr 1 week - 1 month
Change Failure
Rate
0 - 15% 31 - 45%
[1] https://puppet.com/resources/whitepaper/state-of-devops-report
CI: Top Technology/Automation to Scale DevOps
Initiatives
Source: Gartner, “Build Continuous Quality Into Your DevOps Toolchains”, 13 March 2018, Gartner Figure 4
Embrace (and invest) in Test and Release Automation
@dormaindrewitz
https://content.pivotal.io/springone-platform-2017/take-devops-to-11-and-sprinkle-cloud-on-it-with-rainbows-and-unicorns-matt-curry
The point of tests is to find failures.
And then fix them.
Cover w/ Image
Making Defects Visible
●  green means good
●  red indicates a problem
●  yellow indicates a step is actively
executing
●  Teams quickly aligned on issues with
context
Continuous Delivery
Continuous Integration
Enterprises are
deploying faster
Scotiabank deploys over 3,000 times a month in 10
months after adopting PCF
Garmin deploys to production 1,100 times per months
The Home Depot ships to production 1,500 times a
month, and 17,000 times a month to all environments.
Liberty Mutual deploys 1,000 times a day to production
on 2,500 daily builds
But what is their secret?
The Deployment Equation
Micro-
services
Automated
Pipelines
Self-service
Infrastructure
Deploys
The Deployment Equation
Micro-
services
Automated
Pipelines
Self-service
Infrastructure
Deploys
Test-Driven Development
-  Increase test coverage
-  Co-locate cognitive
work
-  Reduce hand-off waste
Continuous Integration
-  Automate
undifferentiated heavy
lifting
-  Code always ready for
deployment to
production
Visibility
-  Team alignment
-  Minimize interpretation
overhead
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
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
“The cool thing you can do inside of Concourse is
that all these ISO process pieces and artifacts
can just become a Resource.”
-  Greg Meyer, Cerner Corp.
Containers
Continuous Integration
Rather than sharing state, every
task runs in its own container,
controlling its own dependencies.
Dependability
Through
Containerization
> test.sh
Rather than sharing state, every
task runs in its own container,
controlling its own dependencies.
Maintaining the testing
infrastructure itself shouldn’t be
your job.
Concourse controls the inputs to
your pipeline so that the results are
repeatable every time.
Rather than sharing state, every
task runs in its own container,
controlling its own dependencies.
Dependable
Results
Concourse
One option for Continuous Integration
Pipelines are defined as a single
declarative config file composing
together just three core concepts.
Resources
●  Track versions of
external artifacts used for
CI / CD
●  Any entity that can be
checked for new versions,
pulled down at a specific
version, and/or pushed to
●  Can by one of many types
of built in resources; git
repositories, Amazon S3
Buckets, Docker Images,
or a custon
implementation
Three Core Concepts
Tasks
●  Allow the execution of
arbitrary scripts against a
set of resources.
●  Can output directories
representing a new
resource version.
●  Run in a container using a
configurable container
image.
Jobs
●  Represent the plan for a
build step within a
pipeline.
●  Can contain operations
against resources, or
tasks as steps.
●  Builds of a job’s plan can
be triggered manually or
trigger on new versions of
resource.
Fly your friendly Concourse pipeline
Flexible integration
of resources
Simple modeling of
components
Pipeline status is
immediately visible
Build components are
expressed as code
Examples
Transforming How The World Builds Software
© Copyright 2017 Pivotal Software, Inc. All rights Reserved.
CN: Concepts, Goals, Challenges, Advantages
Microservices
(Architecture)
DevOps
(Culture)
Continuous Delivery
(Process)
Containers
(Technology)
Decompose safely
Automate
everywhere
Deployable always
Isolate workloads
Maintain
understandability
Embrace
unpredictability
Dependency
flexibility
Maintain portability
Fan-Out/Fan-In
Usable Interface
Simple extensibility
Cloud-neutral

More Related Content

What's hot

Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
DevOps.com
 
Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)
Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)
Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)
VMware Tanzu
 
Pivotal Container Service : la nuova soluzione per gestire Kubernetes in azienda
Pivotal Container Service : la nuova soluzione per gestire Kubernetes in aziendaPivotal Container Service : la nuova soluzione per gestire Kubernetes in azienda
Pivotal Container Service : la nuova soluzione per gestire Kubernetes in azienda
VMware Tanzu
 

What's hot (20)

Fabio rapposelli pks-vmug
Fabio rapposelli   pks-vmugFabio rapposelli   pks-vmug
Fabio rapposelli pks-vmug
 
Pivotal Cloud Foundry 2.5: A First Look
Pivotal Cloud Foundry 2.5: A First LookPivotal Cloud Foundry 2.5: A First Look
Pivotal Cloud Foundry 2.5: A First Look
 
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
 
Pivotal Container Service Overview
Pivotal Container Service Overview Pivotal Container Service Overview
Pivotal Container Service Overview
 
NGINX Controller: faster deployments, fewer headaches
NGINX Controller: faster deployments, fewer headachesNGINX Controller: faster deployments, fewer headaches
NGINX Controller: faster deployments, fewer headaches
 
CNCF Live Webinar: Kubernetes 1.23
CNCF Live Webinar: Kubernetes 1.23CNCF Live Webinar: Kubernetes 1.23
CNCF Live Webinar: Kubernetes 1.23
 
Journey Through Four Stages of Kubernetes Deployment Maturity
Journey Through Four Stages of Kubernetes Deployment MaturityJourney Through Four Stages of Kubernetes Deployment Maturity
Journey Through Four Stages of Kubernetes Deployment Maturity
 
Microservices Development Process at Predix.io
Microservices Development Process at Predix.ioMicroservices Development Process at Predix.io
Microservices Development Process at Predix.io
 
Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)
Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)
Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)
 
Modern Application Development v1-0
Modern Application Development  v1-0Modern Application Development  v1-0
Modern Application Development v1-0
 
Architecting for Continuous Delivery
Architecting for Continuous DeliveryArchitecting for Continuous Delivery
Architecting for Continuous Delivery
 
Anthos Application Modernization Platform
Anthos Application Modernization PlatformAnthos Application Modernization Platform
Anthos Application Modernization Platform
 
Tackle Containerization Advisor (TCA) for Legacy Applications
Tackle Containerization Advisor (TCA) for Legacy ApplicationsTackle Containerization Advisor (TCA) for Legacy Applications
Tackle Containerization Advisor (TCA) for Legacy Applications
 
GDG Cloud Southlake #8 Steve Cravens: Infrastructure as-Code (IaC) in 2022: ...
GDG Cloud Southlake #8  Steve Cravens: Infrastructure as-Code (IaC) in 2022: ...GDG Cloud Southlake #8  Steve Cravens: Infrastructure as-Code (IaC) in 2022: ...
GDG Cloud Southlake #8 Steve Cravens: Infrastructure as-Code (IaC) in 2022: ...
 
OpenShift Overview - Red Hat Open House 2017
OpenShift Overview - Red Hat Open House 2017OpenShift Overview - Red Hat Open House 2017
OpenShift Overview - Red Hat Open House 2017
 
Pivotal Container Service : la nuova soluzione per gestire Kubernetes in azienda
Pivotal Container Service : la nuova soluzione per gestire Kubernetes in aziendaPivotal Container Service : la nuova soluzione per gestire Kubernetes in azienda
Pivotal Container Service : la nuova soluzione per gestire Kubernetes in azienda
 
Kubernetes 1.22
Kubernetes 1.22Kubernetes 1.22
Kubernetes 1.22
 
Making your app soar without a container manifest
Making your app soar without a container manifestMaking your app soar without a container manifest
Making your app soar without a container manifest
 
Yannis Zarkadas. Enterprise data science workflows on kubeflow
Yannis Zarkadas. Enterprise data science workflows on kubeflowYannis Zarkadas. Enterprise data science workflows on kubeflow
Yannis Zarkadas. Enterprise data science workflows on kubeflow
 
Pivotal Cloud Foundry 2.0: First Look
Pivotal Cloud Foundry 2.0: First LookPivotal Cloud Foundry 2.0: First Look
Pivotal Cloud Foundry 2.0: First Look
 

Similar to Cloud-Native Fundamentals: Accelerating Development with Continuous Integration

From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]
Dynatrace
 
How to Migrate Applications Off a Mainframe
How to Migrate Applications Off a MainframeHow to Migrate Applications Off a Mainframe
How to Migrate Applications Off a Mainframe
VMware Tanzu
 

Similar to Cloud-Native Fundamentals: Accelerating Development with Continuous Integration (20)

Path to continuous delivery
Path to continuous deliveryPath to continuous delivery
Path to continuous delivery
 
Continuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with Concourse
Continuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with ConcourseContinuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with Concourse
Continuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with Concourse
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Continuous Deployment to the Cloud - Topher Bullock
Continuous Deployment to the Cloud - Topher BullockContinuous Deployment to the Cloud - Topher Bullock
Continuous Deployment to the Cloud - Topher Bullock
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]
 
Secrets of Successful Cloud Foundry Adopters
Secrets of Successful Cloud Foundry AdoptersSecrets of Successful Cloud Foundry Adopters
Secrets of Successful Cloud Foundry Adopters
 
Delivery Pipelines as a First Class Citizen @deliverAgile2019
Delivery Pipelines as a First Class Citizen @deliverAgile2019Delivery Pipelines as a First Class Citizen @deliverAgile2019
Delivery Pipelines as a First Class Citizen @deliverAgile2019
 
Ship code like a keptn
Ship code like a keptnShip code like a keptn
Ship code like a keptn
 
The Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD PipelineThe Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD Pipeline
 
How Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityHow Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivity
 
Cloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CDCloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CD
 
DevOps demystified
DevOps demystifiedDevOps demystified
DevOps demystified
 
CI/CD on Google Cloud Platform
CI/CD on Google Cloud PlatformCI/CD on Google Cloud Platform
CI/CD on Google Cloud Platform
 
MuleSoft Surat Virtual Meetup#15 - Caching Scope, Caching Strategy and Jenkin...
MuleSoft Surat Virtual Meetup#15 - Caching Scope, Caching Strategy and Jenkin...MuleSoft Surat Virtual Meetup#15 - Caching Scope, Caching Strategy and Jenkin...
MuleSoft Surat Virtual Meetup#15 - Caching Scope, Caching Strategy and Jenkin...
 
Jesse Pulfer Pivotal Overview June 2018
Jesse Pulfer Pivotal Overview June 2018Jesse Pulfer Pivotal Overview June 2018
Jesse Pulfer Pivotal Overview June 2018
 
Deploying more technology to shift from agility to anti-fragility
Deploying more technology to shift from agility to anti-fragilityDeploying more technology to shift from agility to anti-fragility
Deploying more technology to shift from agility to anti-fragility
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
 
Containers: DevOp Enablers of Technical Solutions
Containers: DevOp Enablers of Technical SolutionsContainers: DevOp Enablers of Technical Solutions
Containers: DevOp Enablers of Technical Solutions
 
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueDevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
 
How to Migrate Applications Off a Mainframe
How to Migrate Applications Off a MainframeHow to Migrate Applications Off a Mainframe
How to Migrate Applications Off a Mainframe
 

More from VMware Tanzu

More from VMware Tanzu (20)

What AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About It
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023
 
Enhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at Scale
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
 
Platforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a Product
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready Apps
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs Practice
 
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense SolutionsSpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 

Cloud-Native Fundamentals: Accelerating Development with Continuous Integration

  • 1. © Copyright 2017 Pivotal Software, Inc. All rights Reserved. Version 1.0 Cloud-Native Fundamentals: Accelerating Development with Continuous Integration Dormain Drewitz James Ma @dormaindrewitz @PioverPi May, 2018
  • 2. Cover w/ Image Topics ●  Economic Imperative of Automated Testing ●  What is Cloud Native ●  CI and Microservices ●  CI and DevOps ●  CI and Continuous Delivery ●  CI and Containers ●  Example: Concourse
  • 3. Shifting left and automating QA are economic imperatives of cloud- native software development @dormaindrewitz
  • 4. 4 From idea to production: 6-9 months @dormaindrewitz
  • 5. It’s all about feedback loops https://youtu.be/ZQGmtuG0Nx8
  • 6. Tenet: Cost to fix bugs goes up with every handoff Source: Crossing the Value Stream: Improving Development with Pivotal Cloud Foundry
  • 7. Dividend Yield: Higher quality code, less process waste Source: Crossing the Value Stream: Improving Development with Pivotal Cloud Foundry
  • 8. Liberty Mutual: Crossing the CI/CD Chasm https://content.pivotal.io/slides/crossing-the-ci-cd-devops-chasm Total number of builds per month Total number of deploys per month 2015: Intro of CF, Spring Boot, and microservices
  • 9. Cover w/ Image Microservices: Architecture that gives teams autonomy and independence DevOps: Culture of shared responsibility for well-functioning code Continuous Delivery: Process of automating the deployment of software at anytime Containers: Technology that homogenizes infrastructure What is Cloud-Native?
  • 10. Cover w/ Image Microservices: Architecture that gives teams autonomy and independence ●  How do we safely decompose code? DevOps: Culture of shared responsibility for well-functioning code ●  Well-functioning code is tested code Continuous Delivery: Process of automating the deployment of software at anytime ●  Is the code ready to deploy at anytime? Containers: Technology that homogenizes infrastructure ●  How can we use containers to test? Cloud-Native: Testing is key
  • 12. When you're strangling out a microservice, what you’re really doing is actually figuring out those high level functional tests that you need to maintain and make sure that they're still working. -  Cassandra Shum, ThoughtWorks https://softwareengineeringdaily.com/2017/05/22/microservices-transition-with-cassandra-shum/
  • 13. “As you're strangling [a monolith], you are writing unit tests as you're rewriting that code into that microservice” -  Cassandra Shum, ThoughtWorks https://softwareengineeringdaily.com/2017/05/22/microservices-transition-with-cassandra-shum/
  • 14. Cover w/ Image Why TDD Writing a test first helps: ●  Gain the CONFIDENCE you need to REFACTOR your code to keep it CLEAN so that you can GO FAST FOREVER. ●  Tease out and think through your APIs. ●  Clarify exactly what behavior you’re trying to build. ●  Know when you’re done. ●  Triangulate on simple, maintainable implementations, by making each test pass one by one. ●  Write just enough code to make each test pass.Matthew Kane Parker, Head of Engineering, Pivotal Labs https://builttoadapt.io/why-tdd-489fdcdda05e
  • 15. But What About Microservices Complexity? What happens when I have to test LOTS of microservices… together? https://www.slideshare.net/apigee/is-microservices-soa-done-right
  • 16. Rather than a myriad of checkboxes, pipelines are defined as a single declarative config file, composing together just three core concepts. As your project grows, your pipeline will grow with it, and remain understandable. Simple and Scalable
  • 18. Culture of shared responsibility for well-functioning code https://springoneplatform.io/sessions/take-devops-to-11-and-sprinkle-cloud-on-it-with-rainbows-and-unicorns
  • 19. It’s a lot of work, but it pays off 2017 State of Devops Report By Puppet and DORA [1] “High” IT performers “Low” IT Performers Deployment frequency On-demand 1 week - 1 month (quarterly or worse) Lead time for changes < 1 hr 1 week - 1 month Mean time to recovery < 1 hr 1 week - 1 month Change Failure Rate 0 - 15% 31 - 45% [1] https://puppet.com/resources/whitepaper/state-of-devops-report
  • 20. CI: Top Technology/Automation to Scale DevOps Initiatives Source: Gartner, “Build Continuous Quality Into Your DevOps Toolchains”, 13 March 2018, Gartner Figure 4
  • 21. Embrace (and invest) in Test and Release Automation @dormaindrewitz https://content.pivotal.io/springone-platform-2017/take-devops-to-11-and-sprinkle-cloud-on-it-with-rainbows-and-unicorns-matt-curry
  • 22. The point of tests is to find failures. And then fix them.
  • 23. Cover w/ Image Making Defects Visible ●  green means good ●  red indicates a problem ●  yellow indicates a step is actively executing ●  Teams quickly aligned on issues with context
  • 25. Enterprises are deploying faster Scotiabank deploys over 3,000 times a month in 10 months after adopting PCF Garmin deploys to production 1,100 times per months The Home Depot ships to production 1,500 times a month, and 17,000 times a month to all environments. Liberty Mutual deploys 1,000 times a day to production on 2,500 daily builds But what is their secret?
  • 27. The Deployment Equation Micro- services Automated Pipelines Self-service Infrastructure Deploys Test-Driven Development -  Increase test coverage -  Co-locate cognitive work -  Reduce hand-off waste Continuous Integration -  Automate undifferentiated heavy lifting -  Code always ready for deployment to production Visibility -  Team alignment -  Minimize interpretation overhead
  • 28. 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]
  • 29. 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
  • 30. 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 “The cool thing you can do inside of Concourse is that all these ISO process pieces and artifacts can just become a Resource.” -  Greg Meyer, Cerner Corp.
  • 32. Rather than sharing state, every task runs in its own container, controlling its own dependencies.
  • 33. Dependability Through Containerization > test.sh Rather than sharing state, every task runs in its own container, controlling its own dependencies.
  • 34. Maintaining the testing infrastructure itself shouldn’t be your job.
  • 35. Concourse controls the inputs to your pipeline so that the results are repeatable every time. Rather than sharing state, every task runs in its own container, controlling its own dependencies. Dependable Results
  • 36. Concourse One option for Continuous Integration
  • 37. Pipelines are defined as a single declarative config file composing together just three core concepts.
  • 38. Resources ●  Track versions of external artifacts used for CI / CD ●  Any entity that can be checked for new versions, pulled down at a specific version, and/or pushed to ●  Can by one of many types of built in resources; git repositories, Amazon S3 Buckets, Docker Images, or a custon implementation Three Core Concepts Tasks ●  Allow the execution of arbitrary scripts against a set of resources. ●  Can output directories representing a new resource version. ●  Run in a container using a configurable container image. Jobs ●  Represent the plan for a build step within a pipeline. ●  Can contain operations against resources, or tasks as steps. ●  Builds of a job’s plan can be triggered manually or trigger on new versions of resource.
  • 39. Fly your friendly Concourse pipeline Flexible integration of resources Simple modeling of components Pipeline status is immediately visible Build components are expressed as code
  • 41.
  • 42.
  • 43. Transforming How The World Builds Software © Copyright 2017 Pivotal Software, Inc. All rights Reserved.
  • 44. CN: Concepts, Goals, Challenges, Advantages Microservices (Architecture) DevOps (Culture) Continuous Delivery (Process) Containers (Technology) Decompose safely Automate everywhere Deployable always Isolate workloads Maintain understandability Embrace unpredictability Dependency flexibility Maintain portability Fan-Out/Fan-In Usable Interface Simple extensibility Cloud-neutral