SlideShare uma empresa Scribd logo
1 de 53
Baixar para ler offline
© Copyright 2019 Pivotal Software, Inc. All rights Reserved.
Cameron Stewart, Partner Platform Architect
SpringOne Tour Burlington
July 26th
Concourse, Spinnaker, CF, Oh My!
Automate all the things.
Who knows what Toil is?
Who likes Toil?
Cover w/ Image
Toil
Toil Defined
“So what is toil? Toil is the kind of work
tied to running a production service that
tends to be manual, repetitive,
automatable, tactical, devoid of
enduring value, and that scales linearly
as a service grows.”
Chapter 5 - Eliminating Toil
“... delivering useful software shapes our world…
...[software] is only useful when we deliver it.”
- you’ll see
Getting code into Production is the
most important thing we can do
Everything as Code
➔ You need automation; and you need to be able to manage your infrastructure programmatically -
at every layer
➔ As delivery velocity increases, we need to adopt the practices to deploy applications to other
areas
➔ Infrastructure as Code - writing code that provisions and manages our infrastructure in a
predictable way
➔ Delivery pipelines as first class citizens
“We recognize that delivering useful software shapes our world. We recognize that code is the best way to specify precise
action. We recognize that code is only useful when we deliver it.
Delivery is not a detail, it is our job. Now is the time to apply our core skills to our own work. Now is the time to engineer
our delivery. We divide our work between ourselves and computers: humans for decisions, and automation for tasks.”
Continuous Delivery
“Continuous Delivery is about shipping small
batches of software to production constantly,
through automation. Continuous delivery makes the
act of releasing dull and reliable, so organizations
can deliver frequently, at less risk, and get feedback
faster from end users.”
Continuous Delivery Pipeline
Getting code into is the most
important thing we can do
Continuous Delivery Pipeline
Automated builds
Unit tests
Compliance checks
Service tickets
Performance tests
Security validation
Blue/Green deploys
Canary analysis
A/B testing
Monitoring
Security scans
Chaos engineering
Test-driven dev
Iterative coding/fixing
Frequent integration
Commit code change
Store binaries &
build artifacts
Continuous Delivery Pipeline
Automated builds
Unit tests
Blue/Green deploys
Canary analysis
A/B testing
Monitoring
Security scans
Chaos engineering
Test-driven dev
Iterative coding/fixing
Frequent integration
Commit code change
Store binaries &
build artifacts
Continuous Integration
Continuous
Delivery
Compliance checks
Service tickets
Performance tests
Security validation
Continuous Delivery Pipeline
Automated builds
Unit tests
Blue/Green deploys
Canary analysis
A/B testing
Monitoring
Security scans
Chaos engineering
Test-driven dev
Iterative coding/fixing
Frequent integration
Commit code change
Store binaries &
build artifacts
Continuous Integration
Continuous
Delivery
Compliance checks
Service tickets
Performance tests
Security validation
Hello,
Concourse
The Concourse Pipeline
Flexible integration
of resources
Simple modeling of
components
Pipeline status is
immediately visible
Build components are
expressed as code
Concourse Concepts: Simple Primitives
Resources
Detecting, fetching, creation of
externally versioned “things”
Jobs
Compose resources and tasks
together to do something (run tests,
ship, etc).
Tasks
Run a script in a container with its
dependent inputs
# pipeline.yml
resources:
- name: source-code
type: git
source:
uri: https://github.com/...
branch: master
- name: source-code
type: git
source:
uri: https://github.com/...
branch: master
# pipeline.yml
jobs:
- name: unit
plan:
- get: source-code
trigger: true
- task: unit-tests
file: source-code/ci/unit.yml
# unit.yml
platform: linux
image_resource:
type: docker-image
source:
repository: java
tag: '8'
inputs:
- name: source-code
run:
path: source-code/mvnw
args: [ clean, test ]
Concourse Pipeline Visualization
Platform Automation
Automate the installation and updates
of PCF to stay stable and secure always
● Concourse is an essential part of
your upgrade path, enabling you
to automate small, defined actions
for interacting with OpsManager.
● The resulting perpetual upgrade
machine helps you to maintain
secure, stable PCF instantiations
all the time.
● It also ensures developers always
have access to the latest features
and capabilities.
Application CI/CD
Automate the CI/CD pipeline to deliver
apps/services to PCF fast and safely
● Concourse presents a general
approach to automation that
makes it ideal for CI/CD
workflows.
● Think Concourse for automating
continuous integration (CI) and
production deployment readiness
(e.g., automate change tickets,
compliance, security).
● Integrate with CD solutions like
Spinnaker for continuous
delivery/deployment
ApplicationPlatformConcourse
for PCF Use
Cases
Automate Modern Cloud Delivery
Embedded OS
(Windows & Linux)
NSX-T
CPI (15 methods)
v1
v2
v3
...
CVEs
Product Updates
Java | .NET | NodeJS
Pivotal Application
Service (PAS)
Application Code & Frameworks
Buildpacks | Spring Boot | Spring Cloud |
Steeltoe
Elastic | Packaged Software | Spark
Pivotal Container
Service (PKS)
YOU build the containerWE build the container
vSphere
Azure &
Azure StackGoogle CloudAWSOpenstack
Pivotal
Network
“3Rs”
Github
Concourse
Concourse
Pivotal Services
Marketplace
Pivotal and
Partner Products
Continuous
delivery
Public Cloud
Services
Customer
Managed
Services
OpenServiceBrokerAPI
Repair
— CVEs
Repave Rotate
— Credhub
What’s good
for your apps,
is good for
your platform.
“
”
Continuously Delivering Your Platform
Cloud Pipelines
Cover w/ Image
(Spring) Cloud Pipelines
➔ Creation of a common deployment pipelines in
Concourse or Jenkins
➔ Propagation of good testing and deployment
practices
➔ Reducing the time required to create pipelines
➔ Project crawler
➔ Implements tests for API contracts using Spring
Cloud Contract
➔ Integrates with flyway Database schema
migrations
Continuous Delivery Pipeline
Automated builds
Unit tests
Blue/Green deploys
Canary analysis
A/B testing
Monitoring
Security scans
Chaos engineering
Test-driven dev
Iterative coding/fixing
Frequent integration
Commit code change
Store binaries &
build artifacts
Continuous Integration
Continuous
Delivery
Compliance checks
Service tickets
Performance tests
Security validation
G’day,
Spinnaker
Spinnaker Is an OSS Multi-Cloud Delivery Platform
Spinnaker Community
“...the passionate open source
community dedicated to making
deployment pain go away.”
https://www.spinnaker.io/publications/ebook/
Sophisticated Deployment Strategies
https://www.spinnaker.io/concepts/
Application Centric Control Plane
=
Multi-foundation View
Spinnaker microservices
https://www.spinnaker.io/reference/architecture/
Spinnaker
Ecosystem
Cloud Providers
App Engine
Amazon Web Services
Azure
Cloud Foundry
DC/OS
Google Compute Engine
Kubernetes
Openstack
Oracle
CI Systems
Jenkins
Travis CI
Wercker
Concourse
Artifact Support
Docker
Google Cloud Storage
GitHub
HTTP
S3
Artifactory
Monitoring
Datadog
Prometheus
Stackdriver
Atlas
SignalFx
(10+ more on
roadmap)
Notifications
Email
HipChat
Slack
SMS via Twilio
Hello.
G’day.
Stateless: Rather than sharing state, every task
runs in its own container, controlling its own
dependencies.
Ephemeral: Clean and consistent builds.
Minimizes test infrastructure to maintain and gives
you flexibility to scale with the cloud.
Continuous integration: Track versions of
external artifacts used for CI (e.g., Git, S3, docker
image). Build components expressed as code with
simple modeling of modular components.
Flexible workflow automation: Extensible for
compliance or other customized tasks in a
pipeline.
Stateful: Maintains awareness of the topography
(multiple clouds, PCF Foundations, etc.) and
keeps record of all pipeline activities for
compliance and audit.
Application inventory: Maintains inventory of
deployed applications, supporting activities like
rollback, canary analysis and identifying security
vulnerabilities.
Sophisticated deployment scenarios: Canary
deploys, red/black or blue/green deploys,
progressive deployments (e.g., by time zone),
multi-cloud/PCF Foundation deployments.
How Does Spinnaker Relate to Concourse?
Interactive Continuous Delivery Pipeline
CI
Production
Arbitrary Jobs
Spinnaker +
Concourse
Together
Bidirectional Integration
● Using Concourse as a trigger
○ Trigger a Spinnaker pipeline stage
○ Pass Concourse trigger info on to
subsequent stages
● Including Concourse as part of a
Spinnaker pipeline
○ Create a stage that watches
Concourse jobs
○ Concourse tells Spinnaker what jobs
to watch
○ When Concourse jobs complete,
Spinnaker stage completes
Concourse Trigger
Trigger Configuration
Using Concourse trigger info in subsequent stages
Using Concourse trigger info in subsequent stages
Ex: use the version to identify
the application binary in a
Deploy stage
1. Concourse job runs
Any Concourse out resource
metadata will be available to a
running Spinnaker pipeline.
2. Spinnaker pipeline is triggered
Concourse Stage
Stage Configuration
The Concourse resource uses
these to identify whether a
running stage is a match against
the job it is attached to.
1. Stage starts
2. Concourse check resource identifies the stage.
3. Concourse tells Spinnaker which job to watch.
4. Concourse job completes.
5. Spinnaker sees the Concourse job is finished,
and completes the stage.
Virtuous cycle of
automated and iterative
progression, feedback,
and 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
Who likes Toil?
Who wants to eliminate Toil?
Transforming how the world builds software
© Copyright 2019 Pivotal Software, Inc. All rights Reserved.

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Best practices in release management
Best  practices in release managementBest  practices in release management
Best practices in release management
 
