+ All Categories
Home > Technology > Introduction to DevOps

Introduction to DevOps

Date post: 16-Apr-2017
Category:
Upload: deepu-s-nath
View: 261 times
Download: 2 times
Share this document with a friend
36
Introduction to DevOps Priya Sivakumar May 2016
Transcript
Page 1: Introduction to DevOps

Introduction to DevOpsPriya Sivakumar

May 2016

Page 2: Introduction to DevOps

Guess Who?• 15000+ developers in 40+ offices• 4000+ projects under active development• 5500+ submissions per day on average• Development on one branch – Submissions on Head• 20+ sustained code changes per minute with 60+ peaks

• 50% of code changes monthly

• 75+ million test cases run per day

Page 3: Introduction to DevOps

Guess Who?• Pushes changes to production everyday

• 1 billion+ active users at any point in time• 13+ Million Lines of Code• 15000+ Commits per month

• Most changes have impact across platforms• Changes from submission to production gets pushed out in less than 60

minutes

• Updates to production made at full live capacity – No down time

Page 4: Introduction to DevOps

A Real Life Story..

Page 5: Introduction to DevOps

DevOps

Continuous innovation seamlessly released to production multiple times

a week without impacting the consumers

Page 6: Introduction to DevOps

What is DevOps?

DevOps aims at establishing a culture and environment where building, testing and releasing software, can happen rapidly, frequently, and more reliably

Page 7: Introduction to DevOps

DevOps And Agile

Are they the same?

Page 8: Introduction to DevOps

Waterfall And Agile

Page 9: Introduction to DevOps

Why Iterations and Early Feedbacks?

Page 10: Introduction to DevOps

Incremental Development

SLICE AS YOU EAT

Page 11: Introduction to DevOps

Potentially Shippable Product in Each Iteration

Agile Development

Page 12: Introduction to DevOps

Agile Development

Developer and QA work Hand-in-Hand to bring out the potentially shippable product, in each iteration Dev QA

Done Means “Tested”

Page 13: Introduction to DevOps

Is Agile Effective?

Page 14: Introduction to DevOps

Then Why DevOps?

If Agile is successful,

Page 15: Introduction to DevOps

Potentially shippable product is being produced in each agile iteration1. Then why not SHIP IT to the customer?2. What more needed for a successful

deployment?

Page 16: Introduction to DevOps

Benefits of Shipping As You DevelopEarly Customer FeedbacksEarly Defect DetectionReduced CostsIncreased Release VelocityReduced Deployment Failure

Page 17: Introduction to DevOps

Challenges of Operations Team

• How do you provision virtual machines?• How do you configure network devices and servers?• How do you deploy applications?• How do you collect and aggregate logs?• How do you monitor services?• How do you alert and remediate when there are

problems?

Page 18: Introduction to DevOps

Increased Dev – Ops Collaboration

• Involve Operations earlier to define operational functionality

Given operation X fails, Then the alarm operation-x:failed will be raised• Developers take ownership of code in production

No More – “It worked in my local box”

Page 19: Introduction to DevOps

DevOpsDeveloper, QA and Operations work Hand-in-Hand to bring frequent releases to the customer

Dev

QAOpsDone Means “In Production”

Page 20: Introduction to DevOps

Let’s have a Break?

Page 21: Introduction to DevOps

DevOpsDeveloper, QA and Operations work Hand-in-Hand to bring frequent releases to the customer

Dev

QAOpsDone Means “In Production”

Page 22: Introduction to DevOps

What does it take?

Transition to DevOps

Page 23: Introduction to DevOps

Potential Risks?

Dissatisfied Customer

Cannot Compromise Quality for Speed

Page 24: Introduction to DevOps

CONTINUOUSDevOps – It is all about

Page 25: Introduction to DevOps

Doing Things Continuously

Page 26: Introduction to DevOps

DevOps Framework

Page 27: Introduction to DevOps

Tools and FrameworksFramework Elements

Functionality Examples

Software Version Management

Software configuration control - well-designed, flexible repository structure

Subversion, Git, Mercurial, Perforce, and ClearCase

CI/CD Orchestration

Executes scheduled and event-drivenjobs

Jenkins

Artifacts Repository

Organizedstore of artifacts related to the product.

Zephyr, HPQC

Continuous Delivery

Minimize Downtime, Keep it Simple Ansible, Docker

Page 28: Introduction to DevOps

AUTOMATION is the MANTRA

“Agile without Automation is Fragile”

Page 29: Introduction to DevOps

Typical Usage of SVM

Time between merges

Difficulty of merging Exponential

since changes compound on each other

Page 30: Introduction to DevOps

Trunk Based Development

Taming Software Development

TIP OF THE TRUNK DEVELOPMENT

Page 31: Introduction to DevOps

Establish a Build and Test InfrastructureSIMPLE

• Developers do not need to know the details

• End-to-End Enhanced Velocity

• Quality feedback to developers

Page 32: Introduction to DevOps

Define Testing Levels• Level 1 (As Part of CI)

• Static Analysis, Sanity Functional Test, Unit test & Test coverage

• Level 2 (Nightly Integration and Regression)• End-to-End Feature Testing

• Level 3 (Weekly or Release)• Interoperability tests, Regulatory tests, Performance benchmarking

Page 33: Introduction to DevOps

DO NOT WAIT FOR PERFECTION

Have the infrastructure in place to detect and correct issues ASAP

Page 34: Introduction to DevOps

Transition – Plan it out!

Start with baby steps based on your needs and already in-place systems, procedures and organisational culture. Introduction of such a big-impact change needs to be carefully planned and implemented.

Page 35: Introduction to DevOps

DevOps is not just…

Eliminate "DevOps is tools" thinking

Embrace DevOps as a “thought framework”

Page 36: Introduction to DevOps

Thank You!

[email protected]


Recommended