This document discusses continuous delivery strategies using Pivotal technologies like Pivotal Build Service, Pivotal Container Service, and Spinnaker. Pivotal Build Service allows building Docker images without Dockerfiles using buildpacks. Spinnaker is an open source multi-cloud delivery platform that provides deployment strategies and rollback capabilities. The document demonstrates continuous deployment of a Spring Boot app to PKS using Concourse CI and Spinnaker for deployment automation and monitoring.
4. Pivotal Container Service (PKS) or Any Kubernetes
Run short-lived or
long-lived
workloads
Pivotal
Function
Service
Securely
assemble,
deploy, and
update code
Pivotal
Build
Service
Consume on- or
off-platform
services
Pivotal
Services
Marketplace
Get observability
and routing as a
managed service
Pivotal
Ingress
Router
Use supported
Java, Spring and
Tomcat
Pivotal
Spring
Runtime
Individual Modules: solve specific developer problems
5. Operator Efficiency: Build Service
k8s base
(PKS)
Complete lifecycle automation of k8s clusters across clouds,
with support for tenancy, networking, patching & upgrades
Platform Security
Innovative engineering of extensive automation and go-fast-to-
stay-safe approach.
Pivotal
Application
Services
(PAS)
Pivotal Platform is a unified platform for running
applications and services on Kubernetes.
Pivotal Application Service
Build
Service
Spring
Runtime
Marketplace
Service
Mesh
VMware Openstack AWS Google AzureMulti-Cloud
Function
Service
Build Service allows
developers to push
code without creating a
Dockerfile.
Operators standardize
on Docker images for
Day 2 updates and
management.
Uses buildpacks and
images which are
automatically updated.
6. Layers of a Running Container
App (Your Biz Code)
App dependent Libs
App Runtime (Tomcat)
RootFS (Container Base Layer)
Virtual Machine + OS
Container Orchestrator + Engine
infrastructure
container
7. App (Your Biz Code)
App dependent Libs
App Runtime (Tomcat)
RootFS (Container Base Layer)
Virtual Machine + OS
Container Orchestrator + Engine
Layers of a Container
You Config & MaintainYou Write
infrastructure
container
9. Pluggable, modular tools that
translate source code into
OCI images.
â Portability via the OCI standard
â Greater modularity
â Faster builds
â Reproducible image builds
â Unprivileged containers
â Collaboration with Heroku
â CNCF Sandbox project
Cloud Native Buildpacks (CNB) Bring Developer Productivity to K8s
10. Pivotal Build Service: CNB + Enterprise Features
Automated Image
Updates
â Declarative
configuration model
â New images are
delivered to your
registry whenever
configuration falls out
of sync.
â Consistent and up to
date container images.
Operator Control
â Restricting buildpack
usage in the apps they
supervise.
â Create build
configurations for
different groups of
developers within the
org.
â These configs would
govern the buildpacks
that any given dev is
allowed to use.
Image PromotionâNo
Rebuild Required
â A more intelligent
approach to image
updating.
â Developers can
promote images
through environments.
13. Our highest priority is to satisfy the customer
through early and continuous delivery of
valuable software
â Rule Number 1 - Agile Manifesto (2001)
20. Operators have to
manage services
across many platforms
Problem #3
I need to quickly fix this
CVE...with confidence..
21.
22. Continuous Delivery Foundation
Yet another Foundation
2011 2018
20192014
15M+ users
200K servers
Coming from Hudson
Born as CI then CD
Designed for modern apps on k8s
âJenkins X is really how everyone will
use Jenkins at some pointâ
Jenkins X Pipelines based on Tekton
Kube-native CI/CD
Pipeline/Tasks are CRDs
You will know more soon!
https://medium.com/dailymotion/from-jenkins-to-jenkins-x-604b6cde0ce3
23. Spinnaker 7 years story
âWe want to provide
guardrails, not gates.â
âDianne Marsh, Netflix
2012 2019
Netflix built
Asgard for
managing cloud-
based
applications and
infrastructure
Netflix expanded
Asgard ideas and
introduced
Spinnaker
internally
Spinnaker open
sourced
Spinnaker
community grows
Canary analysis
and chaos
monkey added to
Spinnaker
Pivotal becomes
third largest
contributor to
Spinnaker OSS
Spinnaker joins
Continuous
Delivery
Foundation
2014
31. ..with the proper Deployment Strategies
âWe want to provide smart
defaultsâ
âDianne Marsh, Netflixhttps://blog.armory.io/advanced-deployment-strategies-with-armory-spinnaker/
32. âIf everything seems under control,
youâre just not going fast enoughâ
âMario Andretti
35. Build Service
Prod Cluster
Concourse CI
Git Repository
Harbor
ity
Spinnaker CD
Monitor for
code commit
Ephemeral
cluster
Commit your
code
Upload to container
registry
Monitor for package
and deploy app
Dev Cluster
Prod Cluster
Production
cluster
DEMO: Continuous Deployment of a Spring Boot app to PKS
Pivotal Container
Service (PKS)Spring Boot
Build
Testing
Docker
Image
Security
Validation
1
2
Concourse and Spinnaker are deployed with Helm Charts to run in a third cluster on PKS.
Build a Docker image with
no Dockerfile
This presentation introduces Pivotal, and our value prop, to a new audience. Itâs targeted at executives and decision makers.
These five services codify Pivotal best practices.
The Build Service uses Cloud Native Buildpacks to not just package code into containers, but also patch images on day 2.
Our Spring Runtime ensures that youâre in good hands with support for OpenJDK and Spring.
Event-driven computing is the next wave, and our Function Service streamlines the deployment of modern apps.
Configuring the network and building in logging/observability are roles for a platform, not an individual. Pivotal Service Mesh solves this.
Finally, you need an effective way to consume on or off-platform services, and do so with late binding so that you donât infect your code with environmental details.
These services often extend one another, and run on PKS, or in the future, any Kubernetes.
Hereâs what weâre thinking, and itâs definitely not final.
With Kubernetes at its core and the option for modular components, we see this as an evolution of PCF. That means that a PAS license would (ideally) entitle you to all components (and the vertically integrated PAS itself), with everything running on a Kubernetes dial tone.
The value line is moving up, and now that we donât need to invest in building our own orchestration layer, we can direct our attention to automating and improving more parts of the developer and operator experience.
Running software at scale? Not easy.
Donât forget: Holistic view of an applicationâs resources and configuration is hard to obtain with cloud platforms, multiple accounts, regions, or even cloud platforms
ACCOUNTS, REGIONS, CLOUDS
Consistency is a bitch
2012: Asgard built by Netflix for managing cloud-based applications and infrastructure with goal to simplify delivery of Netflix services to Amazon Web Services (AWS).
Asgard was great for Netflix, but not easy to build on community input and innovations.
2014: They restarted with Spinnaker, combining the infrastructure management focus of Asgard with sophisticated deployment techniques. Initially this was only consumed internally by Netflix.
2015: They then open sourced the product properly. Netflix partnered with Google, Microsoft and Pivotal to deliver out-of-the-box multi-cluster, multi-cloud management and deployment.
2016: Chaos monkey merged into Spinnaker by Netflix
2017: Google contributed Halyard.
2018-2019: Pivotal for the past year has been doubling down on contributions to ensure full support for PCF and optimal use for our enterprise clients. Pivotal is third largest contributor behind Netflix and Google.
Spring 2019: Spinnaker was brought under the newly formed Continuous Delivery Foundation that also includes products like Jenkins and Tekton. This is a great home for the solution to grow even more.
Spinnaker is a CD platform from Netflix and Google. Itâs OSS and has a significant community of contributors. Itâs multi cloud and multi platform and a single instance of Spinnaker can work with multiple cloud providers simultaneously.
As a CD tool, Spinnaker standardizes cloud infrastructure actions, such as provisioning and management, encapsulating a lot of best practices developed through years of continuously delivering software at Netflix, Google, Box and other companies. Itâs a mature and feature-rich product that acts as a point of integration for other tools enabling CD.
Spinnaker functions as an application-centric control plane, abstracting the details of cloud platforms that are not relevant to developers and organizing cloud resources around applications. Infrastructure and security teams can focus on building in the right defaults and traceability into how Spinnaker provisions these resources. In the end, all applications are deployed in a consistent, secure way.
Spinnaker maintains inventory of where applications and their instances are deployed across multiple environments, IaaS and runtimesâenabling continued feedback in production. It is built by querying cloud providers and is even available for applications not deployed by Spinnaker. This level of oversight shows the health of applications and allows you to take corrective actions, such as restarting a failing application or rolling it back.
Spinnaker complements traditional CIâby picking up where it leaves offâwith complex, rule-driven, cloud-provider-integrated, high-volume deployments. Spinnaker adds CD pipeline workflows to support more advanced rollout, mechanisms like parallel deployments, conditional deployments, time window restrictions, and application canary deployments.
Better screenshot when a bug is fixed.
Unlike cloud providers that group resources by types (network, compute, monitoring), spinnaker groups all this resources per application in a single screen. Higher level abstractions on top of these resources as applicable to app developers with the right defaults built in.
Red black - when two versions cannot coexist
Rolling r/b - two versions should be able to coexist
Canary - tested against baseline metrics