SlideShare a Scribd company logo
PASS Day
DevOps: a story about
automation, open source &
the Cloud
Adrian Todorov, Cloud Solutions Architect
@todorov_adrian | linkedin.com/in/adriantodorov
Some background on CloudOps
● Founded in 2005: ~ 50 employees (Toronto and Montreal)
● Started using AWS in 2007, Google App Engine 2009, MSFT Azure 2012
● Public cloud partnerships with Microsoft, Google, and Amazon
● Private cloud partnership with Red Hat OpenStack (No VMWare, but have the tech expertise)
● Kubernetes Certified Service Provider and Kubernetes Training Partner
● Community leaders: K8s and CNCF meetups (Eastern Canada), RHUG, DevOps, Docker,
Tungsten Fabric Ambassador, OpenStack Ambassador, and CNCF Ambassador
CLOUDOPS.COM | 2
About myself
● Vanier College 2015-2016 Valedictorian
● Computer Science Technology Graduate
● Working in partnership with Microsoft, HashiCorp & RedHat
● Cloud Solutions Architect specialized in DevOps, Microservices
Containers & Kubernetes
● Responsible for end-to-end
delivery of Workshops & Professional Services
CLOUDOPS.COM | 3
Some highlights from this year
CLOUDOPS.COM | 4
What is DevOps?
CLOUDOPS.COM | 5
Software Development Lifecycle
What is DevOps?
CLOUDOPS.COM | 6
Software Development Lifecycle
DevOps = efficiencies that speed up this lifecycle
DevOps Transformation
Monolithic App Development Lifecycle
CLOUDOPS.COM | 8
Architectural change
CLOUDOPS.COM | 9
Service-Oriented Architecture
(SOA)
Single-purpose
Connected through APIs
Highly decoupled
“Microservices”
Organizational change
CLOUDOPS.COM | 10
Two-pizza teams
Full ownership
Full accountability
Aligned incentives
“DevOps”
Microservices Development Lifecycle
CLOUDOPS.COM | 11
The problem, and its solution
The problem: Humans make mistakes!
• Releasing Code and/or Infrastructure
manually is filled with human error –
That brings inconsistency
The solution: Automation!
• It brings consistency of outcome
(sometimes it even saves us time)
CLOUDOPS.COM | 12
DevOps: a story about automation, open source & the Cloud
Stages of Software Delivery Evolution
CLOUDOPS.COM | 14
Deployment Strategies
CLOUDOPS.COM | 15
Rolling Update – Deploy
without downtime
CLOUDOPS.COM | 16
Load Balancer
v1 v1 v1
Rolling Update – Deploy
without downtime
CLOUDOPS.COM | 17
Load Balancer
v2 v1 v1
Rolling Update – Deploy
without downtime
CLOUDOPS.COM | 18
Load Balancer
v2v2 v1
Rolling Update – Deploy
without downtime
CLOUDOPS.COM | 19
Load Balancer
v2v2 v2
Rolling Update – Deploy
without downtime
CLOUDOPS.COM | 20
Load Balancer
v2 v2 v2
Health Tracking – Catch deployment
problems
CLOUDOPS.COM | 21
Load Balancer
v3 v2 v2Stop
Health Tracking – Catch deployment
problems
CLOUDOPS.COM | 22
Load Balancer
v2 v2Rollback v2
Health Tracking – Catch deployment
problems
CLOUDOPS.COM | 23
Load Balancer
v2 v2 v2
Open Source Tools
DevOps ecosystem CLOUDOPS.COM | 25
Cloud Native ecosystem CLOUDOPS.COM | 26
DevOps: a story about automation, open source & the Cloud
What is actually important to learn?
CLOUDOPS.COM | 28
HashiCorp Terraform – What is it?
Infrastructure as Code Multi-Cloud Management Self-Service Infrastructure
Write, test, and provision
infrastructure at scale, enable automation,
and configuration reuse.
Provide operators with a
consistent workflow to safely provision any
infrastructure without losing full capabilities
of each cloud.
Enable a group of operators to provide
configuration modules to a larger group of
developers to run their applications.
CLOUDOPS.COM | 29
Terraform - How does it look like?
CLOUDOPS.COM | 30
HashiCorp Terraform = IaC
CLOUDOPS.COM | 31
Ansible = Configuration Management
● Ansible is a radically simple IT automation platform that makes your
applications and systems easier to deploy
● It supports configuration management such as automating the
configuration of servers after provisioning them with Terraform
● Agentless
CLOUDOPS.COM | 32
Ansible uses Ansible Playbooks CLOUDOPS.COM | 33
Jenkins = Continous Integration
& Continous Deployment
CLOUDOPS.COM | 34
Jenkins – how does it look like? CLOUDOPS.COM | 35
Containers & Kubernetes
Virtualization Containerization
Type 1
Hardware
Hypervisor 1
VM VM VM
Hardware
Type 2
Host OS
Hypervisor 2
VM VM VM
Virtual machine
Guest OS
Dependencies
Application
Hardware
Host OS
Docker Engine
Dependency 1 Dependency 2
C C C C C
Container
App dependencies
Application XYZ
Virtualization versus
containerization
CLOUDOPS.COM | 37
From traditional app to modern app
Existing
Application
APP
Modern
Microservices
Add new services
or start peeling off
services from
monolithic code.
Modern
Infrastructure
rehost as VMs
or refresh to
modern
container
platform.
Containerize
Applications
Re-architect
apps for scale
with containers.
Containers
Container Platform
On-Premises
Infrastructure Platform
PaaS
Application Platform
ServerlessIaaS
Infrastructure Platform
“lift & shift”
CLOUDOPS.COM | 38
The container advantage
Fast
iteration
Agile
delivery
Immutability Cost
savings
Elastic
bursting
Efficient
deployment
For ITFor developers
Industry analysts agree
“By 2020, more than 50% of enterprises will run
mission-critical, containerized cloud-native applications
in production, up from less than 5% today.”
Where the real fun begins…
CLOUDOPS.COM | 41
Powered by:
Kubernetes: the de-facto orchestrator
Portable
Public, private, hybrid,
multi-cloud
Extensible
Modular, pluggable,
hookable, composable
Self-healing
Auto-placement, auto-restart,
auto-replication, auto-scaling
Kubernetes: empowering you to do more
Deploy your
applications quickly
and predictably
Scale your
applications on
the fly
Roll out
new features
seamlessly
Limit hardware
usage to required
resources only
Kubernetes - How does it look like?
CLOUDOPS.COM | 44
Conclusion
● DevOps = efficiencies that improve the Software Development Lifecycle
● Different Stages in Software Delivery Evolution
● The DevOps & Cloud Native ecosystems are enormous, need to focus
● Focus on Terraform, Ansible for provisioning and configuring VMs
● Jenkins to glue everything together
● Kubernetes to scale to infinity! (Google scale)
CLOUDOPS.COM | 45
DevOps Intern Position for Vanier!
CLOUDOPS.COM | 46
● Learn from the DevOps Veterans in Montreal & Major Cloud Providers
● Apply now! (Come see me or my team) or e-mail hr@cloudops.com
Don’t forget to come see us! 
or send resumé to hr@cloudops.com
@todorov_adrian | linkedin.com/in/adriantodorov
Thank you!
CloudOps

