SlideShare a Scribd company logo
DevOps
Malinda Kapuruge
Senior Engineer - microservices
09 / Oct / 2018
– why, what and how?
This is Garry
… he is a product owner
… sometimes happy
Garry got a problem
• Software delivery takes too long
• Not frequent enough
• Poor biz responsiveness
!
We will deploy
a new version
to Prod
(hopefully !!!)
This is Garry’s team
Garry’s team got a problem too
Manual processes
One day, $hit hits the fan …
Slow and painful recovery that requires
a considerable time and effort
The FIX !
(fingers crossed)
So what is wrong here ?
It’s NOT the crash !
And, it’s not the person who
added the wrong patch
($hit happens)
How do we find a solution ?
Garry discovers Devops! No joke !!
So, what is Devops ?
Hold on!
Business / corporate
Dev Ops
Dev
Ops
Whatever…
Dev
Ops
Hey, I need a new server
to host this
application…
Sure! Create a ticket.
Come back in two
weeks. SORRY! Busy!!
So, what the heck is Devops
Anyways ?
It is a culture change
Shared responsibility
Dev Ops
Think ops
Think dev
Dev Ops
How can I write better programs,
so that my application can be
easily and quickly deploy/scale ?
How can I provide better ops,
so that the programs can be
built, tested and deployed efficiently?
DevOps
How we get things
DONE! DONE !!
Thinking end-to-end …
Visibility end-to-end …
Don’t be mistaken.
You still need to do the same work, i.e.,
coding, testing, deploying and monitoring.
But now you doing it in a more integrated and
transparent manner.
Devops
• Rapid IT delivery
• Adopt agile and lean practices
• To improve collaboration between operations and development
• Programmable infrastructure
• Automate everything
• Feedback -> optimize
• Identify bottlenecks
• Usage patterns
Devops (end to end)
Devops is
NOT - a set of tools
- something you can buy
Agile!=devops
Agile Values
Devops
Cloud
computi
ng
Container
isation
Microse
rvices
Agile
…
Economie
s of scale
Devops benefits
• Deliver faster
• Deliver frequently
• Smaller feedback cycles
• Smaller releases
• Quality – fewer mistakes – fewer bugs
• Security (fine-grained access)
• Compliance (business expectations, regulations, standards)
• Accountability (events for every change, auditing)
Let’s see some action
Let’s deploy a web application
Web browser
End user
Dev machine
Web server
Demo 1
Web server
Dev machine
Demo 2
Web server
Build box
Dev machine Dev machine
What happened there?
• In Demo 1, we deployed a nodejs application to production server
directly from the dev machine.
• Very easy, but very risky.
• In Demo 2, a build box is used to automate the build and test our
change.
• Demo 2 setup shows more maturity compared demo 1
• The code build and deploy concerns are decoupled
• How can we further improve Demo 2 ?
The processes and tools may
vary between organizations!
Make sure to pick ones that fit
your needs!
Continuously iterate to improve
your processes and tools!!
Aim for higher maturity!!!
Let’s
dig
deeper
Devops Essentials
plan
create
verify
package
release
configure
monitor
Agile Development
Continuous Integration
Continuous Delivery
Devops
Continuous Integration
• Build and test every time there is a code change
• Code commit / merge -> automated build and testing
• Clean master (or develop) branch
• Version control strategies – Git
• Small increments
• Long isolated development -> merge conflicts
Coding in
a branch
Create pull
request
Code
review
Merge
Automated Testing
• Build pipeline performs testing, e.g., before every merge
• Quality gates – SonarQube
• Confidence to deliver
• Test pyramid
• Unit tests (test a unit of code in isolation)
• Integration tests (modules tested as a group)
• Regression tests (whenever something is changed)
• Contract tests
• tests the interactions between modules
Acceptance tests
Integration tests
Unit tests
Automated Testing
• Test pyramid – a lot of unit tests
• Test coverage reports
• Microservices –> many interactions to test
• Reduce the amount of integration tests
• Slow. Hard to detect issues
• Contract testing as Unit tests (fast)
• Pact Framework
ms1
ms2
ms3
ms4
Continuous Delivery
• Software can be released to production at anytime
• A set of design principles
• Any version to any environment
• A deployment pipeline
• Speed and Quality
• Continuous deployment requires continuous delivery
Continuous Delivery - example
Code
change
Branch
build and
test
Merge
and test
Build
artifact Test 1
Prod
Staging 1
Staging 1
Test 1
v3
Artifact repo
v1 v2
v2
v2
v2
Infrastructure as code
• Versioned
• Repeatable
• Standardized
• Automating tests and configuration free up valuable time
• Deploy the complete system, any day, any time
• Self-recovery
• Idempotence
• Immutability
• Cattle vs Pets
• Reveal possibilities to optimize
Infrastructure as code
Monitoring and analytics
How to measure the success?
KPI Description
Change lead time From coding to deploy in production
Change volume Features pushed to production per deploy
Deployment frequency Number of deployments per day
Success rate Successful deployments / total deployments
Time to detect defects Mean time taken to detect a bug in the
production
Time to recover Mean time to recover
Other application metrics For example, improvements in resource
consumption due to devops feedback.
Tools
• So many vendors
• So many alternatives
• Cost vs business requirements
• SaaS devops tools
• Vendor lockin
• Overlap different phases of Devops cycles
• Separate ops team. Champions
Question time…
What is Blue-Green deployment ?
Some new trends
• PaaS
• Containers
• Microservices
• …
PaaS
• Challenging and helping at the same time
• Security concerns
• On demand infrastructure
• Wipe out and re-create the complete infrastructure within an hour
• Do that with your own server. Good luck!
• Demand fluctuations - Scalability
Containers
• Shared OS
• Application portability
• Isolation
• Cloud friendly
• Docker
• opencontainers.org
https://www.zdnet.com/article/what-is-docker-and-why-is-it-so-darn-popular/
Container orchestration
• Kubernetes
• For container orchestration
• Distribution
• Scheduling
• Logical container units
• When there are hundreds of containers to manage
• Works with docker
Microservices
The BIG
monolith
ms1
ms2
ms3
ms4
Better granularity - Scalability, security etc.
Look for new trends. Innovate
and adapt (or simply copy from
others)
I know I am talking to Uni students.
Can Devops Fail?
Of course !
Causes of failure
• Lack of willingness
• Lack of trust
• Resistance to change
• Lack of leadership vision
• Lack of knowledge
• Devops taken as ops
• Old baggage
• Lack of patience
I’m a student. Where should I start ?
• Learn Linux Fundamentals. Please !
• Learn the devops concepts (Here I covered few…)
• Learn Devops-y languages, e.g., Python, Perl, Gradle
• Learn about new devops tools and learn their pros and cons, e.g.,
Kubernetes vs Docker Swarm
• Join a meetup
• Improve soft skills
Conclusion
• Devops is a culture change
• There are
• business benefits, e.g., faster feature delivery
• technical benefits, e.g., faster defect detection and recovery
• Concepts
• Devops is not a silver bullet
• Continuously optimize
Thank you
Any questions?
@kaushalye

