SlideShare a Scribd company logo
1 of 17
Download to read offline
Gearing Up for DevOps
GETTING TO WALK
EKLOVE MOHAN
Crawl-Walk-Run-Fly
Crawl
• Standardize Source
Control
• Define branching
strategy
• Define Defect Tracking
tool
• Automate System test
cases
• Plan for Synthetic
Transactions
• Enable Quality Checks
• Enable Automated
Unit Test cases
• Expose to cloud
• Build Knowledge base
Walk
• Build Continuous
Integration pipeline
• Build an Artifact
repository
• Build Continuous
Delivery pipeline for
Dev
• Enable Synthetic
transaction
Run
• Build Continuous
Delivery pipeline for
QA and production
• Enable Build
Promotion
• Setup Infrastructure
and application
monitoring tools
Fly
• Enable Blue Green
environments
• Enable Infrastructure
as code
• Enable Metric based
alerts
• Enable Continuous
Deployment
• Build pipelines of
pipelines
• Progress towards
DevSecOps
Recap
• Crawl Stage details at
https://www.slideshare.net/EkloveMohan/preparing-
for-devops
• Covered roles and responsibilities for the
Organization, Developers, QA and Operations.
• Give 2-3 months time to mature.
• What we have to start this phase:
• Single Source Control system
• Well defined Branching Strategy
• Defect tracking tool
• Quality checks for the source code
• Unit Test Automation
• Automated System test cases
• Knowledge about the complete application
• Exposure to cloud
DevOps Statistics – “To be are not to be”
• Forrester declared 2017 as the “Year of DevOps” and their data conforms that
50% of the organizations are implementing DevOps by the end of 2017.
Forrester now predicts that 2018 will be the “year of enterprise DevOps”.
https://go.forrester.com/blogs/2018-the-year-of-enterprise-devops/
• Puppet.com indicates that in 2017, the high performer DevOps organization
did deployment 46 times more frequently, 440 times faster lead time from
commit to deploy, 96 times faster mean time to recover from downtime and 5
times lower change failure rate (changes are 1/5 as likely to fail).
https://puppet.com/system/files/2017-10/2017-state-of-devops-report-puppet-dora.pdf
• International Data Corporation (IDC) believes that DevOps will be adopted --
in either practice or discipline -- by 80% of Global 1000 organizations by 2019.
http://business-technology-roundtable.blogspot.com/2015/02/the-devops-path-to-digital.html
Walk Stage - Roles and Responsibilities
• Organization
• Monitor progress on a daily basis
• Filter on Continuous Integration
and delivery tools
• Define Artifact repository
• Quality Assurance (QA)
• Optimize system test cases
• Enable Synthetic Transactions
• Developers
• Build Continuous Integration (CI)
Pipeline
• Script tasks to run for CI
• Improve Unit test case coverage
• Operations
• Build Continuous Delivery (CD)
pipeline.
• Script task to run the CD process
• Build on cloud knowledge
Monitor Progress
• “Transformation” team to define realistic goals for each sprint. E.g.
• Automated Unit Test and system test coverage be at 20% during first 2 sprints and
should increase by 5% during each subsequent sprint.
• Quality score baseline and ensure that code quality, design quality, architecture
quality and Test quality does not deteriorate at any stage. If it does, do ask “why”.
• Talk to the team to understand the hinderances. Bringing
transformation wont be easy. We have architects in the group to
mitigate technical challenges and managers to handle people and
process challenges. There is always a “Plan B”.
Continuous Integration and Delivery tools
• Pick a common tool for Continuous Integration (CI) and
Continuous Delivery (CD). While it is absolutely fine to
have different tool for CI and CD, keeping them same helps
in terms of the learning curve and standardizing tools
across organization.
• Compare tools on the basics of what your project needs and
not only on the basis of someone’s past experience. Factors
like plugin supports (e.g. SonarQube support), cost,
Software as a service vs self hosted, API driven, GUI,
command line integration, Training and documentation
along with the community support are some important
points to consider.
• Not all the features are available with a single tool therefore
they provide an option of executing custom scripts which
can be in powershell/shell or nant. Developers and
Operations need to create these as and when required.
Artifact repository
• Build a repository to store all the code builds. The repository
should have a provision of storing builds per environment.
Mostly the CI tools stores all the builds on the CI Server itself but
it’s better to keep them out of the CI servers (may run into issues
with disk space and have to clean the old builds to efficiently run
CI process).
• It can be a simple file system storage but needs good amount of
disk space as well as a solid backup strategy.
• Cloud can be a good option to start if this has not been tried as
yet in the organization. E.g. AWS Simple Storage Service (S3)
provides all the capabilities that is expected from a repository.
• Configure the repository such that every build first goes to the
lowest environment. When it is tested and verified, then only it
should move to the next environment. E.g. the build should first
be deployed only to Dev. Once certified that everything is
working as expected, then only move the artifacts to the QA
environment. NONE OF THE ARTIFACTS SHOULD DIRECTLY
BE TARGETED FOR THE PRODUCTION ENVIRONMENT
(NOT EVEN HOTFIXES). IT HAS TO FOLLOW THE CYLCE OF
NON-PROD to PROD.
1. Download
custom
scripts
2. Download
Source Code
3. Build
Source code
4. Quality
checks
5. Run
automated
unit test case
6. Upload
artifacts
Feedback
Fail Fail Fail Fail Fail Fail
Pass Pass Pass Pass Pass
Continuous Integration pipeline
Master-Slave for CI
• Every developer check-in should trigger the CI pipeline and
creates a build. If there are too many check-ins at almost the
same time, the CI server, queues up each of the request and
process them in order they were received.
• For a small team this may not be an issue, but for large
teams, waiting for the old build to complete and start a new
one delays the process of “continuous feedback”.
• Implement master-slave for the CI process. The master
server monitors for all the changes but it distributes the
pipeline execution to the slaves. Master keeps a track of all
the running jobs on each of the slaves and all the reporting
continues to be from the master.
• This provides high availability in case a slave node fails.
Master keeps a track of all the “active” slaves and distribute
the task accordingly.
Master CI server
Slave Slave Slave
Commands
Commands
Commands
Source
Control
Poll changes
Continuous Delivery/Deployment
• To build the CD pipeline, there are two options:
• Continuous Delivery – CI and CD works independently
• Continuous Deployment – CI process triggers CD pipeline
• For Dev environment, configure for Continuous Deployment. Other
environments require a bit more confidence building before we can
go for Continuous Deployment.
• With CI pipeline, the build was created and uploaded to Artifact
repository. CD process starts from downloading the build and ends at
deploying the build to the target environment.
• To keep things simple, the CD pipeline is one per environment where
as the CI pipeline is one per application. This is due to the fact that
the build is created irrespective of the environment whereas the
deployment is done on separate set of servers with a distinct set of
permissions. E.g. Dev users do not have permission to deploy on QA
environment.
• Before deployment to the target environment, the CD pipeline
should have a “config transformation” phase where the environment
specific configs are updated before they are deployed. E.g. update QA
DB connection strings before it is deployed to QA environment.
Continuous
Integration
Deployment
Continuous
Integration
Deployment
Manual
Trigger
Auto
Trigger
Continuous Delivery
Continuous Deployment
Preparing Infrastructure on Cloud
• To get started on cloud, use IaaS (infrastructure as a service) offering. Create EC2/VM on the server and follow the wizard
steps(Choosing Operating System, Storage Space, Memory and CPUs, security group etc).
• Create a common root user and password on the servers or use a common .pem file for all servers.
• The manual steps of creating the servers at this stage helps us automate the process of server creating later. As of now,
create all the servers (manually) needed for the application. Call this environment a PoC or Dev environment (since this is
for experimentation purpose).
• Install all the pre-requisites on the servers created (e.g. Java runtime, .NET framework, web server etc).
• Optionally, take a snapshot of the servers when all pre-requisites are installed. Use this next time instead of building the
servers again.
• To run the application on cloud, you also need database(s). Generate database script, DDL and DML(only the master
data and not the transactional data). E.g. On Amazon Web Services, create a RDS (Relation Database Service), choose the
database server and run the script.
• Note all the IP addresses (public) for the servers that are created. This information is needed while deploying binaries on
cloud servers. (Note: every time the servers are restarted, the public IP address would change, therefore either use Elastic
IP or change the CD script with the new IP addresses before CD pipeline is executed)
1. Download
custom
scripts
2. Download
build from
Artifact repo.
3. Transform
config files
4. Deploy
5. Run
System test
Feedback
Fail Fail Fail Fail Fail
Pass Pass
Continuous Delivery pipeline
PassPass
Enable Synthetic transaction
• Create a standalone pipeline for executing synthetic transaction (a dummy
transaction that touches all the external endpoints and then void the transaction).
• The pipeline executes once a day, at a predefined time, ideally just before the business
hours.
• It “warms up” the environment as well as provide early feedback if an issue exists
while connecting to other third party or components within the enterprise.
1. Download
custom
scripts
2. Create
dummy
record in the
database.
3. Execute
test case
4. Clean up
database
Feedback
Fail Fail Fail Fail
Pass PassPassTrigger
Closing words
• Things have been simple during the “walk” stage, we haven’t used a lot of
industry standard tools as yet. We tried to work with what we build during the
“crawl” stage.
• The CD pipeline steps are common for on-premise and cloud during this
phase but it changes during our “run” phase. The intent is to be able to gain
knowledge on cloud (and CI/CD tools) and start deployment with basic setup.
• Let the “walk” phase run for 1-2 months and gain confidence by doing the
simple things right. The Dev and Ops have started working together and have
gained some level of maturity.
• Start preparing for to the “Run” stage. Let some more projects start with the
“crawl” stage. Time now to rename our “Transformation” team to be “DevOps”
CoE.
Coming up next
Details on how to work during the “Run” stage.
Thank you