Mulesoft corporate template final
Mulesoft corporate template  final Mulesoft corporate template  final
Mulesoft corporate template final
 
Automate mule deployments with github actions and travis ci
Automate mule deployments with github actions  and  travis ciAutomate mule deployments with github actions  and  travis ci
Automate mule deployments with github actions and travis ci
 
Introduction to Foreman Maintain
Introduction to Foreman MaintainIntroduction to Foreman Maintain
Introduction to Foreman Maintain
 
DevOps Architecture Design
DevOps Architecture DesignDevOps Architecture Design
DevOps Architecture Design
 
Implementing security and availability requirements for banking API system us...
Implementing security and availability requirements for banking API system us...Implementing security and availability requirements for banking API system us...
Implementing security and availability requirements for banking API system us...
 
INTERFACE, by apidays - The future of API Management in a hybrid, multi-clou...
INTERFACE, by apidays  - The future of API Management in a hybrid, multi-clou...INTERFACE, by apidays  - The future of API Management in a hybrid, multi-clou...
INTERFACE, by apidays - The future of API Management in a hybrid, multi-clou...
 
CICD Mule
CICD Mule CICD Mule
CICD Mule
 
gRPC with java
gRPC with javagRPC with java
gRPC with java
 
Twitter Finagle
Twitter FinagleTwitter Finagle
Twitter Finagle
 