More Related Content

What's hot (20)

PPTX
0 to hero with Azure DevOps
Christos Matskas
 
PDF
Azure DevOps for .NET - Fall into the Pit of Success, .NET Conf 2019
Jeffrey Palermo
 
PPTX
Leveraging Azure DevOps across the Enterprise
Andrew Kelleher
 
PPTX
Getting Started with Azure Artifacts
Callon Campbell
 
PPTX
DevOps, CI, APIs, Oh My! - Texas Linux Fest 2012
Matt Tesauro
 
PDF
Welcome to Azure Devops
Alessandro Scardova
 
PPTX
Drive business outcomes using Azure Devops
Belatrix Software
 
PPTX
Infrastructure automation with .NET
Swaminathan Vetri
 
PPTX
Introduction to Azure DevOps
Lorenzo Barbieri
 
PPTX
Azure DevOps - Version Controlling with Git
Eng Teong Cheah
 
PPTX
Introducción a Azure Devops Pipelines - Plain Concepts DevOps day
Plain Concepts
 
PPTX
Microsoft DevOps Solution - DevOps
Chetan Gordhan
 
PPTX
Automated Release Pipelines with Azure DevOps
ProjectCon
 
PDF
Workshop Azure DevOps | Docker | Azure Kubernetes Services
Norberto Enomoto
 