More Related Content

What's hot

Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...SlideTeam
 
Rapid Strategic SRE Assessments
Rapid Strategic SRE AssessmentsRapid Strategic SRE Assessments
Rapid Strategic SRE AssessmentsMarc Hornbeek
 
Devops On Cloud Powerpoint Template Slides Powerpoint Presentation Slides
Devops On Cloud Powerpoint Template Slides Powerpoint Presentation SlidesDevops On Cloud Powerpoint Template Slides Powerpoint Presentation Slides
Devops On Cloud Powerpoint Template Slides Powerpoint Presentation SlidesSlideTeam
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introductionSridhara T V
 
Kubernetes Deployment Strategies
Kubernetes Deployment StrategiesKubernetes Deployment Strategies
Kubernetes Deployment StrategiesAbdennour TM
 
Flusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous DeliveryFlusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous DeliveryJoost van der Griendt
 
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | EdurekaDevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | EdurekaEdureka!
 
Speeding up your team with GitOps
Speeding up your team with GitOpsSpeeding up your team with GitOps
Speeding up your team with GitOpsBrice Fernandes
 
Modular Layer 2 In OpenStack Neutron
Modular Layer 2 In OpenStack NeutronModular Layer 2 In OpenStack Neutron
Modular Layer 2 In OpenStack Neutronmestery
 
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...Red Gate Software
 
