DevOps Essentials
Anand Rao Nednur
1
www.thecloudmentor.com
Welcome to the deep dive into Azure
2
www.thecloudmentor.com
Expectations
 Ask questions
 Be Vocal
 Assist your colleagues
 Research and do labs as much as possible.
3
www.thecloudmentor.com
What is DevOps
 A Cultural Movement
 It's by practitioners, for practitioners
 DevOps is not a set of tools
 DevOps is also not a standard
 DevOps is a culture of collaboration between developers and system operations
4
www.thecloudmentor.com
Scrum Snippets
 Scrum is a process framework
 Enables environment for teams to work together
 Is based on 3 pillars
 Transparency – Parity
 Inspection – Based on Artefacts
 Adaptation – Adjustments to minimize deviations
 Sprint Based – Set of activities to be completed with scheduled duration.
 Sprint Durations not exceeding 4 weeks
 Ceremonies Driven
5
www.thecloudmentor.com
Scrum – Roles & Process
6
www.thecloudmentor.com
o Product Owner is part of Business or is Customer
o Scrum Master is Facilitator or Mentor or Guide
o Development team
o Scrum Team – Collaboration of all roles
Benefits of Scrum
o Increased ability to manage changing priorities
o Better visibility into projects
o More alignment between business and IT
o Faster time to market
Ceremonies
A Brief History of DevOps
 DevOps grew out of Agile software development.
 Initiated by Patrick Debois
 Began as a small niche movement and is now a de facto.
7
www.thecloudmentor.com
The Goals of DevOps
 Operation teams needs stability and dev team needs speed
 In DevOps Team, both share the same goals
 Shared measurements
 Focus on Time to Market
 Immediate recovery from failures
 Both teams care about speed and stability.
8
www.thecloudmentor.com
A Story of DevOps vs. Traditional Silos
 Silos are separated teams
 QA team identifies the bugs, Dev team fixes them and Ops team pushes the code to
prod.
 All groups claim – “its not my responsibility”
 Need for DevOps Monitoring
 End Result - Happy customers, Happy teams.
9
www.thecloudmentor.com
Build Automation
 automating the process of preparing code for deployment to a live environment
 it looks like running a command-line tool that builds code using configuration files or scripts
 build automation is more reliable because it's automated -> Few problems
10
www.thecloudmentor.com
Continuous Integration
 The practice of frequently merging code changes done by developers
 That it allows you to detect certain types of bugs very, very early
 The developers are notified and fix bugs immediately
 Encourages good coding practices
11
www.thecloudmentor.com
Continuous Delivery and Continuous Deployment
 Continuous delivery - the practice of continuously maintaining code in a deployable state
 Continuous deployment - the practice of frequently deploying small code changes to
production
12
www.thecloudmentor.com
CI – CD Pipeline
13
www.thecloudmentor.com
Source Code
Management
Build Release Non-Prod
-----
-----
-----
-----
Developers
DBA (SQL Scripts)
IT/Operations Team (terraform)
Production
GIT
GITHUB
Azure Repo
CI CD
• Compile App
• Unit Tests
• Static Code Analysis
• Generate SQL Scripts
• Testing the Scripts
• Check the Infra Config
• Deploy App
• Integration Tests
• UI & QA Tests
• Deploy SQL Scripts
• Test SQL Results
• Deploy infra config Files
Automated
Deployment
Manual push
to production
Comprehensive Configuration Management
Source Code Repository — Used primarily during the development
phase.
Artifact Repository — Used during the development and operations
phases.
Configuration Management Database — Used during the
development and operations phases.
Infrastructure as Code
 managing and provisioning infrastructure using code and automation
 we use automation and code to create and change things
 you get reusability when you use Infrastructure as Code
 your infrastructure and any changes made to it are documented
 helps you simplify the complexity.
14
www.thecloudmentor.com
Configuration Management
 Maintaining and changing the state of pieces of infrastructure in a consistent,
maintainable and stable way
 Changes are a normal part of day-to-day life in the IT industry
 Configuration management is a way of minimizing configuration drift
 Configuration drift is the accumulation of all of the small changes
15
www.thecloudmentor.com
Orchestration
 Orchestration is automation that supports processes and workflows
 Self-healing environments that are capable of handling large changes in load
16
www.thecloudmentor.com
Monitoring
 Collection and presentation of data about the performance and stability of services and
infrastructure.
 Monitoring tools collect data about things such as memory usage, cpu, disk i/o in usage of
other resource is over time.
 Real time notifications
 PostMortem Analysis
17
www.thecloudmentor.com
Microservices
 microservices are a particular software architecture
 A microservice architecture breaks an application up into a collection of small, loosely
coupled services.
 small pieces broken up into their own individually executable portions