More Related Content

What's hot

Containers 101
Containers 101Containers 101
Containers 101
Black Duck by Synopsys
 
All Things Open 2017: How to Treat a Network as a Container
All Things Open 2017: How to Treat a Network as a ContainerAll Things Open 2017: How to Treat a Network as a Container
All Things Open 2017: How to Treat a Network as a Container
Rosemary Wang
 
Microservices Practitioner Summit Jan '15 - Maximizing Developer Productivity...
Microservices Practitioner Summit Jan '15 - Maximizing Developer Productivity...Microservices Practitioner Summit Jan '15 - Maximizing Developer Productivity...
Microservices Practitioner Summit Jan '15 - Maximizing Developer Productivity...
Ambassador Labs
 
Works on my machine, your problem now? - QCon 2014
Works on my machine, your problem now? - QCon 2014Works on my machine, your problem now? - QCon 2014
Works on my machine, your problem now? - QCon 2014
Wolfgang Gottesheim
 
Using Document Databases with TYPO3 Flow
Using Document Databases with TYPO3 FlowUsing Document Databases with TYPO3 Flow
Using Document Databases with TYPO3 Flow
Karsten Dambekalns
 
Kubernetes and container security
Kubernetes and container securityKubernetes and container security
Kubernetes and container security
Volodymyr Shynkar
 