Modern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsModern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsGlobalLogic Ukraine
 
DevOps Engineer Day-to-Day Activities
DevOps Engineer Day-to-Day Activities DevOps Engineer Day-to-Day Activities
DevOps Engineer Day-to-Day Activities Intellipaat
 
OSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdf
OSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdfOSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdf
OSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdfNETWAYS
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...Simplilearn
 

What's hot (20)

Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
 
Rapid Strategic SRE Assessments
Rapid Strategic SRE AssessmentsRapid Strategic SRE Assessments
Rapid Strategic SRE Assessments
 
An introduction to DevOps
An introduction to DevOpsAn introduction to DevOps
An introduction to DevOps
 
Devops On Cloud Powerpoint Template Slides Powerpoint Presentation Slides
Devops On Cloud Powerpoint Template Slides Powerpoint Presentation SlidesDevops On Cloud Powerpoint Template Slides Powerpoint Presentation Slides
Devops On Cloud Powerpoint Template Slides Powerpoint Presentation Slides
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
Kubernetes Deployment Strategies
Kubernetes Deployment StrategiesKubernetes Deployment Strategies
Kubernetes Deployment Strategies
 
Devops
DevopsDevops
Devops
 
Flusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous DeliveryFlusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous Delivery
 
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | EdurekaDevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Speeding up your team with GitOps
Speeding up your team with GitOpsSpeeding up your team with GitOps
Speeding up your team with GitOps
 