PPTX
Tour of Azure DevOps
Callon Campbell
 
PPTX
Azure dev ops
Swaminathan Vetri
 
PDF
Kubernetes vs App Service
Lorenzo Barbieri
 
PPTX
Azure DevOps
Juan Fabian
 
PDF
#SheSharp Conference - Azure DevOps for .NET
Jaqueline Ramos
 
PPTX
Azure DevOps in Action
Callon Campbell
 
0 to hero with Azure DevOps
Christos Matskas
 
Azure DevOps for .NET - Fall into the Pit of Success, .NET Conf 2019
Jeffrey Palermo
 
Leveraging Azure DevOps across the Enterprise
Andrew Kelleher
 
Getting Started with Azure Artifacts
Callon Campbell
 
DevOps, CI, APIs, Oh My! - Texas Linux Fest 2012
Matt Tesauro
 
Welcome to Azure Devops
Alessandro Scardova
 
Drive business outcomes using Azure Devops
Belatrix Software
 
Infrastructure automation with .NET
Swaminathan Vetri
 
Introduction to Azure DevOps
Lorenzo Barbieri
 
Azure DevOps - Version Controlling with Git
Eng Teong Cheah
 
Introducción a Azure Devops Pipelines - Plain Concepts DevOps day
Plain Concepts
 
Microsoft DevOps Solution - DevOps
Chetan Gordhan
 
Automated Release Pipelines with Azure DevOps
ProjectCon
 
Workshop Azure DevOps | Docker | Azure Kubernetes Services
Norberto Enomoto
 
Tour of Azure DevOps
Callon Campbell
 
Azure dev ops
Swaminathan Vetri
 
Kubernetes vs App Service
Lorenzo Barbieri
 
Azure DevOps
Juan Fabian
 
#SheSharp Conference - Azure DevOps for .NET
Jaqueline Ramos
 
Azure DevOps in Action
Callon Campbell
 

Similar to DevOps: a story about automation, open source & the Cloud (20)

PDF
Reality Check: Moving From the Transformation Laboratory to Production
DevOps.com
 
PPTX
"The Cloud Native Enterprise is Coming"
James Watters
 
PDF
Cloud Native Application @ VMUG.IT 20150529
VMUG IT
 
PDF
How do you deliver your applications to the cloud?
Michael Elder
 
PDF
Integration in the Cloud, by Rob Davies
Judy Breedlove
 
PDF
Elevating your Continuous Delivery Strategy Above the Rolling Clouds
Michael Elder
 
PPTX
VMworld 2015: Container Orchestration with the SDDC
VMworld
 
PDF
Disruptive Technology Trends - Cloud, Mobile, IoT and Beyond
Dr Ganesh Iyer
 
PDF
Yohanes Widi Sono - Modern Development for Business Agility
Agile Impact Conference
 
PPTX
Docker for the Enterprise with Containers as a Service by Banjot Chanana
Docker, Inc.
 
PDF
K8s-native Infrastructure as Code: einfach, deklarativ, produktiv
QAware GmbH
 
PPT
Integration in the Cloud
Rob Davies
 
PPTX
Accelerate Your Application Modernization Journey with Konveyor - Kubernetes ...
Muhammad Edwin
 