Tech io nodejs_20130531_v0.6
Tech io nodejs_20130531_v0.6Tech io nodejs_20130531_v0.6
Tech io nodejs_20130531_v0.6
Ganesh Kondal
 
Innovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXCInnovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXC
kscaldef
 
Improving Engineering Processes using Hudson - Spark IT 2010
Improving Engineering Processes using Hudson - Spark IT 2010Improving Engineering Processes using Hudson - Spark IT 2010
Improving Engineering Processes using Hudson - Spark IT 2010
Arun Gupta
 
Crikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopCrikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor Workshop
Velocidex Enterprises
 
Idi2018 - Serverless does not mean Opsless
Idi2018 - Serverless does not mean OpslessIdi2018 - Serverless does not mean Opsless
Idi2018 - Serverless does not mean Opsless
Linuxaria.com
 
Docker security
Docker securityDocker security
Docker security
Vishwas N
 
Build 2017 SQL Server in Dev Ops
Build 2017 SQL Server in Dev OpsBuild 2017 SQL Server in Dev Ops
Build 2017 SQL Server in Dev Ops
Travis Wright
 
Deployment with Ruby on Rails
Deployment with Ruby on RailsDeployment with Ruby on Rails
Deployment with Ruby on Rails
Jonathan Weiss
 
Hudson at FISL 2009
Hudson at FISL 2009Hudson at FISL 2009
Hudson at FISL 2009
Arun Gupta
 
Docker bdxio
Docker bdxioDocker bdxio
Docker bdxio
Nicolas De Loof
 
Distributed fun with etcd
Distributed fun with etcdDistributed fun with etcd
Distributed fun with etcd
Abdulaziz AlMalki
 
Real world cloud formation feb 2014 final
Real world cloud formation feb 2014 finalReal world cloud formation feb 2014 final
Real world cloud formation feb 2014 finalHoward Glynn
 
Cassandra Summit 2014: Deploying Cassandra for Call of Duty
Cassandra Summit 2014: Deploying Cassandra for Call of DutyCassandra Summit 2014: Deploying Cassandra for Call of Duty
Cassandra Summit 2014: Deploying Cassandra for Call of Duty
DataStax Academy
 

What's hot (20)

Containers 101
Containers 101Containers 101
Containers 101
 
All Things Open 2017: How to Treat a Network as a Container
All Things Open 2017: How to Treat a Network as a ContainerAll Things Open 2017: How to Treat a Network as a Container
All Things Open 2017: How to Treat a Network as a Container
 
Microservices Practitioner Summit Jan '15 - Maximizing Developer Productivity...
Microservices Practitioner Summit Jan '15 - Maximizing Developer Productivity...Microservices Practitioner Summit Jan '15 - Maximizing Developer Productivity...
Microservices Practitioner Summit Jan '15 - Maximizing Developer Productivity...
 
Works on my machine, your problem now? - QCon 2014
Works on my machine, your problem now? - QCon 2014Works on my machine, your problem now? - QCon 2014
Works on my machine, your problem now? - QCon 2014
 
Using Document Databases with TYPO3 Flow
Using Document Databases with TYPO3 FlowUsing Document Databases with TYPO3 Flow
Using Document Databases with TYPO3 Flow
 
Kubernetes and container security
Kubernetes and container securityKubernetes and container security
Kubernetes and container security
 
Tech io nodejs_20130531_v0.6
Tech io nodejs_20130531_v0.6Tech io nodejs_20130531_v0.6
Tech io nodejs_20130531_v0.6
 
Innovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXCInnovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXC
 
Improving Engineering Processes using Hudson - Spark IT 2010
Improving Engineering Processes using Hudson - Spark IT 2010Improving Engineering Processes using Hudson - Spark IT 2010
Improving Engineering Processes using Hudson - Spark IT 2010
 
Crikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopCrikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor Workshop
 
