evaluation of devops & why devops - sudeepta guchhaitdevops emerged in 2009 when a group of...

34
DevOps Myth?? By: Sudeepta Guchhait Session 01 10 th Mar 2018

Upload: others

Post on 20-May-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

DevOps Myth?? By: Sudeepta Guchhait

Session 01 10th Mar 2018

Page 2: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

The pace of change in our economy is accelerating remorselessly

Page 3: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

“Software is eating the world”

- Marc Andreessen

Page 4: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

“By 2018, one-third of the top 20 market share leaders in most industries will be significantly disrupted by competitors that use the 3rd Platform to create new services and business models.”

Page 5: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

- Marc Andreessen

“There's a new trend called "devops" that is sweeping the enterprise IT world and its become a life-or-death career situation for many IT departments…Like the manufacturers were in the 1970s and 1980s were fighting for their lives, today's IT departments are going to fight for their survival.”

- Jim Whitehurst CEO, Red Hat

Page 6: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

Traditional Dev/Ops Organizations

Development Responsible and measured on delivery of business functionality Require and like changes Poor understanding of writing “operational” applications Operations Responsible and measured on stability & availability Dislike changes Maybe even outsourced No common tools Handover points, check points (operations desperately trying to control ensure

deliveries are living up to their demands) ○ Don’t catch problems ○ Slow and expensive Support is difficult, and often across Dev & Ops A lot of ‘blame games’ Development projects and support are also separated making it worse

Page 7: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

Operations Handover

2 organizations with very different priorities and goals, different tools, different attitude and mentality, often 2 companies, working together to implement a pipeline for delivering software from developer to production

Bound to fail

Page 8: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

What is DevOps?

Is it a culture? Is it a job title? Is it a team? Is it a way of organizing? Is it a tool stack? Or just a way of thinking? DevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days,

which advocated collaboration between developers and operational staff. DevOps is agile IT operations delivery, required to match the cadence of agile IT

development. DevOps is the philosophy of unifying Development and Operations at the culture,

practice, and tool levels, to achieve accelerated and more frequent deployment of changes to Production (The IT Sceptic)

Page 9: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

Definition of DevOps

The term “DevOps” typically refers to the emerging professional movement that advocates a collaborative working relationship between Development and IT Operations, resulting in the fast flow of planned work (i.e., high deploy rates), while simultaneously increasing the reliability, stability, resilience and security of the production environment (Gene Kim). DevOps is a set of practices and principles that aims to optimize organizational structure, working practices, processes and tooling, enabling all stakeholders to deliver higher-quality software, faster.

Deliveries: A dynamic platform (CI), where resources can be provisioned automatic on the fly The resources must be available for development, test and production An automatic CD Pipeline, that goes the whole way to production

Continuous Delivery & DevOps provides new possibilities for test environments for manual and automated tests

Page 10: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

What DevOps is Not…

• A tool • A single tool • A set of tools • A team • Just another way to say "sys admin”

“DevOps is not NoOps. Nor is it akin to putting a Dev in Ops clothing. DevOps is synergistic, rather than cannibalistic."

Page 11: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

The DevOps Vision

Page 12: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

Business Agility

Infrastructure Choice

Technical Innovation

DevOps

• Time-to-Market Acceleration

• Experimentation • Rapid Prototyping • Flexible Partnering • IoT/IoS Support

• Docker Foundation • Lightweight Hybrid Cloud

with AWS, VMware, & OpenStack

• Late Binding Deployment • Common Application Design

and Operations • DevOps Automation • API Support • Microservices Architecture • Blue-Green Deployment • Application Scaling and

Elasticity • PaaS

Page 13: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

DevOps Concepts: Key Capabilities & Benefits

Page 14: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

DevOps Concepts: Key Challenges

Page 15: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

DevOps principles – i.e. how we can move quickly

Make devtest frictionless

Less UAT, more SIT, enabled by automation

Leverage existing tool investments