The DevOps Journey
The DevOps JourneyThe DevOps Journey
The DevOps Journey
 
Circuit breaker pattern
Circuit breaker patternCircuit breaker pattern
Circuit breaker pattern
 
Connect systems without code using MuleSoft Composer - General.pptx
Connect systems without code using MuleSoft Composer - General.pptxConnect systems without code using MuleSoft Composer - General.pptx
Connect systems without code using MuleSoft Composer - General.pptx
 
Ingress? That’s So 2020! Introducing the Kubernetes Gateway API
Ingress? That’s So 2020! Introducing the Kubernetes Gateway APIIngress? That’s So 2020! Introducing the Kubernetes Gateway API
Ingress? That’s So 2020! Introducing the Kubernetes Gateway API
 
Performance tuning in mule
Performance tuning in mulePerformance tuning in mule
Performance tuning in mule
 
Test Orchestration in DevOps
Test Orchestration in DevOps Test Orchestration in DevOps
Test Orchestration in DevOps
 
Chaos Engineering on Cloud Foundry
Chaos Engineering on Cloud FoundryChaos Engineering on Cloud Foundry
Chaos Engineering on Cloud Foundry
 
Salesforce CI/CD - A strategy for success
Salesforce CI/CD - A strategy for successSalesforce CI/CD - A strategy for success
Salesforce CI/CD - A strategy for success
 