Node.js architecture (EN)
Node.js architecture (EN)Node.js architecture (EN)
Node.js architecture (EN)
 
Idi2018 - Serverless does not mean Opsless
Idi2018 - Serverless does not mean OpslessIdi2018 - Serverless does not mean Opsless
Idi2018 - Serverless does not mean Opsless
 
Docker security
Docker securityDocker security
Docker security
 
Build 2017 SQL Server in Dev Ops
Build 2017 SQL Server in Dev OpsBuild 2017 SQL Server in Dev Ops
Build 2017 SQL Server in Dev Ops
 
Deployment with Ruby on Rails
Deployment with Ruby on RailsDeployment with Ruby on Rails
Deployment with Ruby on Rails
 
Hudson at FISL 2009
Hudson at FISL 2009Hudson at FISL 2009
Hudson at FISL 2009
 
Docker bdxio
Docker bdxioDocker bdxio
Docker bdxio
 
Distributed fun with etcd
Distributed fun with etcdDistributed fun with etcd
Distributed fun with etcd
 
Real world cloud formation feb 2014 final
Real world cloud formation feb 2014 finalReal world cloud formation feb 2014 final
Real world cloud formation feb 2014 final
 
Cassandra Summit 2014: Deploying Cassandra for Call of Duty
Cassandra Summit 2014: Deploying Cassandra for Call of DutyCassandra Summit 2014: Deploying Cassandra for Call of Duty
Cassandra Summit 2014: Deploying Cassandra for Call of Duty
 

Similar to Devops - why, what and how?

DevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesDevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best Practices
Shiva Narayanaswamy
 
DevOps and Microservice
DevOps and MicroserviceDevOps and Microservice
DevOps and Microservice
Inho Kang
 
DevOps Days Ohio
DevOps Days OhioDevOps Days Ohio
DevOps Days Ohio
Kelly Looney
 
DevOps The Cultural revolution
DevOps The Cultural revolutionDevOps The Cultural revolution
DevOps The Cultural revolution
Somenath Ghosh
 
DevOps Workshops Fall 2016
DevOps Workshops Fall 2016DevOps Workshops Fall 2016
DevOps Workshops Fall 2016
Kelly Looney
 
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Kelly Looney
 
Docker-N-Beyond
Docker-N-BeyondDocker-N-Beyond
Docker-N-Beyondsantosh007
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
Ambientia
 
Agile
AgileAgile
Agile
Komal2525
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
Karthik Gaekwad
 
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
Amazon Web Services
 
Make It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version ControlMake It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version Control
indiver
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
Docker, Inc.
 
Docker?!?! But I'm a SysAdmin
Docker?!?! But I'm a SysAdminDocker?!?! But I'm a SysAdmin
Docker?!?! But I'm a SysAdmin
Docker, Inc.
 
Community day 2013 applied architectures
Community day 2013   applied architecturesCommunity day 2013   applied architectures
Community day 2013 applied architecturesPanagiotis Kefalidis
 
Intro to DevOps
Intro to DevOpsIntro to DevOps
Intro to DevOps
Pritiman Panda
 
Mind the Gap: Crossing the DevOps Chasm
Mind the Gap: Crossing the DevOps ChasmMind the Gap: Crossing the DevOps Chasm
Mind the Gap: Crossing the DevOps Chasm
QualiQuali
 
Mind the Gap: Crossing the DevOps Chasm
Mind the Gap: Crossing the DevOps ChasmMind the Gap: Crossing the DevOps Chasm
Mind the Gap: Crossing the DevOps Chasm
QualiQuali
 
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
DevOps.com
 
How Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityHow Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivity
Ivan Porta
 

Similar to Devops - why, what and how? (20)

DevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesDevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best Practices
 
DevOps and Microservice
DevOps and MicroserviceDevOps and Microservice
DevOps and Microservice
 
DevOps Days Ohio
DevOps Days OhioDevOps Days Ohio
DevOps Days Ohio
 
DevOps The Cultural revolution
DevOps The Cultural revolutionDevOps The Cultural revolution
DevOps The Cultural revolution
 