Standards-based FOSS, if they do the

job – keep costs down

Prefer easy to adopt and use, and keep in mind skill availability

Improve maturity first, flexibility

second, standardisation third

Self-serve supported with champions,

training, knowledge repositories

Success will mean obsolescense for Dev

Services

Page 16: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

Agile Concepts : Typical lifecycles

Page 17: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

Agile : Scrum Board PRODUCT BACKLOG SPRINT BACKLOG

TO DO (SPRINT)

IN PROGRESS

BLOCKED FOR TESTING

IMPEDIMENTS DONE

RETROSPECTIVE SCRUM CEREMONY

Page 18: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

Agile Concepts : Common Tools

Page 19: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

DevOps Integration Model

PLAN RELEASE

Code Deploy

Build Operate

Test Monitor

Continuous Integration

& Continuous Deployment

• Continuous integration framework, standardization processes tools

• QA implementation for DevOps

• Planning & scheduling

• Automated build deployment

• Unit testing, SIT and UAT • Develop automated

regression pack

• Configuration management • Acceptance testing

• Maintenance & support production

• Continuous quality monitoring

• Management dashboards

Page 20: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

Process Flow P1

Project

Initiation & Planning

P2

Requirement

Gathering & Analysis

P3 Design & Development

P4 Testing

P5

Deployment

TEST

ING

D

EVEL

OP

ER

TEC

H L

EAD

Step 1 FRS, design doc

(BA Developer)

Step 2 Design Analysis

(Developer)

Step 3 Application

development (Developer)

Step 4 Code Check-in (Developer)

Step 5 Develop Unit test

scripts (Developer)

Step 6 Code Check-in (Developer)

Local IDE Workspace DIT Environment

Step 7 Build/ Deploy Code

(Developer)

Step 8 Compile & Run Unit

Test (Developer)

Step 9A Share test results for

verification (Developer)

Step 9B Verify

results? (Tech Lead)

Step 11

Promote Code to SIT envi

(Dev/Test Manager)

Step 12A Build Package &

Deploy code in SIT envi

(Deployment team)

Step 12B

Continue SIT (Test Manager Test

Team)

OK

SIT Environment

Step 9B.1 (Rework) Code failure & defects Unit test result Code coverage result (Tech Lead Developer)

Not OK

Step 10 Approval of Unit Test

Coverage (Development Manager)

Page 21: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

Infuse DevOps & Continuous Integration

21

Requirements/ User Stories

Code development Code review /

check in Build Package

Refresh (Data/Envi)

Functional Test

API test / FIX

Test Automation

Non Functional test

Defect Management

Reports / Dashboard

Deploy in Test Environment

Project Mgt, Collaboration, KM and

Reference docs

Page 22: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

Terminology and Tooling (examples)

Page 23: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

DevOps vs. Agile

DevOPS AGILE

A technical practice to achieve and to end solution.

It is more about processes like scrum methodology and sprints

Operations as deployment is just a small part of ops. Other being configuration management etc. It is the link between design thinking and Devops

Aligns Ops with stability, such as scripting deployment and standardizaing app builds

Aligns development with business prioritization thus focusing on speeding up the development process

DevOps helps to bridge the line between several cross functional teams (Dev, QA, Monitoring, Deployment, infrasructure etc.) by simplyfying the process.

In agile, the gap between these teams are bridged in daily scrum calls where all roadblocks are discussed and resolved with agile scrum methodologies

Aims at faster deliveries through automation via carious applications and tools like Jira, Docket etc. These tools are used for automating deployment and tracking bugs in real-time for quick fix.

Aims at streamlined delivery via tools like Kanban board, Scrum, Test Driven Development (TDD) and Lean. These practices help in project management planning and collaboration.

Page 24: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

Continuous Integration & Continuous Delivery

PRINCIPLES • Maintain a code repository • Automate the build • Make the build self-testing • Everyone commits to the baseline

every day • Every commit (to baseline) should