18
www.thecloudmentor.com
Monolithic vs Modular vs Microservices
19
DB
DB
DB
Catalog/Mod1
Orders/Mod2
Payments/Mod3
Catalog
Orders
Payment
App
HTTP/S & Rest API
HTTP/S & Rest API & Queues
Catalog/MS1
C# & ASP.NET
Orders/MS2
JAVA/SpringBoot
Payment/MS2
Python/Pyspark
www.thecloudmentor.com
Cons of Monolithic
Updates
Team Management
Deployment
Maintainability
Advantages of Microservices
Multi Repository
Independent Deployment
Multi DB Engines
Shorter cycle time
Easier technology selection
Oracle DB
SQL Server
Mango DB
Monolithic
Modular
Introduction to DevOps Tools
 DevOps has given rise to a large variety of tools in order to support the goals of DevOps.
 https://xebialabs.com/periodic-table-of-devops-tools/
 There's not a single set of tools that works for everyone
20
www.thecloudmentor.com
Tools for Build Automation and
Continuous Integration
 Tools for build automation generally depend on the programming languages and
frameworks that have been used to create the code.
 Build Automation Tools - Maven , Gradle, NPM , Grunt, Gulp ,Packer
 CI Tools – Jenkins , Travis CI , Bamboo
21
www.thecloudmentor.com
Tools for Configuration Management
 Configuration management tools are a great way to implement infrastructure as code.
 Ansible - Opensource
 Puppet – puppet specific language (Puppet DSL)
 Chef – chef specific language
 Salt – minions , Master.YAML
22
www.thecloudmentor.com
Tools for Virtualization and
Containerization
 Virtualization means managing resources by creating virtual rather than physical
machines.
 VMWare ESX and ESXi, Microsoft Hyper-V, and Citrix XenServer.
 Containerization is in some ways the next step beyond virtualization.
23
www.thecloudmentor.com
Tools for Monitoring
 SenSu
 NewRelic
 Nagios
 APM tool – App Dynamics
 Aggregation and analytics
 Kibana
 Elastic Stack
24
www.thecloudmentor.com
Tools for Orchestration
 Docker Swarm
 Kubernetes
 Zookeeper
 Terraform
25
www.thecloudmentor.com
DevOps Infinite Cycle
26
www.thecloudmentor.com
DevOps and the Cloud
 DevOps and the Cloud, although they're closely related, they are not the same thing.
 Cloud Services can also be a great tool for DevOps.
27
www.thecloudmentor.com
DevOps and Microsoft Azure
 Azure offers support for continuous integration, continuous delivery and continuous
deployment through a variety of features.
 Support for Jenkins
 Azure Container Registry
 Azure Container Services
 Azure DevOps Pipeline
 Azure Webapps
 Azure Application Insights
 Azure Functions
28
www.thecloudmentor.com
Thank You
29
www.thecloudmentor.com