DevOps Workshops Fall 2016
DevOps Workshops Fall 2016DevOps Workshops Fall 2016
DevOps Workshops Fall 2016
 
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
 
Docker-N-Beyond
Docker-N-BeyondDocker-N-Beyond
Docker-N-Beyond
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
 
Agile
AgileAgile
Agile
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
 
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
 
Make It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version ControlMake It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version Control
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
Docker?!?! But I'm a SysAdmin
Docker?!?! But I'm a SysAdminDocker?!?! But I'm a SysAdmin
Docker?!?! But I'm a SysAdmin
 
Community day 2013 applied architectures
Community day 2013   applied architecturesCommunity day 2013   applied architectures
Community day 2013 applied architectures
 
Intro to DevOps
Intro to DevOpsIntro to DevOps
Intro to DevOps
 
Mind the Gap: Crossing the DevOps Chasm
Mind the Gap: Crossing the DevOps ChasmMind the Gap: Crossing the DevOps Chasm
Mind the Gap: Crossing the DevOps Chasm
 
Mind the Gap: Crossing the DevOps Chasm
Mind the Gap: Crossing the DevOps ChasmMind the Gap: Crossing the DevOps Chasm
Mind the Gap: Crossing the DevOps Chasm
 
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
 
How Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityHow Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivity
 

More from Malinda Kapuruge

Moving faster with CI/CD: Best DevOps practices and lessons learnt
Moving faster with CI/CD: Best DevOps practices and lessons learntMoving faster with CI/CD: Best DevOps practices and lessons learnt
Moving faster with CI/CD: Best DevOps practices and lessons learnt
Malinda Kapuruge
 
Technical guidance in SaaS Startups
Technical guidance in SaaS StartupsTechnical guidance in SaaS Startups
Technical guidance in SaaS Startups
Malinda Kapuruge
 
Test Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s PerspectiveTest Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s Perspective
Malinda Kapuruge
 
Life after PhD - An insight and a few tips to kick-start your career in the i...
Life after PhD - An insight and a few tips to kick-start your career in the i...Life after PhD - An insight and a few tips to kick-start your career in the i...
Life after PhD - An insight and a few tips to kick-start your career in the i...
Malinda Kapuruge
 
EPClets - A Lightweight and Flexible Textual Language to Augment EPC Process ...
EPClets - A Lightweight and Flexible Textual Language to Augment EPC Process ...EPClets - A Lightweight and Flexible Textual Language to Augment EPC Process ...
EPClets - A Lightweight and Flexible Textual Language to Augment EPC Process ...
Malinda Kapuruge
 
Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...
Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...
Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...
Malinda Kapuruge
 
Supporting Adaptation Patterns in the Event-driven Business Process Modell...
Supporting  Adaptation Patterns  in the Event-driven  Business Process Modell...Supporting  Adaptation Patterns  in the Event-driven  Business Process Modell...
Supporting Adaptation Patterns in the Event-driven Business Process Modell...
Malinda Kapuruge
 
Scalable, Business Service-based SaaS Applications
Scalable, Business Service-based SaaS ApplicationsScalable, Business Service-based SaaS Applications
Scalable, Business Service-based SaaS Applications
Malinda Kapuruge
 
Representing Service-Relationships as First Class Entities in Service Orchest...
Representing Service-Relationships as First Class Entities in Service Orchest...Representing Service-Relationships as First Class Entities in Service Orchest...
Representing Service-Relationships as First Class Entities in Service Orchest...
Malinda Kapuruge
 
Achieving Multi-tenanted Business Processes in SaaS Applications
Achieving Multi-tenanted Business Processes in SaaS Applications  Achieving Multi-tenanted Business Processes in SaaS Applications
Achieving Multi-tenanted Business Processes in SaaS Applications
Malinda Kapuruge
 

More from Malinda Kapuruge (10)

Moving faster with CI/CD: Best DevOps practices and lessons learnt
Moving faster with CI/CD: Best DevOps practices and lessons learntMoving faster with CI/CD: Best DevOps practices and lessons learnt
Moving faster with CI/CD: Best DevOps practices and lessons learnt
 