Ebonics (1)
Ebonics (1)Ebonics (1)
Ebonics (1)
 
Introduction to MuleSoft
Introduction to MuleSoftIntroduction to MuleSoft
Introduction to MuleSoft
 

Semelhante a Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment Workflows - Cameron Stewart

Semelhante a Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment Workflows - Cameron Stewart (20)

Continuous Delivery to the Cloud: Automate Thru Production with CI + Spinnaker
Continuous Delivery to the Cloud: Automate Thru Production with CI + SpinnakerContinuous Delivery to the Cloud: Automate Thru Production with CI + Spinnaker
Continuous Delivery to the Cloud: Automate Thru Production with CI + Spinnaker
 
Modern DevOps with Spinnaker/Concourse and Micrometer
Modern DevOps with Spinnaker/Concourse and MicrometerModern DevOps with Spinnaker/Concourse and Micrometer
Modern DevOps with Spinnaker/Concourse and Micrometer
 
Pivotal CloudFoundry on Google cloud platform
Pivotal CloudFoundry on Google cloud platformPivotal CloudFoundry on Google cloud platform
Pivotal CloudFoundry on Google cloud platform
 
GCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native ArchitecturesGCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native Architectures
 
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - LondonPCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
 
Cloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct servicesCloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct services
 
Confluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with SynthesisConfluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with Synthesis
 
What is Spinnaker? Spinnaker tutorial
What is Spinnaker? Spinnaker tutorialWhat is Spinnaker? Spinnaker tutorial
What is Spinnaker? Spinnaker tutorial
 
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
 
Spring and Pivotal Application Service - SpringOne Tour Dallas
Spring and Pivotal Application Service - SpringOne Tour DallasSpring and Pivotal Application Service - SpringOne Tour Dallas
Spring and Pivotal Application Service - SpringOne Tour Dallas
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018
 
Containers 101 - CloudCamp London
Containers 101 - CloudCamp LondonContainers 101 - CloudCamp London
Containers 101 - CloudCamp London
 
Slide DevSecOps Microservices
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices
 
La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)
La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)
La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)
 
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
 
Pivotal Container Service (PKS) at SF Cloud Foundry Meetup
Pivotal Container Service (PKS) at SF Cloud Foundry MeetupPivotal Container Service (PKS) at SF Cloud Foundry Meetup
Pivotal Container Service (PKS) at SF Cloud Foundry Meetup
 
Facilitez votre transition DevOps grâce à l'automatisation de votre infras...
 Facilitez votre transition DevOps grâce à l'automatisation de votre infras... Facilitez votre transition DevOps grâce à l'automatisation de votre infras...
Facilitez votre transition DevOps grâce à l'automatisation de votre infras...
 
Continuous Everything in a Multi-cloud and Multi-platform Environment
Continuous Everything in a Multi-cloud and Multi-platform EnvironmentContinuous Everything in a Multi-cloud and Multi-platform Environment
Continuous Everything in a Multi-cloud and Multi-platform Environment
 
Continuous Delivery with a PaaS Application
Continuous Delivery with a PaaS ApplicationContinuous Delivery with a PaaS Application
Continuous Delivery with a PaaS Application
 
Scalable full-stack development at the edge - Pascal Wolkotte - Codemotion Am...
Scalable full-stack development at the edge - Pascal Wolkotte - Codemotion Am...Scalable full-stack development at the edge - Pascal Wolkotte - Codemotion Am...
Scalable full-stack development at the edge - Pascal Wolkotte - Codemotion Am...
 

Mais de VMware Tanzu

Mais de 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
 