PPTX
Microservices: Why and When? - Alon Fliess, CodeValue - Cloud Native Day Tel ...
Cloud Native Day Tel Aviv
 
PDF
Transformacion e innovacion digital Meetup - Application Modernization and Mi...
José Román Martín Gil
 
PDF
IBM Think 2020 Openshift on IBM Z and LinuxONE
Filipe Miranda
 
PDF
Using cloud native development to achieve digital transformation
Uni Systems S.M.S.A.
 
PPTX
Live Introduction to the Cloud Native Microservices Platform – open, manageab...
Lucas Jellema
 
PDF
Alibaba Cloud Conference 2016 - Docker Enterprise
John Willis
 
PDF
Transformação Digital – Onde se encontra a Indústria.
Joao Galdino Mello de Souza
 
Reality Check: Moving From the Transformation Laboratory to Production
DevOps.com
 
"The Cloud Native Enterprise is Coming"
James Watters
 
Cloud Native Application @ VMUG.IT 20150529
VMUG IT
 
How do you deliver your applications to the cloud?
Michael Elder
 
Integration in the Cloud, by Rob Davies
Judy Breedlove
 
Elevating your Continuous Delivery Strategy Above the Rolling Clouds
Michael Elder
 
VMworld 2015: Container Orchestration with the SDDC
VMworld
 
Disruptive Technology Trends - Cloud, Mobile, IoT and Beyond
Dr Ganesh Iyer
 
Yohanes Widi Sono - Modern Development for Business Agility
Agile Impact Conference
 
Docker for the Enterprise with Containers as a Service by Banjot Chanana
Docker, Inc.
 
K8s-native Infrastructure as Code: einfach, deklarativ, produktiv
QAware GmbH
 
Integration in the Cloud
Rob Davies
 
Accelerate Your Application Modernization Journey with Konveyor - Kubernetes ...
Muhammad Edwin
 
Microservices: Why and When? - Alon Fliess, CodeValue - Cloud Native Day Tel ...
Cloud Native Day Tel Aviv
 
Transformacion e innovacion digital Meetup - Application Modernization and Mi...
José Román Martín Gil
 
IBM Think 2020 Openshift on IBM Z and LinuxONE
Filipe Miranda
 
Using cloud native development to achieve digital transformation
Uni Systems S.M.S.A.
 
Live Introduction to the Cloud Native Microservices Platform – open, manageab...
Lucas Jellema
 
Alibaba Cloud Conference 2016 - Docker Enterprise
John Willis
 
Transformação Digital – Onde se encontra a Indústria.
Joao Galdino Mello de Souza
 
Ad

Recently uploaded (20)

PPTX
care of patient with elimination needs.pptx
Rekhanjali Gupta
 
PPTX
DAY 1_QUARTER1 ENGLISH 5 WEEK- PRESENTATION.pptx
BanyMacalintal
 
PDF
epi editorial commitee meeting presentation
MIPLM
 
PDF
Vietnam Street Food & QSR Market 2025-1.pdf
ssuserec8cd0
 
PDF
Lean IP - Lecture by Dr Oliver Baldus at the MIPLM 2025
MIPLM
 
PPTX
How to Manage Expiry Date in Odoo 18 Inventory
Celine George
 
PPTX
ENGlish 8 lesson presentation PowerPoint.pptx
marawehsvinetshe
 
PPTX
CATEGORIES OF NURSING PERSONNEL: HOSPITAL & COLLEGE
PRADEEP ABOTHU
 
PDF
Lesson 1 - Nature of Inquiry and Research.pdf
marvinnbustamante1
 
PPTX
Difference between write and update in odoo 18
Celine George
 
PPTX
EDUCATIONAL MEDIA/ TEACHING AUDIO VISUAL AIDS
Sonali Gupta
 
DOCX
Lesson 1 - Nature and Inquiry of Research
marvinnbustamante1
 
PDF
Week 2 - Irish Natural Heritage Powerpoint.pdf
swainealan
 
PPTX
How to Create a Customer From Website in Odoo 18.pptx
Celine George
 