Technical guidance in SaaS Startups
Technical guidance in SaaS StartupsTechnical guidance in SaaS Startups
Technical guidance in SaaS Startups
 
Test Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s PerspectiveTest Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s Perspective
 
Life after PhD - An insight and a few tips to kick-start your career in the i...
Life after PhD - An insight and a few tips to kick-start your career in the i...Life after PhD - An insight and a few tips to kick-start your career in the i...
Life after PhD - An insight and a few tips to kick-start your career in the i...
 
EPClets - A Lightweight and Flexible Textual Language to Augment EPC Process ...
EPClets - A Lightweight and Flexible Textual Language to Augment EPC Process ...EPClets - A Lightweight and Flexible Textual Language to Augment EPC Process ...
EPClets - A Lightweight and Flexible Textual Language to Augment EPC Process ...
 
Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...
Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...
Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...
 
Supporting Adaptation Patterns in the Event-driven Business Process Modell...
Supporting  Adaptation Patterns  in the Event-driven  Business Process Modell...Supporting  Adaptation Patterns  in the Event-driven  Business Process Modell...
Supporting Adaptation Patterns in the Event-driven Business Process Modell...
 
Scalable, Business Service-based SaaS Applications
Scalable, Business Service-based SaaS ApplicationsScalable, Business Service-based SaaS Applications
Scalable, Business Service-based SaaS Applications
 
Representing Service-Relationships as First Class Entities in Service Orchest...
Representing Service-Relationships as First Class Entities in Service Orchest...Representing Service-Relationships as First Class Entities in Service Orchest...
Representing Service-Relationships as First Class Entities in Service Orchest...
 
Achieving Multi-tenanted Business Processes in SaaS Applications
Achieving Multi-tenanted Business Processes in SaaS Applications  Achieving Multi-tenanted Business Processes in SaaS Applications
Achieving Multi-tenanted Business Processes in SaaS Applications
 

Recently uploaded

GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 

Recently uploaded (20)

GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 