Modular Layer 2 In OpenStack Neutron
Modular Layer 2 In OpenStack NeutronModular Layer 2 In OpenStack Neutron
Modular Layer 2 In OpenStack Neutron
 
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
 
Modern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsModern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOps
 
DevOps
DevOpsDevOps
DevOps
 
Kubeflow
KubeflowKubeflow
Kubeflow
 
DevOps Engineer Day-to-Day Activities
DevOps Engineer Day-to-Day Activities DevOps Engineer Day-to-Day Activities
DevOps Engineer Day-to-Day Activities
 
OSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdf
OSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdfOSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdf
OSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdf
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
 

Similar to Gearing Up for DevOps with Crawl-Walk-Run Framework

Configuration Management in the Cloud | AWS Public Sector Summit 2017
Configuration Management in the Cloud | AWS Public Sector Summit 2017Configuration Management in the Cloud | AWS Public Sector Summit 2017
Configuration Management in the Cloud | AWS Public Sector Summit 2017Amazon Web Services
 
The Rocky Cloud Road
The Rocky Cloud RoadThe Rocky Cloud Road
The Rocky Cloud RoadGert Drapers
 
Preparing for DevOps
Preparing for DevOpsPreparing for DevOps
Preparing for DevOpsEklove Mohan
 
Wellington MuleSoft Meetup 2021-02-18
Wellington MuleSoft Meetup 2021-02-18Wellington MuleSoft Meetup 2021-02-18
Wellington MuleSoft Meetup 2021-02-18Mary Joy Sabal
 
Continuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases WeeklyContinuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases WeeklyRightScale
 
Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401Amazon Web Services
 
DevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay ApplicationDevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay ApplicationMaruti Gollapudi
 
Automating Security in Cloud Workloads with DevSecOps
Automating Security in Cloud Workloads with DevSecOpsAutomating Security in Cloud Workloads with DevSecOps
Automating Security in Cloud Workloads with DevSecOpsAmazon Web Services
 
15-factor-apps.pdf
15-factor-apps.pdf15-factor-apps.pdf
15-factor-apps.pdfNilesh Gule
 
Continuous Integration with Amazon ECS and Docker
Continuous Integration with Amazon ECS and DockerContinuous Integration with Amazon ECS and Docker
Continuous Integration with Amazon ECS and DockerAmazon Web Services
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applicationsSunil Dalal
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build testLen Bass
 
Putting it All Together: Securing Systems at Cloud Scale
Putting it All Together: Securing Systems at Cloud ScalePutting it All Together: Securing Systems at Cloud Scale
Putting it All Together: Securing Systems at Cloud ScaleAmazon Web Services
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+OpsShalu Ahuja
 
AWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for DevelopersAWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for DevelopersAmazon Web Services
 
Securing Systems at Cloud Scale with DevSecOps
Securing Systems at Cloud Scale with DevSecOpsSecuring Systems at Cloud Scale with DevSecOps
Securing Systems at Cloud Scale with DevSecOpsAmazon Web Services
 
Continuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with JenkinsContinuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with Jenkinsecubemarketing
 
Infrastructure as Code for Network
Infrastructure as Code for NetworkInfrastructure as Code for Network
Infrastructure as Code for NetworkDamien Garros
 