PPTX
Marketing Management PPT Unit 1 and Unit 2.pptx
Sri Ramakrishna College of Arts and science
 
PDF
Android Programming - Basics of Mobile App, App tools and Android Basics
Kavitha P.V
 
PPTX
Different types of inheritance in odoo 18
Celine George
 
PDF
Governor Josh Stein letter to NC delegation of U.S. House
Mebane Rash
 
PPTX
Building Powerful Agentic AI with Google ADK, MCP, RAG, and Ollama.pptx
Tamanna36
 
PPTX
PLANNING FOR EMERGENCY AND DISASTER MANAGEMENT ppt.pptx
PRADEEP ABOTHU
 
care of patient with elimination needs.pptx
Rekhanjali Gupta
 
DAY 1_QUARTER1 ENGLISH 5 WEEK- PRESENTATION.pptx
BanyMacalintal
 
epi editorial commitee meeting presentation
MIPLM
 
Vietnam Street Food & QSR Market 2025-1.pdf
ssuserec8cd0
 
Lean IP - Lecture by Dr Oliver Baldus at the MIPLM 2025
MIPLM
 
How to Manage Expiry Date in Odoo 18 Inventory
Celine George
 
ENGlish 8 lesson presentation PowerPoint.pptx
marawehsvinetshe
 
CATEGORIES OF NURSING PERSONNEL: HOSPITAL & COLLEGE
PRADEEP ABOTHU
 
Lesson 1 - Nature of Inquiry and Research.pdf
marvinnbustamante1
 
Difference between write and update in odoo 18
Celine George
 
EDUCATIONAL MEDIA/ TEACHING AUDIO VISUAL AIDS
Sonali Gupta
 
Lesson 1 - Nature and Inquiry of Research
marvinnbustamante1
 
Week 2 - Irish Natural Heritage Powerpoint.pdf
swainealan
 
How to Create a Customer From Website in Odoo 18.pptx
Celine George
 
Marketing Management PPT Unit 1 and Unit 2.pptx
Sri Ramakrishna College of Arts and science
 
Android Programming - Basics of Mobile App, App tools and Android Basics
Kavitha P.V
 
Different types of inheritance in odoo 18
Celine George
 
Governor Josh Stein letter to NC delegation of U.S. House
Mebane Rash
 
Building Powerful Agentic AI with Google ADK, MCP, RAG, and Ollama.pptx
Tamanna36
 
PLANNING FOR EMERGENCY AND DISASTER MANAGEMENT ppt.pptx
PRADEEP ABOTHU
 
Ad

