Back To Basics
Kamalika Majumder
Engineer | Consultant | Founder
kamalika@cloudkata.com
Cloudkata®, Staxa LLP
Agenda
Introduction To DevOps
• Background and beginning
• Why and What
• Key Principles
• Guidelines
Key Concepts Overview
• Continuous Integration
• Continuous Delivery
• Configuration Management
• TDD for Infra code
• DevSecOps
Demo:
 CD a.k.a Continuous Delivery pipeline
Getting Started with DevOps
• Background
• Why and What
• Key Principles
• Guidelines
The IT Crowd
The 7 Layers
The IT Crowd
Application
Platform
Virtualization
Servers
Development
Operations
Network
Databases
Some Common Issues
 Manual Setup Process that takes hours to setup
 No track of what changes were made and when
 Missing context between developers and ops.
 Code works in localhost, not in Production
 Testing takes forever
 All of the above results in longer time to release a product and even longer process
to continue releases.
Need of The Hour
DevOps
Application
Platform
Operating System
Servers
Network Devices
Databases
The Curious Case of DevOps
“Application lifecycle management
with the goal of continuous delivery
achieved through the discovery,
refinement and optimisation of
repeatable processes that brings the
worlds of Software Development and
Operations together to work towards
achieving one common goal.”
Defining DevOps
Why DevOps?
Fast Sellers
(Shorter Release Cycle)
Bestsellers
(Reliability & Consistency)
Continuous
Delivery
Release
Engineering
Identity & Access
Management
Logging,
Monitoring,
Alerting
What do Businesses Want ?
Practices & Disciplines
1. Infrastructure As Code
2. Configuration Management
3. Test Driven Development
4. Continuous Integration (CI)
5. Continuous Delivery (CD)
Configuration Management
 Version Controlled Infrastructure As Code
 Model server configs, relationships with other servers, packages in code.
 Scalable Environment On Demand
 Immutable Infrastructure
 Versioning and Packaging (Apps, Configs, DBs)
 One Design Multiple Implementations
Infrastructure As Code Example
Environment
Production,
Qa,Dev
Recipes(run_list)
node
Recipes(run_list)
node
Recipes(run_list)
node
Roles
Web, DB, App
Chef Workflow
Continuous Integration (CI)
“Continuous Integration is a software development practice where members of a team integrate
their work frequently, usually each person integrates at least daily - leading to multiple integrations
per day.”
https://martinfowler.com/articles/continuousIntegration.html
The CI Test
https://martinfowler.com/bliki/ContinuousIntegrationCertification.html
Continuous Delivery (CD)
“Continuous Delivery is a software development discipline where you build software in such a
way that the software can be released to production at any time.”
https://martinfowler.com/bliki/ContinuousDelivery.html
My CD Model
The Transition – From Ops
Application
Database
Development
Platform
Virtualization
Servers
Operations
Network
The Transition – To DevOps
DevOps
Application
Database
Platform
Virtualization
Servers
Network
The Transformation – From DevOps
The Transformation – To Continuous Delivery
Business Owners
Customers
Operations &
Production
Plan & Measure
Develop & Build
CD Lifecycle
Dev-Ops
Monitor & Optimize
Deploy & Test
Release Management
https://twitter.com/mjkamalika
4 Ground Rules
Automate
Integrate
Communicate
Collaborate
Keep in Mind
 With Great Power Comes Greater Responsibilities.
 DevOps is not a Toolkit
 Keep Learning
InfoSec | 5 Key Trust Principles
 Security: The system is protected, both logically and physically, against
unauthorized access.
 Availability: The system is available for operation and use as committed or agreed
to.
 Processing Integrity: The completeness, accuracy, validity, timeliness, and
authorization of system processing.
 Confidentiality: The system’s ability to protect the information designated as
confidential, as
 committed or agreed.
 Privacy: Personal information is collected, used, retained, disclosed, and disposed
of in conformity with the commitments in the privacy notice.
5 Lessons Learnt
 Change is good & It’s the only Constant.
 Never loose interest to learn new stuff. Learn & Improve.
 Failure is the driver to a Successful Sustainable Future.
 Communication & Collaboration is the foundation.
 Don’t be biased by tools. Focus on the key concepts,
disciplines and practices.
Enterprise DevOps Players
• Facebook (Continuous Delivery with weekly release cycle)
(https://code.facebook.com/posts/270314900139291/rapid-
release-at-massive-scale/)
• Google (Use SRE model)
• Netflix
• Mozilla
CD Pipeline Demo
With Gocd

