STeP-IN SUMMIT 2014...2014/06/16 · STeP-IN SUMMIT 2014 Innovation, efficiency and agility are...
Transcript of STeP-IN SUMMIT 2014...2014/06/16 · STeP-IN SUMMIT 2014 Innovation, efficiency and agility are...
STeP-IN SUMMIT 2014
11th
International Conference on Software Testing
June 2014 at Bangalore, Hyderabad, Pune - INDIA
Innovation, efficiency and agility are requirements for survival in DevOps
by
Manish Mishra, Senior Solution Architect,
Tech Mahindra
Copyright: STeP-IN Forum
Published with permission for restricted use in ‘STeP-IN SUMMIT 2014’ in agreement with
full copyrights from owner(s) / author(s) of material. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form
or by any means, electronic, mechanical, photocopying, recording or otherwise without the prior consent of the owner(s) / author(s). This edition is manufactured in India and is
authorized for distribution only during ‘STeP-IN SUMMIT 2014’ as per the applicable conditions.
Practices Experience Knowledge Automation
Produced By Hosted By
www.stepinforum.org www.qsitglobal.com
STeP-IN SUMMIT 2014 Pre-Conference Tutorials Innovation, efficiency and agility are requirements for survival in DevOps
1 of 10
Produced by Hosted by
1 Copyright © 2014 Tech Mahindra. All rights reserved.
2 Copyright © 2014 Tech Mahindra. All rights reserved.
What is DevOps
Innovation, efficiency and agility are
requirements for Progress, and DevOps
extends a helping hand
STeP-IN SUMMIT 2014 Pre-Conference Tutorials Innovation, efficiency and agility are requirements for survival in DevOps
2 of 10
Produced by Hosted by
Despite all the great methodologies we have in IT, delivering a project to
production still feels like going to war.
Perspective
Developers are nervous
because they have the
pressure of delivering new
functionality to the customer
as fast as possible.
On the other side, operations
resists making that change a
reality because it knows
change is a major cause of
outages.
Finger Pointing
Finger pointing starts when when problems arise: “It’s a development
problem”; “Oh no, it’s an operations problem.”
This unfortunate scene is repeated again and creating frustration for
management and the business, which is not able to predict releases and deliver
business value as expected and required.
STeP-IN SUMMIT 2014 Pre-Conference Tutorials Innovation, efficiency and agility are requirements for survival in DevOps
3 of 10
Produced by Hosted by
The huddle outside Steve’s cubicle grows until
it’s determined that changes must be made to
allow for backward compatibility and that another
build must be deployed to staging. QA and ops
will have to work late (again) to test the new
build and stage it for production before the
release tomorrow. This is a problem, and an
even bigger problem, long term, is that this kind
of waste spawns disgust from professionals
looking to take pride in their work. Ops is
disgusted with the development team for the lack
of backward compatibility in the code. The
development team is disgusted with ops for the
lack of consistency between the dev, test, and
staging environments. QA is disgusted with both
developers and ops for not considering these
problems to begin with. And the project manager
is disgusted, claiming developers and ops don’t
talk to each other and that “herding cats” or
“babysitting” might be better terms for describing
his or her role. This all eats away at team
morale.
A typical Scenario
Time to Market and Quality Software
STeP-IN SUMMIT 2014 Pre-Conference Tutorials Innovation, efficiency and agility are requirements for survival in DevOps
4 of 10
Produced by Hosted by
Traditional Dev and Ops Model
Driven by Change
Focus is to deliver value executing projects on time
and within budget
Measured by improved business
capability and agility
Higher frequency of releases
Rapid pace of innovation in tools and technologies
Driven by stability
Focus is to keep the enterprise
running with less to zero downtime
Measured by uptime and
stability of the production system
Encourage fewer releases
Typically small teams consumed
by fire-fighting
They don’t use the same tools
They don’t have common goals.
No visibility into one others’ processes
Different implementation methodologies
Dev Ops GAPS
Why DevOps
Lack of continuous delivery is impacting end to end software delivery chain
P
R
O
C
E
S
S
TOOLS
No Collaboration
Manual
Challenges Non Standardized or No Tool
High Cost
Time Taking
Deployments in
Dev/Test/Production
Environments
Upgrade Risk Due to
heterogeneous and
complex environments
Error Prone
Deployments
due to Manual
Processes
Software glitch costs trading firm $440 million in 45 Mins
STeP-IN SUMMIT 2014 Pre-Conference Tutorials Innovation, efficiency and agility are requirements for survival in DevOps
5 of 10
Produced by Hosted by
Why DevOps
Deploy Faster
Deploy with increased frequency
Reduce Cost
Reduce Errors and Mean Time to Resolution (MTTR)
Increase Quality
Increased Innovation
Increased Test Coverage
Virtualize Dev and Test Environments
Operations Feedback to Dev
Collaboration
Improved Planning
Requirements &
Environment Planning
• Release/Iteration
Planning
• Product Backlog
• Infrastructure as a Service
• Infrastructure Automation
• Configuration
Management
• Issue Tracking
Build
• Continuous Integration
• Continuous Build
• Build Validation
• Static Code Analysis
Test
• Model Based Testing
• Test Automation
• Service Virtualization
• Test Execution
Release & Deploy
• Package Creation
• Package Configuration
• Deployment Automation
• Release Control &
Management
IT Service Management
• Event Management
• Incident Management
• Problem Management
• Request Fulfillment
• Access Management
• Service Measurement
and Reporting
Performance Monitoring
• Server Monitoring
• Application & Database
Monitoring
• Network Monitoring
• Transaction Monitoring
Release
Deploy
Operate
Monitor
Plan
Code
Build
Test
DevOps
DevOps Ecosystem
STeP-IN SUMMIT 2014 Pre-Conference Tutorials Innovation, efficiency and agility are requirements for survival in DevOps
6 of 10
Produced by Hosted by
Key Technical Landscape of DevOps
Continuous Planning
Agile Develop and Test
Continuous Integration
Continuous Delivery and Release Automation
Continuous Test
Continuous Monitoring
Infrastructure as a Code (Automation)
Functional Test
Performance Test Acceptance Test
Dev Environment Test Environment Stage Environment Prod Environment
CONTINUOUS DELIVERY
CONTINUOUS TESTING
Continuous
Monitoring
Bu
ild
Bu
ild
Bu
ild
BUILD
Continuous
Integration
Continuous in DevOps
CONTINUOUS DEPLOYMENT
Business Planning
Collaboration/Feedback
STeP-IN SUMMIT 2014 Pre-Conference Tutorials Innovation, efficiency and agility are requirements for survival in DevOps
7 of 10
Produced by Hosted by
Environment Management
Chef | IT automation for speed and awesomeness
Chef is an automation platform from Opscode for developers and systems
engineers to continuously define build , and manage infrastructure
PUPPET
Puppet | Make IT Fast
Puppet is a declarative, model-based approach to IT automation, helping you
manage infrastructure throughout its lifecycle, from provisioning and
configuration to orchestration and reporting
CFEngine | IT infrastructure automation framework
CFEngine is an IT infrastructure automation framework that helps engineers,
system administrators and other stakeholders in an IT organization manage
and understand IT infrastructure throughout its lifecycle. CFEngine takes
systems from Build to Deploy, Manage and Audit.
DevOps Adoption
STeP-IN SUMMIT 2014 Pre-Conference Tutorials Innovation, efficiency and agility are requirements for survival in DevOps
8 of 10
Produced by Hosted by
Current Scenario in Application Release Process
Company is one of the world's largest financial institutions, processing $300,000 in payments every
minute, in 25 different currencies, for 128 million active registered customers in 193 markets.
Case Study – Financial Institution
• Agility at scale. It took three
weeks to provision 50 nodes due
to manual processes and hand-
offs.
• Configuration drift.
Development, QA, staging and
production environments were all
different, causing frequent
failures.
• Siloes of teams and tools.
Deploying a service required
hand-offs between systems,
network and storage teams,
significantly slowing time to
production.
Usage of tools like Chef Automated the Infra Provisioning and it was achieved in one third of the time.
Release Automation tools were used to reduce failures because of multiple deployment environments/and removing siloes of dev and operation teams.
Faster application deployment with fewer errors
Increased release volume and throughput
Reduced deployment bottlenecks
Improved cost & operational efficiencies
STeP-IN SUMMIT 2014 Pre-Conference Tutorials Innovation, efficiency and agility are requirements for survival in DevOps
9 of 10
Produced by Hosted by
It aims to open at least 15 new online stores over the next 3 years. This is a highly lucrative market
which company is keen to enter quickly, but there are very high expectations with the project and it
must be delivered smoothly, accurately and efficiently.
The retailer began implementing agile (sprint and scrum) methodologies, which dramatically
increased the volume and frequency of application releases and R&D deliverables.
Case Study – Global Retailer
• Manual release processes were
severely inadequate for agile
methodologies.
• Some applications took days to
deploy and required the expertise
of many highly-skilled workers.
• Urgent need to accelerate its time-
to-market, increase efficiency and
reduce errors before it could
embark on its ambitious
international project.
With Release Automation Sol.,
Company established an
incremental manifest, separating
dynamic elements of application
release from fixed processes. This
separation enabled to keep the
same fixed processes in place and
concentrate on changing only the
dynamic elements that need to be
updated each time. .
With the approach of Release
Automation, company reached the
following milestones:
67% of applications were
deployed into staging by the end
of the first week
95% of applications were
deployed into staging by the
middle of the second week.
Release times were cut from Days
to Minutes.
It is all about Unified Processes and Unified Tooling.
And Breaking down the Silos.
As part of a systems thinking approach, devops is
about respect, cooperation, and trust among the
individuals who do the work.
A wall of trust needs to be created.
STeP-IN SUMMIT 2014 Pre-Conference Tutorials Innovation, efficiency and agility are requirements for survival in DevOps
10 of 10
Produced by Hosted by
Disclaimer
Satyam Computer Services Limited, herein referred to as MSAT provide a wide array of presentations and reports, with the
contributions of various professionals. These presentations and reports are for informational purposes and private circulation only and
do not constitute an offer to buy or sell any securities mentioned therein. They do not purport to be a complete description of the
markets conditions or developments referred to in the material. While utmost care has been taken in preparing the above, we claim
no responsibility for their accuracy. We shall not be liable for any direct or indirect losses arising from the use thereof and the viewers
are requested to use the information contained herein at their own risk. These presentations and reports should not be reproduced,
re-circulated, published in any media, website or otherwise, in any form or manner, in part or as a whole, without the express consent
in writing of MSAT or its subsidiaries. Any unauthorized use, disclosure or public dissemination of information contained herein is
prohibited. Unless specifically noted, MSAT is not responsible for the content of these presentations and/or the opinions of the
presenters. Individual situations and local practices and standards may vary, so viewers and others utilizing information contained
within a presentation are free to adopt differing standards and approaches as they see fit. You may not repackage or sell the
presentation. Products and names mentioned in materials or presentations are the property of their respective owners and the
mention of them does not constitute an endorsement by MSAT. Information contained in a presentation hosted or promoted by MSAT
is provided “as is” without warranty of any kind, either expressed or implied, including any warranty of merchantability or fitness for a
particular purpose. MSAT assumes no liability or responsibility for the contents of a presentation or the opinions expressed by the
presenters. All expressions of opinion are subject to change without notice.
Copyright © 2012 Mahindra Satyam. All rights reserved.
Thank You
20