DevOps: a story about automation, open source & the Cloud

  • 1. PASS Day DevOps: a story about automation, open source & the Cloud Adrian Todorov, Cloud Solutions Architect @todorov_adrian | linkedin.com/in/adriantodorov
  • 2. Some background on CloudOps ● Founded in 2005: ~ 50 employees (Toronto and Montreal) ● Started using AWS in 2007, Google App Engine 2009, MSFT Azure 2012 ● Public cloud partnerships with Microsoft, Google, and Amazon ● Private cloud partnership with Red Hat OpenStack (No VMWare, but have the tech expertise) ● Kubernetes Certified Service Provider and Kubernetes Training Partner ● Community leaders: K8s and CNCF meetups (Eastern Canada), RHUG, DevOps, Docker, Tungsten Fabric Ambassador, OpenStack Ambassador, and CNCF Ambassador CLOUDOPS.COM | 2
  • 3. About myself ● Vanier College 2015-2016 Valedictorian ● Computer Science Technology Graduate ● Working in partnership with Microsoft, HashiCorp & RedHat ● Cloud Solutions Architect specialized in DevOps, Microservices Containers & Kubernetes ● Responsible for end-to-end delivery of Workshops & Professional Services CLOUDOPS.COM | 3
  • 4. Some highlights from this year CLOUDOPS.COM | 4
  • 5. What is DevOps? CLOUDOPS.COM | 5 Software Development Lifecycle
  • 6. What is DevOps? CLOUDOPS.COM | 6 Software Development Lifecycle DevOps = efficiencies that speed up this lifecycle
  • 8. Monolithic App Development Lifecycle CLOUDOPS.COM | 8
  • 9. Architectural change CLOUDOPS.COM | 9 Service-Oriented Architecture (SOA) Single-purpose Connected through APIs Highly decoupled “Microservices”
  • 10. Organizational change CLOUDOPS.COM | 10 Two-pizza teams Full ownership Full accountability Aligned incentives “DevOps”
  • 12. The problem, and its solution The problem: Humans make mistakes! • Releasing Code and/or Infrastructure manually is filled with human error – That brings inconsistency The solution: Automation! • It brings consistency of outcome (sometimes it even saves us time) CLOUDOPS.COM | 12
  • 14. Stages of Software Delivery Evolution CLOUDOPS.COM | 14
  • 16. Rolling Update – Deploy without downtime CLOUDOPS.COM | 16 Load Balancer v1 v1 v1
  • 17. Rolling Update – Deploy without downtime CLOUDOPS.COM | 17 Load Balancer v2 v1 v1
  • 18. Rolling Update – Deploy without downtime CLOUDOPS.COM | 18 Load Balancer v2v2 v1
  • 19. Rolling Update – Deploy without downtime CLOUDOPS.COM | 19 Load Balancer v2v2 v2
  • 20. Rolling Update – Deploy without downtime CLOUDOPS.COM | 20 Load Balancer v2 v2 v2
  • 21. Health Tracking – Catch deployment problems CLOUDOPS.COM | 21 Load Balancer v3 v2 v2Stop
  • 22. Health Tracking – Catch deployment problems CLOUDOPS.COM | 22 Load Balancer v2 v2Rollback v2
  • 23. Health Tracking – Catch deployment problems CLOUDOPS.COM | 23 Load Balancer v2 v2 v2
  • 26. Cloud Native ecosystem CLOUDOPS.COM | 26
  • 28. What is actually important to learn? CLOUDOPS.COM | 28
  • 29. HashiCorp Terraform – What is it? Infrastructure as Code Multi-Cloud Management Self-Service Infrastructure Write, test, and provision infrastructure at scale, enable automation, and configuration reuse. Provide operators with a consistent workflow to safely provision any infrastructure without losing full capabilities of each cloud. Enable a group of operators to provide configuration modules to a larger group of developers to run their applications. CLOUDOPS.COM | 29
  • 30. Terraform - How does it look like? CLOUDOPS.COM | 30
  • 31. HashiCorp Terraform = IaC CLOUDOPS.COM | 31
  • 32. Ansible = Configuration Management ● Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy ● It supports configuration management such as automating the configuration of servers after provisioning them with Terraform ● Agentless CLOUDOPS.COM | 32
  • 33. Ansible uses Ansible Playbooks CLOUDOPS.COM | 33
  • 34. Jenkins = Continous Integration & Continous Deployment CLOUDOPS.COM | 34
  • 35. Jenkins – how does it look like? CLOUDOPS.COM | 35
  • 37. Virtualization Containerization Type 1 Hardware Hypervisor 1 VM VM VM Hardware Type 2 Host OS Hypervisor 2 VM VM VM Virtual machine Guest OS Dependencies Application Hardware Host OS Docker Engine Dependency 1 Dependency 2 C C C C C Container App dependencies Application XYZ Virtualization versus containerization CLOUDOPS.COM | 37
  • 38. From traditional app to modern app Existing Application APP Modern Microservices Add new services or start peeling off services from monolithic code. Modern Infrastructure rehost as VMs or refresh to modern container platform. Containerize Applications Re-architect apps for scale with containers. Containers Container Platform On-Premises Infrastructure Platform PaaS Application Platform ServerlessIaaS Infrastructure Platform “lift & shift” CLOUDOPS.COM | 38
  • 39. The container advantage Fast iteration Agile delivery Immutability Cost savings Elastic bursting Efficient deployment For ITFor developers
  • 40. Industry analysts agree “By 2020, more than 50% of enterprises will run mission-critical, containerized cloud-native applications in production, up from less than 5% today.”
  • 41. Where the real fun begins… CLOUDOPS.COM | 41 Powered by:
  • 42. Kubernetes: the de-facto orchestrator Portable Public, private, hybrid, multi-cloud Extensible Modular, pluggable, hookable, composable Self-healing Auto-placement, auto-restart, auto-replication, auto-scaling
  • 43. Kubernetes: empowering you to do more Deploy your applications quickly and predictably Scale your applications on the fly Roll out new features seamlessly Limit hardware usage to required resources only
  • 44. Kubernetes - How does it look like? CLOUDOPS.COM | 44
  • 45. Conclusion ● DevOps = efficiencies that improve the Software Development Lifecycle ● Different Stages in Software Delivery Evolution ● The DevOps & Cloud Native ecosystems are enormous, need to focus ● Focus on Terraform, Ansible for provisioning and configuring VMs ● Jenkins to glue everything together ● Kubernetes to scale to infinity! (Google scale) CLOUDOPS.COM | 45
  • 46. DevOps Intern Position for Vanier! CLOUDOPS.COM | 46 ● Learn from the DevOps Veterans in Montreal & Major Cloud Providers ● Apply now! (Come see me or my team) or e-mail [email protected]
  • 47. Don’t forget to come see us!  or send resumé to [email protected] @todorov_adrian | linkedin.com/in/adriantodorov Thank you! CloudOps