Back To Basics

  • 1.
    Back To Basics KamalikaMajumder Engineer | Consultant | Founder kamalika@cloudkata.com Cloudkata®, Staxa LLP
  • 2.
    Agenda Introduction To DevOps •Background and beginning • Why and What • Key Principles • Guidelines Key Concepts Overview • Continuous Integration • Continuous Delivery • Configuration Management • TDD for Infra code • DevSecOps Demo:  CD a.k.a Continuous Delivery pipeline
  • 3.
    Getting Started withDevOps • Background • Why and What • Key Principles • Guidelines
  • 4.
  • 5.
  • 6.
    Some Common Issues Manual Setup Process that takes hours to setup  No track of what changes were made and when  Missing context between developers and ops.  Code works in localhost, not in Production  Testing takes forever  All of the above results in longer time to release a product and even longer process to continue releases.
  • 7.
    Need of TheHour DevOps Application Platform Operating System Servers Network Devices Databases
  • 8.
    The Curious Caseof DevOps “Application lifecycle management with the goal of continuous delivery achieved through the discovery, refinement and optimisation of repeatable processes that brings the worlds of Software Development and Operations together to work towards achieving one common goal.”
  • 9.
  • 10.
    Why DevOps? Fast Sellers (ShorterRelease Cycle) Bestsellers (Reliability & Consistency) Continuous Delivery Release Engineering Identity & Access Management Logging, Monitoring, Alerting What do Businesses Want ?
  • 11.
    Practices & Disciplines 1.Infrastructure As Code 2. Configuration Management 3. Test Driven Development 4. Continuous Integration (CI) 5. Continuous Delivery (CD)
  • 12.
    Configuration Management  VersionControlled Infrastructure As Code  Model server configs, relationships with other servers, packages in code.  Scalable Environment On Demand  Immutable Infrastructure  Versioning and Packaging (Apps, Configs, DBs)  One Design Multiple Implementations
  • 13.
    Infrastructure As CodeExample Environment Production, Qa,Dev Recipes(run_list) node Recipes(run_list) node Recipes(run_list) node Roles Web, DB, App Chef Workflow
  • 14.
    Continuous Integration (CI) “ContinuousIntegration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day.” https://martinfowler.com/articles/continuousIntegration.html
  • 15.
  • 16.
    Continuous Delivery (CD) “ContinuousDelivery is a software development discipline where you build software in such a way that the software can be released to production at any time.” https://martinfowler.com/bliki/ContinuousDelivery.html
  • 17.
  • 18.
    The Transition –From Ops Application Database Development Platform Virtualization Servers Operations Network
  • 19.
    The Transition –To DevOps DevOps Application Database Platform Virtualization Servers Network
  • 20.
  • 21.
    The Transformation –To Continuous Delivery Business Owners Customers Operations & Production Plan & Measure Develop & Build CD Lifecycle Dev-Ops Monitor & Optimize Deploy & Test Release Management https://twitter.com/mjkamalika
  • 22.
  • 23.
    Keep in Mind With Great Power Comes Greater Responsibilities.  DevOps is not a Toolkit  Keep Learning
  • 24.
    InfoSec | 5Key Trust Principles  Security: The system is protected, both logically and physically, against unauthorized access.  Availability: The system is available for operation and use as committed or agreed to.  Processing Integrity: The completeness, accuracy, validity, timeliness, and authorization of system processing.  Confidentiality: The system’s ability to protect the information designated as confidential, as  committed or agreed.  Privacy: Personal information is collected, used, retained, disclosed, and disposed of in conformity with the commitments in the privacy notice.
  • 25.
    5 Lessons Learnt Change is good & It’s the only Constant.  Never loose interest to learn new stuff. Learn & Improve.  Failure is the driver to a Successful Sustainable Future.  Communication & Collaboration is the foundation.  Don’t be biased by tools. Focus on the key concepts, disciplines and practices.
  • 26.
    Enterprise DevOps Players •Facebook (Continuous Delivery with weekly release cycle) (https://code.facebook.com/posts/270314900139291/rapid- release-at-massive-scale/) • Google (Use SRE model) • Netflix • Mozilla
  • 27.

Editor's Notes

  • #4 https://devops.com/the-origins-of-devops-whats-in-a-name/
  • #9 This picture does not give us a clarity on what devops is or whats is goal is.
  • #19 I loved doing what I was doing. Enjoyed all the power and root access. Eventually I started realizing what I was doing wasn’t efficient any more. I was repeating the same steps again and again . The same cloning of vms or adding firewall rules to creating vpn profiles and setting up site to site vpn and not to mention fixing the environments because people wpild have changes some configs that was not version controlled.
  • #20 Gosh, Am I powerless ?
  • #21 Gosh, Am I powerless ?
  • #23 Life Cycle Management One design/workflow, multiple implementations One Team driven by Common Goal Master of all Early Feedback Cycles