be built • Keep the build fast • Test in a clone of the production

environment • Make it easy to get the latest

deliverables • Everyone can see the results of the

latest build • Facilitate automated deployments

PRINCIPLES • Process should be automated • Reduces the number of features

introduced per release, minimizing shock to users

• Will reduce the standard release cycle

• Changes approach to releasing software from an event to a non-event

• Helps to avoid off-hour, high risk, expensive deployments

• Know your rollback plan (do you rollback or roll forward only)

• Build in health checks

Page 25: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

Measure customer value

Use metrics to communicate value and judge progress

Achieve shared accountabiilty

Drive a fail-fast culture; celebrate failure and kill consensus

Culture «Blameless»

User Experience

Company performance

Technical Debt

Code Errors

Response time Interactivity Functionality

"Overcome cultural inertia; break traditions, educate,

train, coach, and incubate." CIO, Global Manufacturer

Business Technical

Continuous Learning

Metrics Collaboration

Customer Engagement

Productivity

Value

Quality

Costs Source: European DevOps Survey, 2016; IDC #US42308417, 2017

+ +

Balance the Risk

Page 26: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

Balance the Risk

7% utilize DevOps CoE 20% DevOps teams created and organized

Help to gauge project readiness for DevOps adoption:

What are your IT and business cultural traits?

Who will lead DevOps, and what is their

motivation?

How will you manage cross-functional change?

Where is the most pain?

What is the automation and integration strategy?

Which processes will be impacted?

What is your DevOps architecture?

Is teamwork and collaboration incented?

Which project will deliver the biggest ROI?

How will IT silos be deconstructed?

Have metrics been defined, and are they

measurable?

Have HR performance metrics adjusted for

DevOps?

Are there dashboards?

Technology and automation

Collaboration and teamwork

Metrics and measurement

Culture and leadership

By 2018, 45% of CIOs will focus on platforms using DevOps for rapid development, cost reduction, and enterprise agility.

Page 27: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

Difference in traditional versus DevOps testing?

Page 28: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers
Page 29: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

How to Get There..

DevOps is a journey Dev and Ops need to look introspectively to understand their strengths and challenges,

and look for ways to contribute towards breaking down silos Dev sharpen skills on ops/admin, Ops sharpen skills on coding Set small goals to be awesome Don't automate what you don't understand CLAMS: First, be lean. Ensure that everybody have the same goal: developing and delivering working software Ensure you have people who want to develop and improve Think deployment & operations from the beginning of the project – Involve Operations

Page 30: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

Culture Lean Automation Measurement Sharing

Think of DevOps as CLAMS

Hearts & Minds Embrace change

Focus on producing value Keep everything to a minimum [tools, meetings, sprints]

CI/CD Infrastructure as Code

Measure everything Set targets and chase anomalies

Open information sharing Collaboration

Page 31: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

DevOps Benefits

https://puppetlabs.com/

Page 32: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

List of DevOps Practices

http://www.itproguy.com/devops-practices/

Page 33: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

Common DevOps Strategies - Cultural

Regular code reviews are required, and Ops is involved with code reviews No app launches without automated testing in place at both the

infrastructure and app level. Bi-weekly 10-minute standups with Dev and Ops staff Find individuals that have both Dev and Ops skills and make liaisons All Production environments mirrored by identical Development

environments Regular infrastructure architecture/config/outage reviews are required, and

Dev is involved with infrastructure reviews. Dev and Ops staff all have scheduled "office hours“ Focus on automated testing of all infrastructure and software components. Both Dev and Ops have 7x24 accountability for the performance and

availability of the environment. Automated monitoring or platform monitors infrastructure and software

layers 7x24, and pages Dev and Ops 7x24. Shared sign-off by Dev and Ops before any application goes live

Page 34: Evaluation of DevOps & Why DevOps - Sudeepta GuchhaitDevOps emerged in 2009 when a group of Belgian developers hosted DevOps Days, which advocated collaboration between developers

Thank you