Similar to Gearing Up for DevOps with Crawl-Walk-Run Framework (20)

Configuration Management in the Cloud | AWS Public Sector Summit 2017
Configuration Management in the Cloud | AWS Public Sector Summit 2017Configuration Management in the Cloud | AWS Public Sector Summit 2017
Configuration Management in the Cloud | AWS Public Sector Summit 2017
 
The Rocky Cloud Road
The Rocky Cloud RoadThe Rocky Cloud Road
The Rocky Cloud Road
 
Preparing for DevOps
Preparing for DevOpsPreparing for DevOps
Preparing for DevOps
 
Devops architecture
Devops architectureDevops architecture
Devops architecture
 
Wellington MuleSoft Meetup 2021-02-18
Wellington MuleSoft Meetup 2021-02-18Wellington MuleSoft Meetup 2021-02-18
Wellington MuleSoft Meetup 2021-02-18
 
Continuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases WeeklyContinuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases Weekly
 
Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401
 
DevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay ApplicationDevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay Application
 
Automating Security in Cloud Workloads with DevSecOps
Automating Security in Cloud Workloads with DevSecOpsAutomating Security in Cloud Workloads with DevSecOps
Automating Security in Cloud Workloads with DevSecOps
 
15-factor-apps.pdf
15-factor-apps.pdf15-factor-apps.pdf
15-factor-apps.pdf
 
Continuous Integration with Amazon ECS and Docker
Continuous Integration with Amazon ECS and DockerContinuous Integration with Amazon ECS and Docker
Continuous Integration with Amazon ECS and Docker
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build test
 
Putting it All Together: Securing Systems at Cloud Scale
Putting it All Together: Securing Systems at Cloud ScalePutting it All Together: Securing Systems at Cloud Scale
Putting it All Together: Securing Systems at Cloud Scale
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
 
AWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for DevelopersAWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for Developers
 
Securing Systems at Cloud Scale with DevSecOps
Securing Systems at Cloud Scale with DevSecOpsSecuring Systems at Cloud Scale with DevSecOps
Securing Systems at Cloud Scale with DevSecOps
 
Continuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with JenkinsContinuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with Jenkins
 
Devops
DevopsDevops
Devops
 
Infrastructure as Code for Network
Infrastructure as Code for NetworkInfrastructure as Code for Network
Infrastructure as Code for Network
 

Recently uploaded

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Recently uploaded (20)

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

