How Spinnaker helped us achieve real Continuous Delivery
1. How Spinnaker helped us
achieve real Continuous Delivery
Presented By: Ahmed Misbah
Orange Labs Egypt
2. Agenda
• Introduction
• Project X
• V1 of DevOps Toolchain
• Search for a solution
• Enter Spinnaker
• V2 of DevOps Toolchain
• DevOps Toolchain Metrics
6. Project X
• The requirement was to implement a feed
aggregator to display data on 4 different
platforms (Android, iOS, Web and Desktop)
• Feeds were to be aggregated from a variety of
channels, including Facebook, Twitter, Gmail,
JIVE, etc.
• Through the application, end-users can choose
to perform different actions against the feeds
(e.g. filters based on keyword/senders)
7. High Level Architecture
• Microservice Architecture was chosen
• Given the current number of channels and
features, 25 microservices were implemented
14. High Level Design
Source Control Continuous Integration Continuous Inspection
Artifact Repository
Infra
1
2
3
4
5
Continuous Monitoring
15. Issues with V1
• Only latest code was pulled and built by CI
server
• One pipeline was implemented to build all
microservices!
• Shell scripts were used on cloud instances to
pull latest Docker images and run their
containers
• In case of failures, rollback was done manually
• Infrastructure was provisioned, configured
and scaled manually
17. Requirements for new solution
• A pipeline is required to be created for each
microservice
• CD is to be independent of CI server to support:
– Application-release automation (ARA)
– Configuration Management
• A container-orchestration system is to be used for
application deployment, scaling and management
• Infrastructure provisioning, configuration and
scaling is to be automated
20. What is Spinnaker?
• Free and Open-Source (FOSS) Continuous
Delivery software platform
• Developed by Netflix and extended by Google
• Designed to work with K8s, AWS, GCP, MS
Azure, etc.
• Has a very active community
23. Core Features (3/4)
2. Application Deployment:
II. Stage:
in Spinnaker is an atomic building block for a
pipeline, describing an action that the pipeline will
perform
Spinnaker provides a number of stages such as
Deploy, Resize, Disable, Manual Judgment, and many
more
25. Other Features
• Multi-Cloud Support including AWS EC2,
Kubernetes, Google Compute Engine, Google
Kubernetes Engine, Google App Engine,
Microsoft Azure, Openstack, Cloud Foundry,
and Oracle Cloud Infrastructure
30. DevOps Metrics
1. Deployment Frequency
2. Change Lead Time
3. Change Success / Failure Rate
4. Mean Time to Detection
5. Mean time to recovery
6. Service Availability
7. Application Performance
31. DevOps Toolchain Metrics
Metrics V1 V2
Deployment Frequency 5 per Sprint 10+ per day
Change Lead Time 1 hour per microsevice 5 mins per microservice
Change Success Rate 70% 99%
Mean Time to Detection Up to 15 mins per issue Up to 5 mins per issue
Mean Time to Recovery 1 hour per microsevice Up to 5 mins per
microservice
Service Availability 70% - 24/7 99.9% - 24/7
Application Performance According to SLA According to SLA
32. Thank You!
My Contacts:
• Business Email:
– ahmed.misbah@orange.com
• Personal Email:
– me@ahmedmisbah.com