Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018


Published on

DevOps - IaC


This is a hands-on experience workshop on "DevOps - IaC" and Automation from Infrastructure prospective. The session provides valuable insights on How "IaC" is going to be future for traditional DC, VM's and for Cloud, and How to setup or start with "IaC", what tool set and pipelines can be used and followed to move from traditional manual approach to automated DevOps approach.

What is DevOps? and Why you need DevOps?
What is DevOps - IaC?
Overview of some essential tools like Git, Jenkins, Docker/Ansible
Live Demo
DevOps - IaC Framework
Overview of Tool Set
Pipeline Creation Overview
Automation Idea
And at last confidence to start a change towards DevOps
45 Mins

Published in: Technology
  • Be the first to comment

  • Be the first to like this

DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018

  1. 1. DevOps – IaC Copyright © Thinknyx Technologies 1 Yogesh Raheja +91-9810344919
  2. 2. Agenda • What is DevOps? • Why DevOps? • What is DevOps – IaC? • Why DevOps – IaC? • Essential tool set of DevOps – IaC • Introduction to GIT, Jenkins, Ansible and Docker • Live Demo • Q&A Copyright © Thinknyx Technologies 2
  3. 3. What is DevOps? • “DevOps is gaining momentum In IT Industry”. • “DevOps is a methodology to make IT a high-performing organization by breaking down the wall of confusion between Dev and Ops together with structure framework” • DevOps is not a technology., it’s a frame work, just a mindset change, a cultural difference, and an effective way of communication and collaboration between different cross functional teams (Dev[development] + Ops[Operations]) to know the loopholes in the product lifecycle process. • DevOps is a culture for Integration, Collaboration and Communication between different cross functional teams (including ops) for Continuous delivery. • DevOps encourages Operations to participate early in the Development cycle so that products are designed to be easily deployable and maintainable. Copyright © Thinknyx Technologies 3
  4. 4. What is DevOps? • It is a collection of tools, such as Git, Jenkins, Sonar, Nexus, Docker, Ansible, Salt, Chef, Puppet and many more. • It is a collection of tools/technologies and processes to deliver quality services. • It is a movement to respond faster to the market. • It is a movement to delivery quality service faster with the right mix of collaboration between the Development and Operations teams. Copyright © Thinknyx Technologies 4
  5. 5. DevOps Copyright © Thinknyx Technologies 5 Software Development Infrastructure, Operations and Support Build & Release, Testing Teams DevOps
  6. 6. Why DevOps? • Integration • Collaboration • Communication • Adaptation to Changes • A Cultural Handshake Copyright © Thinknyx Technologies 6
  7. 7. Examples Copyright © Thinknyx Technologies 7 Green Channel for Organ Transplant Demonetization
  8. 8. Copyright © Thinknyx Technologies What is DevOps - IaC • IaC – Stands for Infrastructure as Code, evolved with the rise of DevOps Framework. • IaC is “configuring and maintaining” infrastructure activities (like os/db/application/network/firewall/DNS any other infra domain deployments, configurations and maintenance) in the form of codes. • Code-based files gives the flexibility to replicate the changes from days or hours to within a minutes or seconds. • This makes the product development and Release Management lifecycle very fast so that the organizations can launch their products and services in the market in a very short duration of time. 8
  9. 9. Copyright © Thinknyx Technologies Why DevOps – IaC? • The minor changes can be launched in a few minutes without downtime or with minimal downtime. • The beauty of Infrastructure as a Code (IaC) lies in its very : - descriptive nature - straight -forward execution - complete transparent nature • This change will help to bring Product Development (Waterfall, Agile, Lean) and Infrastructure methodologies (ITIL/ITSM) close to each other. • This closeness will result in faster product delivery and hence to the Organizational growth. 9
  10. 10. DevOps - ToolSet Copyright © Thinknyx Technologies 10
  11. 11. DevOps – Git (Version Control System) Copyright © Thinknyx Technologies 11 Yogesh Raheja +91-9810344919
  12. 12. What is Version Control System 12 • As name states Version Control System is the “Management of changes to anything”. • Version Control is way of storing files in central location accessible to all team members and enabling them to keep track of changes being done in the source code by whom, when & why. It also help teams to recover from some inevitable circumstances. Copyright © Thinknyx Technologies
  13. 13. Never mind merging. It's not an SCM, it's a distribution and archival mechanism. I bet you could make a reasonable SCM on top of it, though. Another way of looking at it is to say that it's really a content-addressable file system, used to track directory trees. Linus Torvalds, 7 Apr 2005 13 GIT is not a SCM Copyright © Thinknyx Technologies
  14. 14. • Why Git: - Branching: gives developers a great flexibility to work on a replica of master branch. - Distributed Architecture: The main advantage of DVCS is “no requirement of network connections to central repository” while development of a product. - Open-Source: Free to use. - Integration with CI: Gives faster product life cycle with even more faster minor changes. 14 Why GIT Copyright © Thinknyx Technologies
  15. 15. BitBucket/GitHub/GitLab • What is Bitbucket /GitHub/Gitlab?. • Bitbucket is a Git solution for professional teams. In simple layman language its a UI for Git, offered by Atlassian, similarly we have different available UI solutions from Github (most famous) and Gitlab. • Host in the cloud: free for small teams (till 5 users) and paid for larger teams. • Host on Your server: One-Time pay for most solutions. • Visit “” and click “Get Started” to sign up for free account. • Visit “” for Github details Copyright © Thinknyx Technologies 15
  16. 16. DevOps – CI with Jenkins Copyright © Thinknyx Technologies 16 Yogesh Raheja +91-9810344919
  17. 17. What is Continuous Integration • In Simple term Continuous Integration is a term which means “checking the compatibility of a change you have made with the remaining code base or modules of an application or to check the impact of that change on the application functionality”. • Continuous Integration is not helping us in fixing the bugs but it helps us to Identify those bugs in the early phases of a development lifecycle and with much faster rate. • Continuous Integration is not the sole responsibility of the developers but every individual working in the team is responsible for the Healthy Continuous Integration. Copyright © Thinknyx Technologies 17
  18. 18. Jenkins History • Jenkins was originally developed as the Hudson project. Hudson’s creation started in summer of 2004 at Sun Microsystems. Kohsuke Kawaguchi, the current CTO of CloudBees, “A Company providing Enterprise Level Support for Jenkins, when he was working with Sun Micro Systems” • Certain clashes between Sun Micro Systems and Hudson Community for the Management of the Project • Today Jenkins is the most used Continuous Integration tool in the market, which provide variety of functions to run with the help of large Jenkins Community. Copyright © Thinknyx Technologies 18
  19. 19. Brief about Jenkins • An Open Source CI Server with MIT (Massachusetts Institute of Technology)Licensing Large Community Base • More than 150,000 installations as on Dec, 2016 • More than 1300 plug-in support which make to compatible with almost every delivery tool available in market • Annual meet-up with the Jenkins World • CloudBees is the biggest promoter and Contributor of Jenkins Community and also provide Enterprise Support for Jenkins • Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks related to building, testing, and deploying software. Copyright © Thinknyx Technologies 19
  20. 20. What Jenkins can do ..? • Automated build triggers • Get source code from repository • Automated build • Automated Testing • Trend Reports • Bug Reporting • Automate Notifications • Automate Deployments • Automate BAU Tasks like Space Cleanup, Server Monitoring, Patching, Configuration Management run, Containers run etc. Copyright © Thinknyx Technologies 20
  21. 21. Jenkins Dashboard Copyright © Thinknyx Technologies 21
  22. 22. DevOps – Ansible Copyright © Thinknyx Technologies 22 Yogesh Raheja +91-9810344919
  23. 23. • IT Automation Software for System Administrators:  Founded in Feb, 2012  First commercial product release in 2012  Multiple in built functional modules  Multiple Community Members  40,000+ Users  50,000+ Nodes managed in the largest deployments  Support for Red Hat, CentOS, Ubuntu, Oracle Linux, MAC, OS, Solaris 10/11, Windows.  Ansible Controller node Supported on Linux variants only About Ansible 23Copyright © Thinknyx Technologies
  24. 24. • Michael DeHaan, the author of the provisioning server application Cobbler and co-author of the Func framework for remote administration, developed the platform called “Ansible” on 20th Feb’ 2012. • It is included as part of the Fedora distribution of Linux, owned by Red Hat Inc., and is also available for Red Hat Enterprise Linux, CentOS, and Scientific Linux via Extra Packages for Enterprise Linux (EPEL) as well as for other operating systems. • Ansible, Inc. (originally AnsibleWorks, Inc.) was the company set up to commercially support and sponsor Ansible. • It was acquired by Red Hat in October 2015. Ansible History 24Copyright © Thinknyx Technologies
  25. 25. • Ansible is an open-source IT automation tool majorly used as Configuration Management tool by system administrators. • Ansible is a configuration management system, capable of maintaining remote nodes in defined states (for example, ensuring that specific packages are installed and specific services are running). • Ansible is a distributed remote execution system used to execute commands and query data on remote nodes, either individually or by arbitrary selection criteria. • Provides following customer benefits: • Productivity / Efficiency • Simplicity • Scalability • Consistency • Operational efficiency Introducing Ansible 25Copyright © Thinknyx Technologies
  26. 26. • Descriptive • Straightforward • Transparent [root@yogesh]# cat ntp.yml --- # This is my Host section - hosts: # This is my Task section tasks: - name: NTP Installation yum: name=ntp state=present - name: NTP Service service: name=ntpd state=started enabled=yes Infrastructure as Code 26Copyright © Thinknyx Technologies
  27. 27. Ansible Communication 27Copyright © Thinknyx Technologies
  28. 28. DevOps – Docker Copyright © Thinknyx Technologies 28 Yogesh Raheja +91-9810344919
  29. 29. 29 Overview of Containers Copyright © Thinknyx Technologies
  30. 30. 30 Containers VS VM’s Containers are an app level construct VMs are an infrastructure level construct to turn one machine into many servers Copyright © Thinknyx Technologies
  31. 31. 31 Containers and VM’s together Containers and VMs together provide a tremendous amount of flexibility for IT to optimally deploy and manage apps. DEV PROD Copyright © Thinknyx Technologies
  32. 32. Origins of Docker Project 32 2004 Solaris Containers / Zones technology introduced 2008 Linux containers (LXC 1.0) introduced 2013 Solomon Hykes starts Docker as an internal project within dotCloud Mar 2013 Docker released to open source Feb 2016 Docker introduces first commercial product – now called Docker Enterprise Edition Today Open source community includes: - 3,300+ contributors - 43,000+ stars - 12,000+ forks Copyright © Thinknyx Technologies
  33. 33. Results 33 Speed • No OS to boot = applications online in seconds Portability • Less dependencies between process layers = ability to move between infrastructure Efficiency • Less OS overhead • Improved VM density Copyright © Thinknyx Technologies
  34. 34. Adoption in Just 4 years 34Copyright © Thinknyx Technologies
  35. 35. Copyright © Thinknyx Technologies 35 Docker Architecture
  36. 36. Copyright © Thinknyx Technologies 36 Docker Architecture Image The basis of a Docker container. The content at rest. Container The image when it is ‘running.’ The standard unit for app service Engine The software that executes commands for containers. Networking and volumes are part of Engine. Can be clustered together. Registry Stores, distributes and manages Docker images Control Plane Management plane for container and cluster orchestration
  37. 37. Container as a Service 37 Developers IT Operations BUILD Development Environments SHIP Secure Content & Collaboration RUN Deploy, Manage, Scale Registry Control plane Multi-container appsEngines running on servers in cloud or datacenter Images stored in repos Clients pull and push images Copyright © Thinknyx Technologies
  38. 38. Live Demo 38 • Live Demo using: Git , Jenkins, Docker and Private Cloud • Live Demo using: Git , Jenkins, Ansible and Private Cloud Copyright © Thinknyx Technologies
  39. 39. Copyright © Thinknyx Technologies 39
  40. 40. For any queries or questions, please contact: +91-9810344919 THANK YOU Copyright © Thinknyx Technologies 40