Gearing Up for DevOps with Crawl-Walk-Run Framework

  • 1. Gearing Up for DevOps GETTING TO WALK EKLOVE MOHAN
  • 2. Crawl-Walk-Run-Fly Crawl • Standardize Source Control • Define branching strategy • Define Defect Tracking tool • Automate System test cases • Plan for Synthetic Transactions • Enable Quality Checks • Enable Automated Unit Test cases • Expose to cloud • Build Knowledge base Walk • Build Continuous Integration pipeline • Build an Artifact repository • Build Continuous Delivery pipeline for Dev • Enable Synthetic transaction Run • Build Continuous Delivery pipeline for QA and production • Enable Build Promotion • Setup Infrastructure and application monitoring tools Fly • Enable Blue Green environments • Enable Infrastructure as code • Enable Metric based alerts • Enable Continuous Deployment • Build pipelines of pipelines • Progress towards DevSecOps
  • 3. Recap • Crawl Stage details at https://www.slideshare.net/EkloveMohan/preparing- for-devops • Covered roles and responsibilities for the Organization, Developers, QA and Operations. • Give 2-3 months time to mature. • What we have to start this phase: • Single Source Control system • Well defined Branching Strategy • Defect tracking tool • Quality checks for the source code • Unit Test Automation • Automated System test cases • Knowledge about the complete application • Exposure to cloud
  • 4. DevOps Statistics – “To be are not to be” • Forrester declared 2017 as the “Year of DevOps” and their data conforms that 50% of the organizations are implementing DevOps by the end of 2017. Forrester now predicts that 2018 will be the “year of enterprise DevOps”. https://go.forrester.com/blogs/2018-the-year-of-enterprise-devops/ • Puppet.com indicates that in 2017, the high performer DevOps organization did deployment 46 times more frequently, 440 times faster lead time from commit to deploy, 96 times faster mean time to recover from downtime and 5 times lower change failure rate (changes are 1/5 as likely to fail). https://puppet.com/system/files/2017-10/2017-state-of-devops-report-puppet-dora.pdf • International Data Corporation (IDC) believes that DevOps will be adopted -- in either practice or discipline -- by 80% of Global 1000 organizations by 2019. http://business-technology-roundtable.blogspot.com/2015/02/the-devops-path-to-digital.html
  • 5. Walk Stage - Roles and Responsibilities • Organization • Monitor progress on a daily basis • Filter on Continuous Integration and delivery tools • Define Artifact repository • Quality Assurance (QA) • Optimize system test cases • Enable Synthetic Transactions • Developers • Build Continuous Integration (CI) Pipeline • Script tasks to run for CI • Improve Unit test case coverage • Operations • Build Continuous Delivery (CD) pipeline. • Script task to run the CD process • Build on cloud knowledge
  • 6. Monitor Progress • “Transformation” team to define realistic goals for each sprint. E.g. • Automated Unit Test and system test coverage be at 20% during first 2 sprints and should increase by 5% during each subsequent sprint. • Quality score baseline and ensure that code quality, design quality, architecture quality and Test quality does not deteriorate at any stage. If it does, do ask “why”. • Talk to the team to understand the hinderances. Bringing transformation wont be easy. We have architects in the group to mitigate technical challenges and managers to handle people and process challenges. There is always a “Plan B”.
  • 7. Continuous Integration and Delivery tools • Pick a common tool for Continuous Integration (CI) and Continuous Delivery (CD). While it is absolutely fine to have different tool for CI and CD, keeping them same helps in terms of the learning curve and standardizing tools across organization. • Compare tools on the basics of what your project needs and not only on the basis of someone’s past experience. Factors like plugin supports (e.g. SonarQube support), cost, Software as a service vs self hosted, API driven, GUI, command line integration, Training and documentation along with the community support are some important points to consider. • Not all the features are available with a single tool therefore they provide an option of executing custom scripts which can be in powershell/shell or nant. Developers and Operations need to create these as and when required.
  • 8. Artifact repository • Build a repository to store all the code builds. The repository should have a provision of storing builds per environment. Mostly the CI tools stores all the builds on the CI Server itself but it’s better to keep them out of the CI servers (may run into issues with disk space and have to clean the old builds to efficiently run CI process). • It can be a simple file system storage but needs good amount of disk space as well as a solid backup strategy. • Cloud can be a good option to start if this has not been tried as yet in the organization. E.g. AWS Simple Storage Service (S3) provides all the capabilities that is expected from a repository. • Configure the repository such that every build first goes to the lowest environment. When it is tested and verified, then only it should move to the next environment. E.g. the build should first be deployed only to Dev. Once certified that everything is working as expected, then only move the artifacts to the QA environment. NONE OF THE ARTIFACTS SHOULD DIRECTLY BE TARGETED FOR THE PRODUCTION ENVIRONMENT (NOT EVEN HOTFIXES). IT HAS TO FOLLOW THE CYLCE OF NON-PROD to PROD.
  • 9. 1. Download custom scripts 2. Download Source Code 3. Build Source code 4. Quality checks 5. Run automated unit test case 6. Upload artifacts Feedback Fail Fail Fail Fail Fail Fail Pass Pass Pass Pass Pass Continuous Integration pipeline
  • 10. Master-Slave for CI • Every developer check-in should trigger the CI pipeline and creates a build. If there are too many check-ins at almost the same time, the CI server, queues up each of the request and process them in order they were received. • For a small team this may not be an issue, but for large teams, waiting for the old build to complete and start a new one delays the process of “continuous feedback”. • Implement master-slave for the CI process. The master server monitors for all the changes but it distributes the pipeline execution to the slaves. Master keeps a track of all the running jobs on each of the slaves and all the reporting continues to be from the master. • This provides high availability in case a slave node fails. Master keeps a track of all the “active” slaves and distribute the task accordingly. Master CI server Slave Slave Slave Commands Commands Commands Source Control Poll changes
  • 11. Continuous Delivery/Deployment • To build the CD pipeline, there are two options: • Continuous Delivery – CI and CD works independently • Continuous Deployment – CI process triggers CD pipeline • For Dev environment, configure for Continuous Deployment. Other environments require a bit more confidence building before we can go for Continuous Deployment. • With CI pipeline, the build was created and uploaded to Artifact repository. CD process starts from downloading the build and ends at deploying the build to the target environment. • To keep things simple, the CD pipeline is one per environment where as the CI pipeline is one per application. This is due to the fact that the build is created irrespective of the environment whereas the deployment is done on separate set of servers with a distinct set of permissions. E.g. Dev users do not have permission to deploy on QA environment. • Before deployment to the target environment, the CD pipeline should have a “config transformation” phase where the environment specific configs are updated before they are deployed. E.g. update QA DB connection strings before it is deployed to QA environment. Continuous Integration Deployment Continuous Integration Deployment Manual Trigger Auto Trigger Continuous Delivery Continuous Deployment
  • 12. Preparing Infrastructure on Cloud • To get started on cloud, use IaaS (infrastructure as a service) offering. Create EC2/VM on the server and follow the wizard steps(Choosing Operating System, Storage Space, Memory and CPUs, security group etc). • Create a common root user and password on the servers or use a common .pem file for all servers. • The manual steps of creating the servers at this stage helps us automate the process of server creating later. As of now, create all the servers (manually) needed for the application. Call this environment a PoC or Dev environment (since this is for experimentation purpose). • Install all the pre-requisites on the servers created (e.g. Java runtime, .NET framework, web server etc). • Optionally, take a snapshot of the servers when all pre-requisites are installed. Use this next time instead of building the servers again. • To run the application on cloud, you also need database(s). Generate database script, DDL and DML(only the master data and not the transactional data). E.g. On Amazon Web Services, create a RDS (Relation Database Service), choose the database server and run the script. • Note all the IP addresses (public) for the servers that are created. This information is needed while deploying binaries on cloud servers. (Note: every time the servers are restarted, the public IP address would change, therefore either use Elastic IP or change the CD script with the new IP addresses before CD pipeline is executed)
  • 13. 1. Download custom scripts 2. Download build from Artifact repo. 3. Transform config files 4. Deploy 5. Run System test Feedback Fail Fail Fail Fail Fail Pass Pass Continuous Delivery pipeline PassPass
  • 14. Enable Synthetic transaction • Create a standalone pipeline for executing synthetic transaction (a dummy transaction that touches all the external endpoints and then void the transaction). • The pipeline executes once a day, at a predefined time, ideally just before the business hours. • It “warms up” the environment as well as provide early feedback if an issue exists while connecting to other third party or components within the enterprise. 1. Download custom scripts 2. Create dummy record in the database. 3. Execute test case 4. Clean up database Feedback Fail Fail Fail Fail Pass PassPassTrigger
  • 15. Closing words • Things have been simple during the “walk” stage, we haven’t used a lot of industry standard tools as yet. We tried to work with what we build during the “crawl” stage. • The CD pipeline steps are common for on-premise and cloud during this phase but it changes during our “run” phase. The intent is to be able to gain knowledge on cloud (and CI/CD tools) and start deployment with basic setup. • Let the “walk” phase run for 1-2 months and gain confidence by doing the simple things right. The Dev and Ops have started working together and have gained some level of maturity. • Start preparing for to the “Run” stage. Let some more projects start with the “crawl” stage. Time now to rename our “Transformation” team to be “DevOps” CoE.
  • 16. Coming up next Details on how to work during the “Run” stage.