Dev ops essentials v2

  • 1.
    DevOps Essentials Anand RaoNednur 1 www.thecloudmentor.com
  • 2.
    Welcome to thedeep dive into Azure 2 www.thecloudmentor.com
  • 3.
    Expectations  Ask questions Be Vocal  Assist your colleagues  Research and do labs as much as possible. 3 www.thecloudmentor.com
  • 4.
    What is DevOps A Cultural Movement  It's by practitioners, for practitioners  DevOps is not a set of tools  DevOps is also not a standard  DevOps is a culture of collaboration between developers and system operations 4 www.thecloudmentor.com
  • 5.
    Scrum Snippets  Scrumis a process framework  Enables environment for teams to work together  Is based on 3 pillars  Transparency – Parity  Inspection – Based on Artefacts  Adaptation – Adjustments to minimize deviations  Sprint Based – Set of activities to be completed with scheduled duration.  Sprint Durations not exceeding 4 weeks  Ceremonies Driven 5 www.thecloudmentor.com
  • 6.
    Scrum – Roles& Process 6 www.thecloudmentor.com o Product Owner is part of Business or is Customer o Scrum Master is Facilitator or Mentor or Guide o Development team o Scrum Team – Collaboration of all roles Benefits of Scrum o Increased ability to manage changing priorities o Better visibility into projects o More alignment between business and IT o Faster time to market Ceremonies
  • 7.
    A Brief Historyof DevOps  DevOps grew out of Agile software development.  Initiated by Patrick Debois  Began as a small niche movement and is now a de facto. 7 www.thecloudmentor.com
  • 8.
    The Goals ofDevOps  Operation teams needs stability and dev team needs speed  In DevOps Team, both share the same goals  Shared measurements  Focus on Time to Market  Immediate recovery from failures  Both teams care about speed and stability. 8 www.thecloudmentor.com
  • 9.
    A Story ofDevOps vs. Traditional Silos  Silos are separated teams  QA team identifies the bugs, Dev team fixes them and Ops team pushes the code to prod.  All groups claim – “its not my responsibility”  Need for DevOps Monitoring  End Result - Happy customers, Happy teams. 9 www.thecloudmentor.com
  • 10.
    Build Automation  automatingthe process of preparing code for deployment to a live environment  it looks like running a command-line tool that builds code using configuration files or scripts  build automation is more reliable because it's automated -> Few problems 10 www.thecloudmentor.com
  • 11.
    Continuous Integration  Thepractice of frequently merging code changes done by developers  That it allows you to detect certain types of bugs very, very early  The developers are notified and fix bugs immediately  Encourages good coding practices 11 www.thecloudmentor.com
  • 12.
    Continuous Delivery andContinuous Deployment  Continuous delivery - the practice of continuously maintaining code in a deployable state  Continuous deployment - the practice of frequently deploying small code changes to production 12 www.thecloudmentor.com
  • 13.
    CI – CDPipeline 13 www.thecloudmentor.com Source Code Management Build Release Non-Prod ----- ----- ----- ----- Developers DBA (SQL Scripts) IT/Operations Team (terraform) Production GIT GITHUB Azure Repo CI CD • Compile App • Unit Tests • Static Code Analysis • Generate SQL Scripts • Testing the Scripts • Check the Infra Config • Deploy App • Integration Tests • UI & QA Tests • Deploy SQL Scripts • Test SQL Results • Deploy infra config Files Automated Deployment Manual push to production Comprehensive Configuration Management Source Code Repository — Used primarily during the development phase. Artifact Repository — Used during the development and operations phases. Configuration Management Database — Used during the development and operations phases.
  • 14.
    Infrastructure as Code managing and provisioning infrastructure using code and automation  we use automation and code to create and change things  you get reusability when you use Infrastructure as Code  your infrastructure and any changes made to it are documented  helps you simplify the complexity. 14 www.thecloudmentor.com
  • 15.
    Configuration Management  Maintainingand changing the state of pieces of infrastructure in a consistent, maintainable and stable way  Changes are a normal part of day-to-day life in the IT industry  Configuration management is a way of minimizing configuration drift  Configuration drift is the accumulation of all of the small changes 15 www.thecloudmentor.com
  • 16.
    Orchestration  Orchestration isautomation that supports processes and workflows  Self-healing environments that are capable of handling large changes in load 16 www.thecloudmentor.com
  • 17.
    Monitoring  Collection andpresentation of data about the performance and stability of services and infrastructure.  Monitoring tools collect data about things such as memory usage, cpu, disk i/o in usage of other resource is over time.  Real time notifications  PostMortem Analysis 17 www.thecloudmentor.com
  • 18.
    Microservices  microservices area particular software architecture  A microservice architecture breaks an application up into a collection of small, loosely coupled services.  small pieces broken up into their own individually executable portions 18 www.thecloudmentor.com
  • 19.
    Monolithic vs Modularvs Microservices 19 DB DB DB Catalog/Mod1 Orders/Mod2 Payments/Mod3 Catalog Orders Payment App HTTP/S & Rest API HTTP/S & Rest API & Queues Catalog/MS1 C# & ASP.NET Orders/MS2 JAVA/SpringBoot Payment/MS2 Python/Pyspark www.thecloudmentor.com Cons of Monolithic Updates Team Management Deployment Maintainability Advantages of Microservices Multi Repository Independent Deployment Multi DB Engines Shorter cycle time Easier technology selection Oracle DB SQL Server Mango DB Monolithic Modular
  • 20.
    Introduction to DevOpsTools  DevOps has given rise to a large variety of tools in order to support the goals of DevOps.  https://xebialabs.com/periodic-table-of-devops-tools/  There's not a single set of tools that works for everyone 20 www.thecloudmentor.com
  • 21.
    Tools for BuildAutomation and Continuous Integration  Tools for build automation generally depend on the programming languages and frameworks that have been used to create the code.  Build Automation Tools - Maven , Gradle, NPM , Grunt, Gulp ,Packer  CI Tools – Jenkins , Travis CI , Bamboo 21 www.thecloudmentor.com
  • 22.
    Tools for ConfigurationManagement  Configuration management tools are a great way to implement infrastructure as code.  Ansible - Opensource  Puppet – puppet specific language (Puppet DSL)  Chef – chef specific language  Salt – minions , Master.YAML 22 www.thecloudmentor.com
  • 23.
    Tools for Virtualizationand Containerization  Virtualization means managing resources by creating virtual rather than physical machines.  VMWare ESX and ESXi, Microsoft Hyper-V, and Citrix XenServer.  Containerization is in some ways the next step beyond virtualization. 23 www.thecloudmentor.com
  • 24.
    Tools for Monitoring SenSu  NewRelic  Nagios  APM tool – App Dynamics  Aggregation and analytics  Kibana  Elastic Stack 24 www.thecloudmentor.com
  • 25.
    Tools for Orchestration Docker Swarm  Kubernetes  Zookeeper  Terraform 25 www.thecloudmentor.com
  • 26.
  • 27.
    DevOps and theCloud  DevOps and the Cloud, although they're closely related, they are not the same thing.  Cloud Services can also be a great tool for DevOps. 27 www.thecloudmentor.com
  • 28.
    DevOps and MicrosoftAzure  Azure offers support for continuous integration, continuous delivery and continuous deployment through a variety of features.  Support for Jenkins  Azure Container Registry  Azure Container Services  Azure DevOps Pipeline  Azure Webapps  Azure Application Insights  Azure Functions 28 www.thecloudmentor.com
  • 29.