Último

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Último (20)

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodology
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 

Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment Workflows - Cameron Stewart

  • 1. © Copyright 2019 Pivotal Software, Inc. All rights Reserved. Cameron Stewart, Partner Platform Architect SpringOne Tour Burlington July 26th Concourse, Spinnaker, CF, Oh My! Automate all the things.
  • 2. Who knows what Toil is?
  • 4. Cover w/ Image Toil Toil Defined “So what is toil? Toil is the kind of work tied to running a production service that tends to be manual, repetitive, automatable, tactical, devoid of enduring value, and that scales linearly as a service grows.” Chapter 5 - Eliminating Toil
  • 5. “... delivering useful software shapes our world… ...[software] is only useful when we deliver it.” - you’ll see
  • 6. Getting code into Production is the most important thing we can do
  • 7. Everything as Code ➔ You need automation; and you need to be able to manage your infrastructure programmatically - at every layer ➔ As delivery velocity increases, we need to adopt the practices to deploy applications to other areas ➔ Infrastructure as Code - writing code that provisions and manages our infrastructure in a predictable way ➔ Delivery pipelines as first class citizens
  • 8. “We recognize that delivering useful software shapes our world. We recognize that code is the best way to specify precise action. We recognize that code is only useful when we deliver it. Delivery is not a detail, it is our job. Now is the time to apply our core skills to our own work. Now is the time to engineer our delivery. We divide our work between ourselves and computers: humans for decisions, and automation for tasks.”
  • 9. Continuous Delivery “Continuous Delivery is about shipping small batches of software to production constantly, through automation. Continuous delivery makes the act of releasing dull and reliable, so organizations can deliver frequently, at less risk, and get feedback faster from end users.”
  • 11. Getting code into is the most important thing we can do
  • 12. Continuous Delivery Pipeline Automated builds Unit tests Compliance checks Service tickets Performance tests Security validation Blue/Green deploys Canary analysis A/B testing Monitoring Security scans Chaos engineering Test-driven dev Iterative coding/fixing Frequent integration Commit code change Store binaries & build artifacts
  • 13. Continuous Delivery Pipeline Automated builds Unit tests Blue/Green deploys Canary analysis A/B testing Monitoring Security scans Chaos engineering Test-driven dev Iterative coding/fixing Frequent integration Commit code change Store binaries & build artifacts Continuous Integration Continuous Delivery Compliance checks Service tickets Performance tests Security validation
  • 14. Continuous Delivery Pipeline Automated builds Unit tests Blue/Green deploys Canary analysis A/B testing Monitoring Security scans Chaos engineering Test-driven dev Iterative coding/fixing Frequent integration Commit code change Store binaries & build artifacts Continuous Integration Continuous Delivery Compliance checks Service tickets Performance tests Security validation
  • 16. The Concourse Pipeline Flexible integration of resources Simple modeling of components Pipeline status is immediately visible Build components are expressed as code
  • 17. Concourse Concepts: Simple Primitives Resources Detecting, fetching, creation of externally versioned “things” Jobs Compose resources and tasks together to do something (run tests, ship, etc). Tasks Run a script in a container with its dependent inputs # pipeline.yml resources: - name: source-code type: git source: uri: https://github.com/... branch: master - name: source-code type: git source: uri: https://github.com/... branch: master # pipeline.yml jobs: - name: unit plan: - get: source-code trigger: true - task: unit-tests file: source-code/ci/unit.yml # unit.yml platform: linux image_resource: type: docker-image source: repository: java tag: '8' inputs: - name: source-code run: path: source-code/mvnw args: [ clean, test ]
  • 19. Platform Automation Automate the installation and updates of PCF to stay stable and secure always ● Concourse is an essential part of your upgrade path, enabling you to automate small, defined actions for interacting with OpsManager. ● The resulting perpetual upgrade machine helps you to maintain secure, stable PCF instantiations all the time. ● It also ensures developers always have access to the latest features and capabilities. Application CI/CD Automate the CI/CD pipeline to deliver apps/services to PCF fast and safely ● Concourse presents a general approach to automation that makes it ideal for CI/CD workflows. ● Think Concourse for automating continuous integration (CI) and production deployment readiness (e.g., automate change tickets, compliance, security). ● Integrate with CD solutions like Spinnaker for continuous delivery/deployment ApplicationPlatformConcourse for PCF Use Cases Automate Modern Cloud Delivery
  • 20. Embedded OS (Windows & Linux) NSX-T CPI (15 methods) v1 v2 v3 ... CVEs Product Updates Java | .NET | NodeJS Pivotal Application Service (PAS) Application Code & Frameworks Buildpacks | Spring Boot | Spring Cloud | Steeltoe Elastic | Packaged Software | Spark Pivotal Container Service (PKS) YOU build the containerWE build the container vSphere Azure & Azure StackGoogle CloudAWSOpenstack Pivotal Network “3Rs” Github Concourse Concourse Pivotal Services Marketplace Pivotal and Partner Products Continuous delivery Public Cloud Services Customer Managed Services OpenServiceBrokerAPI Repair — CVEs Repave Rotate — Credhub
  • 21. What’s good for your apps, is good for your platform. “ ”
  • 24. Cover w/ Image (Spring) Cloud Pipelines ➔ Creation of a common deployment pipelines in Concourse or Jenkins ➔ Propagation of good testing and deployment practices ➔ Reducing the time required to create pipelines ➔ Project crawler ➔ Implements tests for API contracts using Spring Cloud Contract ➔ Integrates with flyway Database schema migrations
  • 25. Continuous Delivery Pipeline Automated builds Unit tests Blue/Green deploys Canary analysis A/B testing Monitoring Security scans Chaos engineering Test-driven dev Iterative coding/fixing Frequent integration Commit code change Store binaries & build artifacts Continuous Integration Continuous Delivery Compliance checks Service tickets Performance tests Security validation
  • 27. Spinnaker Is an OSS Multi-Cloud Delivery Platform Spinnaker Community “...the passionate open source community dedicated to making deployment pain go away.” https://www.spinnaker.io/publications/ebook/
  • 32. Spinnaker Ecosystem Cloud Providers App Engine Amazon Web Services Azure Cloud Foundry DC/OS Google Compute Engine Kubernetes Openstack Oracle CI Systems Jenkins Travis CI Wercker Concourse Artifact Support Docker Google Cloud Storage GitHub HTTP S3 Artifactory Monitoring Datadog Prometheus Stackdriver Atlas SignalFx (10+ more on roadmap) Notifications Email HipChat Slack SMS via Twilio
  • 34. Stateless: Rather than sharing state, every task runs in its own container, controlling its own dependencies. Ephemeral: Clean and consistent builds. Minimizes test infrastructure to maintain and gives you flexibility to scale with the cloud. Continuous integration: Track versions of external artifacts used for CI (e.g., Git, S3, docker image). Build components expressed as code with simple modeling of modular components. Flexible workflow automation: Extensible for compliance or other customized tasks in a pipeline. Stateful: Maintains awareness of the topography (multiple clouds, PCF Foundations, etc.) and keeps record of all pipeline activities for compliance and audit. Application inventory: Maintains inventory of deployed applications, supporting activities like rollback, canary analysis and identifying security vulnerabilities. Sophisticated deployment scenarios: Canary deploys, red/black or blue/green deploys, progressive deployments (e.g., by time zone), multi-cloud/PCF Foundation deployments. How Does Spinnaker Relate to Concourse?
  • 35. Interactive Continuous Delivery Pipeline CI Production Arbitrary Jobs
  • 36. Spinnaker + Concourse Together Bidirectional Integration ● Using Concourse as a trigger ○ Trigger a Spinnaker pipeline stage ○ Pass Concourse trigger info on to subsequent stages ● Including Concourse as part of a Spinnaker pipeline ○ Create a stage that watches Concourse jobs ○ Concourse tells Spinnaker what jobs to watch ○ When Concourse jobs complete, Spinnaker stage completes
  • 39. Using Concourse trigger info in subsequent stages
  • 40. Using Concourse trigger info in subsequent stages Ex: use the version to identify the application binary in a Deploy stage
  • 41. 1. Concourse job runs Any Concourse out resource metadata will be available to a running Spinnaker pipeline.
  • 42. 2. Spinnaker pipeline is triggered
  • 44. Stage Configuration The Concourse resource uses these to identify whether a running stage is a match against the job it is attached to.
  • 46. 2. Concourse check resource identifies the stage.
  • 47. 3. Concourse tells Spinnaker which job to watch.
  • 48. 4. Concourse job completes.
  • 49. 5. Spinnaker sees the Concourse job is finished, and completes the stage.
  • 50. Virtuous cycle of automated and iterative progression, feedback, and 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
  • 52. Who wants to eliminate Toil?
  • 53. Transforming how the world builds software © Copyright 2019 Pivotal Software, Inc. All rights Reserved.