Editor's Notes

  • #6: Developers are going to come out with the idea, they are going to implement the idea, they are going to take the code that they write and then build it, test it, put it through the release process until it finally gets out into production where your customers can use it Every new feature that you build into your application is going to go through that lifecycle After your customers can get their hands on it, you can start to learn from it Development team can look at the customer usage data from the application, they can get feedback from the customer and they can start to plan and take educated decisions on what they want to do next 2 Important things to note about this development lifecycle First: The speed of the completing that loop (to build a new feature and to get it into the hands of your customers and have your customers start using it and learning from their usage) – the speed of completing that loop determines your business agility The faster we’re able to iterate through the loop, the more responsive you will be to customers and the quicker you will be able to innovate We need to focus on improving that loop as quickly as we can Second thing to note: Developers are adding value to the customer when they are working on the left side, writing new code and building new features Any time the developers spend in the middle of this diagram, all of this time will be lost in the eyes of the customer. Either building the delivery pipeline or handholding changes through that pipeline, all of that time will be lost in the eyes of your customers So what you want to do is maximize your time your developers are writing new features and minimize the time developers are spending in the middle
  • #7: And it’s really those 2 things that make the heart of the DevOps, the heart of DevOps is any efficiencies you might make, that can you drive, that helps you loop through this faster. And this is why it’s so confusing to implement DevOps. There are many things you can do here. You can make organizational changes, cultural changes, process changes, tool changes and I think that’s okay, anything that you can use to make improvements to this delivery pipeline and feedback loop count as DevOps
  • #8: To make this more concrete, this is a backstory from Amazon’s transformation to DevOps Like most companies, Amazon did not start out using a fully DevOps approach. It did not start out that way. In fact, if you go back to 2001, the Amazon.com retail website was architected as a large monolith, even thought it had multiple tiers and the tiers had many components within them, everything was tightly coupled where they behaved like one big monolith. A lot of start-ups and even projects inside big companies take a monolith-first approach because it’s very easy to get moving quickly, but over time as that project matures, as you add more developers to it, and as the architecture matures, that monolith is going to add overhead into your process and the software development lifecycle is going to begin to slow down. To depict how this was affecting Amazon and actually companies that I’ve worked for in the past, this is how a software development lifecycle for a large monolithic application looks like
  • #9: So what we have with a large monolithic app is a very large number of developers working on this one BIG monolithic website, many more that could possibly fit on this slide And even though each one of these developers is working on a very small piece of that application, they still need to bite of the overhead of coordinating those changes with everyone working on that application If a developer is adding a new feature, making a bug fix, they need to make sure that feature is not going to break someone else on that project If they want to upgrade a shared library to take advantage of a new feature, they need to convince everyone working on that application to upgrade to the new shared library at the same time AND If they want to make a quick fix to push out to their customers quickly, they can just do it on their own schedule, they are going to need to coordinate that with all the other developers that have in-process changes at the same time And this leads to something of the effect of a Merge Friday or even a merge week where all the developers take all their in-process changes, merge them together into 1 version, resolve all their conflicts and finally create a master version ready to move out into production And even when you have that big large new version, it still adds a lot of overhead into the delivery pipeline, that whole new codebase needs to be rebuilt All the test cases need to be re-run, and then you need to take this big application and deploy it to your production fleet of instances At some companies, there are even engineering teams whose sole job is to manually push this versions of the application (those new changes) and push them them to production This was adding a lot of overhead, not only to the delivery process, but also impacting the developers it was slowing down the software development lifecycle - our ability to innovate
  • #10: The first change to make is the architectural change You need to go through this monolithic application and piece it apart into at the time of Amazon re-architecture something at the time of the re-architecture was called Service-Oriented Architecture (SOA) and today, you could consider microservices You have to go through the code and pull out functional units that serve a single-purpose and wrapped them with a Web Service interface like a RESTful interface Some single purpose service that Amazon used was a service whose sole job it was to render the “Buy” button correctly on the product’s detail pages Amazon also had a single purpose service whose sole job was to calculate the tax correctly on the checkout page So when we create these single purpose services, I would also recommend to set a rule in place, like Amazon did, where the services could only talk to each other through the web service APIs. There is no back-end shared access allowed This enables you to create highly decoupled architecture so that services could iterate independently from one another, without any coordination between the services, as long as they adhere to that standard of web service interface To give you an idea of what Amazon’s microservice architecture looks like, this is a graphic around the year 2009 where it represents Amazon.com’s retail website and all the individual services that make up that experience. Back then, Amazon didn’t have the term called Microservices, but today we would call this microservices architecture
  • #11: In addition to that architectural change, you need to make an organizational change Before you had one central hierarchal product development team You need to break that apart as well, in order to break it up into small what some companies like Amazon call “two-pizza teams” The idea behind that name is that you want the teams to be small enough so that you can feed them with just 2 pizzas. Each of these teams were given full ownership to one or maybe a few of these microservices And when I mean full ownership, they would own everything, including talking to customers, whether that would be internal or external, they own defining their features, roadmap, designing their features, implementing them, writing the tests for them, deploying those services into production and also operating those services If anything went wrong anywhere in that full lifecycle, they were the ones accountable for fixing it If a team chose to not to develop the proper amount of tests and that caused releasing bad changes, even unknowingly into production, it was the same engineers that were paged to fix them during the middle of the night That leads to properly aligning incentives so the engineering team was fully motivated so that the entire end-to-end lifecycle operated efficiently This is what you would call a DevOps organization, because they took those responsibilities of development and test and operations and merge those all into a single engineering team
  • #13: This problem was that humans make mistakes. Releasing code and/or Infrastructure manually is filled with human error, which brings inconsistencies The solution would be automation, as it would bring consistency of outcome (sometimes it even saves us time).
  • #14: Finally, I really like this depiction of needing to go from this (assembling everything in a car manually) To going to the completely automated assembly of cars using autonomous robots So now we need to focus on the robot part or the toolset we are going to use in order to improve the delivery and deployment pipeline in order to improve our ability to innovate
  • #28: With the explosion of technologies available to organizations, the choice of technology platform is cripplingly hard. Kubernetes, OpenShift, GKE, containers, cloud-native, microservices, devops, agile, automation, … (it is exhausting) Organizations are not equipped to make most of these decisions… But they are being forced to...