DevOps Workshop
Marco Bizzantino CTO @ Kiratech
marco.bizzantino@kiratech.it
@bizzam
Who is Kiratech
For more than 10 years Kiratech has been selecting the best technologies and methodologies to help Enterprises in the Digital Transformation Journey.
Verona | Milano | Roma
Is “Digital Transformation” a buzzword?
Digital Transformation is real
Enterprises need to be faster, and software is the key
Digital Darwinism
Enterprises must evolve to maintain and growth their market share
Legacy Enterprise IT
Focus on
• Automation of Business
• Legacy business model
• Systems of Record
• Irregular, Periodic change
• Emphasis on service Delivery
• Centralized IT
• Operations and Functional Silos
Legacy Enterprise IT
Lack of innovation
Big Vendor software totally unknown to the new IT generations Excessive rework and manual steps
Most of the IT budget is spent just to maintain the status-quo
Digital Enterprise
Focus on
• Digitization Transformation of Business
• Customer-centric experience approach
• Digital Business Models
• Systems of Engagement
• Continuous Everything
• Emphasis on Digital Experience
• Decentralized IT - everything is IT
Redrawing of the Enterprise IT stack
Through the DevOps adoption
Core Value of the DevOps movement
C
ultureA
utomationM
easurementS
haringState of DevOps in 2016-2017
Demographics
Demographics
DevOps Distribution
Key Findings
• High-performing organisations are decisively outperforming their
lower-performing peers in terms of throughput
• High performers have better
employee loyalty, as measured by employee Net Promoter Score
(eNPS)
• High performers spend 50 percent less time remediating security
issues than low performers
Key Findings
• Improving quality is everyone’s job
• Taking an experimental approach to product development can
improve your IT and
organisational performance
• Undertaking a technology transformation initiative can
produce sizeable cost savings for any organisation
DevOps Distribution
Understanding the ROI of DevOps
• Savings includes the cost of downtime and the cost of excess rework
• Value includes the potential revenue and customers gained from releasing more quickly
Potential Savings from Eliminating Excess Rework
Cost of excess rework = Technical staff size × Average salary × Benefits multiplier × Percentage of technical
staff time spent on excess rework
Potential Savings from Reducing Downtime
Every organisation should assess its own downtime costs based on its own
business model and architecture
Cost of downtime = Deployment
frequency × Change failure rate × Mean time to recover × Hourly cost of outage
DevOps adds Value
Improve your organisation’s competitiveness and revenue
Improve your product development cycles:
• Get new features and products to market faster
• Release with fewer bugs
• Experiment more
• Roll out results of successful experiments to new markets Improve data collection and analysis:
• Get better business intelligence about your customer
Improve your organisation’s competitiveness and revenue
Improve your website:
• Drive more customer engagement
• Drive more sales and/or leads Improve services you offer:
• Drive customer retention
• Get more referrals
• Get more incremental revenue from existing customers
Reinvesting the human time, creativity and energy saved by reducing rework and downtime can achieve great
business results
DevOps = People + Tools
Key roles in Enterprises
• The DevOps Evangelist
• The Release Manager
• The Automation Architect
• The Software Developer/Tester
• The experience assurance (XA) professional
• The Security Engineer
• The utility technology player
Key tools
• A central code repository
• CD/CI/Pipeline
• Automation (test automation too)
• Monitoring
• Metric and Analytics
• Security
• Portability
The DevOps Design
API based Automated
Monitoring
Store any data Search any data
Add Security and Anomaly Detection
in any layer Any Infrastructure
Enables a new workflow: Containers as a Service
Cloud is the natural datacenter extension
Any Cloud needs DevOps
• Infrastructure Automation – create your systems, OS configs, and app deployments as code
• Continuous Delivery – build, test, deploy your apps in a fast and automated manner
• Site Reliability Engineering – operate your systems; monitoring and orchestration, sure, but also designing for operability in the first place
• Security by design
If you are doing continuous delivery, then you are making hundreds of changes to your environment every day.
The old process does not work.
If you are trying to check all components at the end of the development lifecycle, you are in for a lot of rework.
Using Metrics to improve DevOps
Why you need metrics
• Is a way to measure the success (or lack of success) of your DevOps program
• Is a way to find out how it can be improved, modified, or extended
• Without metrics, you’re flying blind
• With metrics, you have a holistic point of view, you know where you are, where you’re going, where you can go, and how to get there
• It’s not just analytics tools, but measuring the pipeline itself
Automated Testing
Why Automated Testing?
• An automated testing tool is able to playback pre-recorded and
predefined actions, compare the results to the expected behaviour and report the success or failure of these manual tests to a test
engineer
• Once automated tests are created they can easily be repeated and they can be extended to perform tasks impossible with manual
testing
Automated software testing is an essential component of successful development projects
Customer Use Cases
Customer Use Case #1
• Legacy IT Application and proprietary RDBMS
• Legacy IT architecture
• System test provisioning took 2 weeks
• Process driven workflow
• Ops team and process are the bottleneck
• Business needs not aligned with the IT speed
Customer Use Case #1
• Re-engineering the app
• Docker EE and Microservices
• Infrastructure as a Code approach
• Ops manage the infrastructure and define the boundaries (CaaS)
• Dev become more independent
Customer Use Case #1
From 2 weeks to 2 minutes
And
• More Control
• More Automation
• More Cooperation
• More Feedback
Customer Use Case #2
• Huge monolith, vertical scale out
• Legacy IT architecture
• Maintenance nightmare
• Test != Q/A != Prod
• One release per year ——> One year to fix
• Manual deployment
Customer Use Case #2
• Fight the monolith approach
• Starting to build container for a specific feature/function
• Redrawing the architecture
• CI/CD is the Engine, automation
• Debug and Fix on my own device
• Cloud-ready by design
Customer Use Case #3
• Dev Team 20x Ops Team
• Lots of custom application on production
• Troubleshot and delivery is managed by Ops
• Ops Team spent too much time for Dev requirements
Customer Use Case #3
• CI/CD Pipeline
• Infrastructure as a Code with Ansible and Docker
• Data Lake and custom web interfaces to get realtime information from live production logs
• Dev built monitoring included in their applications using well defined APIs
• Ops team now manage the infrastructure and the tools
We have more than 20 different DevOps use cases on Enterprise customers only in 2017
Just ask
Thank you