Devops - why, what and how?

  • 1. DevOps Malinda Kapuruge Senior Engineer - microservices 09 / Oct / 2018 – why, what and how?
  • 2. This is Garry … he is a product owner … sometimes happy
  • 3. Garry got a problem • Software delivery takes too long • Not frequent enough • Poor biz responsiveness ! We will deploy a new version to Prod (hopefully !!!)
  • 5. Garry’s team got a problem too Manual processes
  • 6.
  • 7. One day, $hit hits the fan …
  • 8. Slow and painful recovery that requires a considerable time and effort
  • 10. So what is wrong here ?
  • 11. It’s NOT the crash ! And, it’s not the person who added the wrong patch ($hit happens)
  • 12. How do we find a solution ?
  • 14. So, what is Devops ?
  • 18. Dev Ops Hey, I need a new server to host this application… Sure! Create a ticket. Come back in two weeks. SORRY! Busy!!
  • 19.
  • 20. So, what the heck is Devops Anyways ?
  • 21. It is a culture change
  • 24. Dev Ops How can I write better programs, so that my application can be easily and quickly deploy/scale ? How can I provide better ops, so that the programs can be built, tested and deployed efficiently?
  • 25. DevOps How we get things DONE! DONE !! Thinking end-to-end … Visibility end-to-end …
  • 26. Don’t be mistaken. You still need to do the same work, i.e., coding, testing, deploying and monitoring. But now you doing it in a more integrated and transparent manner.
  • 27. Devops • Rapid IT delivery • Adopt agile and lean practices • To improve collaboration between operations and development • Programmable infrastructure • Automate everything • Feedback -> optimize • Identify bottlenecks • Usage patterns
  • 29. Devops is NOT - a set of tools - something you can buy
  • 32.
  • 33. Devops benefits • Deliver faster • Deliver frequently • Smaller feedback cycles • Smaller releases • Quality – fewer mistakes – fewer bugs • Security (fine-grained access) • Compliance (business expectations, regulations, standards) • Accountability (events for every change, auditing)
  • 35. Let’s deploy a web application Web browser End user Dev machine Web server
  • 37. Demo 2 Web server Build box Dev machine Dev machine
  • 38. What happened there? • In Demo 1, we deployed a nodejs application to production server directly from the dev machine. • Very easy, but very risky. • In Demo 2, a build box is used to automate the build and test our change. • Demo 2 setup shows more maturity compared demo 1 • The code build and deploy concerns are decoupled • How can we further improve Demo 2 ?
  • 39. The processes and tools may vary between organizations!
  • 40. Make sure to pick ones that fit your needs! Continuously iterate to improve your processes and tools!! Aim for higher maturity!!!
  • 43. Continuous Integration • Build and test every time there is a code change • Code commit / merge -> automated build and testing • Clean master (or develop) branch • Version control strategies – Git • Small increments • Long isolated development -> merge conflicts Coding in a branch Create pull request Code review Merge
  • 44. Automated Testing • Build pipeline performs testing, e.g., before every merge • Quality gates – SonarQube • Confidence to deliver • Test pyramid • Unit tests (test a unit of code in isolation) • Integration tests (modules tested as a group) • Regression tests (whenever something is changed) • Contract tests • tests the interactions between modules Acceptance tests Integration tests Unit tests
  • 45. Automated Testing • Test pyramid – a lot of unit tests • Test coverage reports • Microservices –> many interactions to test • Reduce the amount of integration tests • Slow. Hard to detect issues • Contract testing as Unit tests (fast) • Pact Framework ms1 ms2 ms3 ms4
  • 46. Continuous Delivery • Software can be released to production at anytime • A set of design principles • Any version to any environment • A deployment pipeline • Speed and Quality • Continuous deployment requires continuous delivery
  • 47. Continuous Delivery - example Code change Branch build and test Merge and test Build artifact Test 1 Prod Staging 1 Staging 1 Test 1 v3 Artifact repo v1 v2 v2 v2 v2
  • 48. Infrastructure as code • Versioned • Repeatable • Standardized • Automating tests and configuration free up valuable time • Deploy the complete system, any day, any time • Self-recovery • Idempotence • Immutability • Cattle vs Pets • Reveal possibilities to optimize
  • 51.
  • 52. How to measure the success?
  • 53. KPI Description Change lead time From coding to deploy in production Change volume Features pushed to production per deploy Deployment frequency Number of deployments per day Success rate Successful deployments / total deployments Time to detect defects Mean time taken to detect a bug in the production Time to recover Mean time to recover Other application metrics For example, improvements in resource consumption due to devops feedback.
  • 54. Tools • So many vendors • So many alternatives • Cost vs business requirements • SaaS devops tools • Vendor lockin • Overlap different phases of Devops cycles • Separate ops team. Champions
  • 55. Question time… What is Blue-Green deployment ?
  • 56. Some new trends • PaaS • Containers • Microservices • …
  • 57. PaaS • Challenging and helping at the same time • Security concerns • On demand infrastructure • Wipe out and re-create the complete infrastructure within an hour • Do that with your own server. Good luck! • Demand fluctuations - Scalability
  • 58. Containers • Shared OS • Application portability • Isolation • Cloud friendly • Docker • opencontainers.org https://www.zdnet.com/article/what-is-docker-and-why-is-it-so-darn-popular/
  • 59. Container orchestration • Kubernetes • For container orchestration • Distribution • Scheduling • Logical container units • When there are hundreds of containers to manage • Works with docker
  • 61. Look for new trends. Innovate and adapt (or simply copy from others) I know I am talking to Uni students.
  • 64. Causes of failure • Lack of willingness • Lack of trust • Resistance to change • Lack of leadership vision • Lack of knowledge • Devops taken as ops • Old baggage • Lack of patience
  • 65. I’m a student. Where should I start ? • Learn Linux Fundamentals. Please ! • Learn the devops concepts (Here I covered few…) • Learn Devops-y languages, e.g., Python, Perl, Gradle • Learn about new devops tools and learn their pros and cons, e.g., Kubernetes vs Docker Swarm • Join a meetup • Improve soft skills
  • 66. Conclusion • Devops is a culture change • There are • business benefits, e.g., faster feature delivery • technical benefits, e.g., faster defect detection and recovery • Concepts • Devops is not a silver bullet • Continuously optimize