Course Curriculum –
- How the course is structured and what the learning objectives are.
- We will try to understand the concepts of DevOps and why it is introduced in IT.
- We will understand the impact of it in the industry as a whole and how it affects typical job roles.
- Focus will be on identifying the gaps between current understanding and devops vision.
- There are several terms in devops such as infrastructure as a code, continuous integration, continuous delivery, continuous testing etc. Understanding them in concept is important.
- At this part we will try to understand theoretical and philosophical approaches of devops.
- Next we will implement all the necessary tools on the lab systems to be able to have a common setup on which we will bring up our systems.
- We will implement tools that make your windows system behave like linux including even a package management system like yum on your windows system.
- We will replace your notepad, we will learn to build our laptop as a developer workstation.
- Systems would be tested at this stage for fitment of doing the lab. In case due to technical limitations, systems are found not to be capable, alternative arrangements can be made (conditions apply).
Section A – Infrastructure Automation
Virtualization Automation with Vagrant
- First thing that we are going to learn is about automating and abstracting virtualization complexities
- Understanding various approaches used in automating virtualization
- Learning virtualization automation with Vagrant
- Vagrant’s use case as Workstation Standardization
- Vagrant as Infrastructure as Code
- Vagrant as Desired State Configuration Management
- Vagrant providers
- Vagrant Commands
- Using Vagrant to launch multiple systems at once
- Familiarity with Vagrant Boxes
- Exporting and Importing Vagrant Boxes
- Using Vagrant to bootstrap a system with shell scripts
- Impact of Vagrant in DevOps timeline optimization
- Understanding vendor behind Vagrant
- Where to position Vagrant and where not to
Docker – Enabling Immutable Infrastructure
- Introduction to Containerization
- Understanding Linux Containers
- Using LXC
- Understanding benefits of docker over LXC
- Understanding Docker Architecture
- Implementing Docker
- Docker commands to start, manage and stop containers
- Running docker containers in interactive mode
- Understanding ephemeral behavior of docker
- Data persistence in docker
- Network Stack of docker
- Understanding Docker repositories
- Using docker hub
- Creating own docker images and submitting to Hub
- Creating docker image from docker file
- Managing docker at scale
- Understanding docker’s use case as deployment tool
- Understanding concept of Immutable Infrastructure
Kubernetes – Orchestrating Dockers
- What is orchestration
- Why Kubernetes is required
- Understanding of Swarm vs Kubernetes vs Mesos
- Understanding Kubernetes Architecture
- Implementing Kubernetes cluster on 4 Servers
- Managing docker lifecycle using Kubernetes
- Creating a deployment in Kubernetes
- Managing deployment
- Deleting Deployment
- Scaling of containers on Kubernetes
- Exploring container logs in kubernetes
- Understanding Kubernetes Docker Placements
- Implementing and Using GUI for Kubernetes
- Introduction to Microservices and relevance of Kubernetes in context
- Introduction to PaaS and relevance of Kubernetes in context
Section B – Release Automation
Source Code Management with Git
- Understanding of Source Code Repository as the point of handover from Developer team to Operations team
- Understanding Wall of Confusion
- Understanding Code Conflicts
- Understanding Merge Hell
- Understanding Possible Merger Issue Resolution approaches
- Understanding use case for git and brief history of Linus Torvalds’s contribution
- Using git in command line to clone an internet repository
- Using local git command line environment setup
- Using git to do commit code locally
- Integrating local git with remote git server
- Using Github.com by creating user account and projects
- Using Github.com UI to perform typical source code management tasks
- Understanding extra features of GitHub UI over basic git command line
- Concepts of bug tracking and collaborative documentation
- git clone of github repository
- distributed use of git
- Creating own github clone
- Github enterprise alternatives
- Implementing lightweight alternative that looks and feels similar to github.com
- Implementing enterprise grade open source github clone system called GitLab through Infrastructure as Code
- Understanding features of GitLab
- Understanding unique proposition of GitLab
- Retracing typical github.com actions on GitLab
- Importing Sample J2EE source code in local git server
Jenkins – Continuous Integration de facto Industry Standard
- Introduction to Continuous Integration
- Understanding Jenkins and Hudson relation
- Implementing Jenkins through Infrastructure as Code
- Understanding concept of Job based automation
- Creating first job in Jenkins
- Enabling Git in Jenkins
- Integrating Git Server with Jenkins for periodic polling of source code changes
- Import sample java j2ee application on git server
- Trigger Jenkins job from Git
- Understanding Software Builds
- Using Maven as a Build Tool
- Configure Maven to work with Nexus Repository and Sonarqube Code Quality Analysis
- Implement Nexus Repository through Infrastructure as Code
- Configure Nexus repository for integration with Maven
- Implement Sonarqube Code Quality Analysis
- Integrate Sonarqube to be called by maven in a jenkins job for code quality testing
- Integrate Nexus to store builds and artifacts
- Understanding Deployment Automation
- Implementing Deployment Automation
- Understanding testing stages and purposes
- Implementing various test stages and creating pipeline
- End to End Pipeline automation for continuous deployment
- Understanding Testing Automation
- Implementing Web Testing Automation in Jenkins by integrating Selenium through Python wrapper
- Deployment Automation through API calls
- Understanding Jenkins Deployment Architecture for better performance
Nagios -Industry Standard for Monitoring
- What is Continuous Monitoring
- Need for Monitoring
- What is Nagios
- What can Nagios Monitor
- How does Nagios compare with Competition
- Installing Nagios
- Configuring Nagios for monitoring local system
- Understanding File structures in Nagios
- Understanding inter file relationships and dependencies in Nagios Configuration
- Configuring NRPE on Linux server
- Using NRPE to monitor Linux systems through Nagios
- Configuring NSClient++ on Windows
- Using check_nt to monitor Windows systems
- Understanding Nagios Ecosystem of Agent Alternatives
- Understanding Nagios Ecosystem of GUI Alternatives
- Understanding options for web based GUI management of Nagios Configurations
- Understanding Nagios Core engine alternatives
Section C – DevOps Coding Languages
Puppet – The ‘Easiest’ Programming Language
- Introduction to Automation and Configuration Management with Puppet
- Introduction to concepts of resources and providers
- Desired State Configuration Management
- Managing Puppet Infrastructure as a Code
- Puppet Code Lifecycle
- Understanding architecture components
- Installing puppetmaster and puppet agent
- Implementing Puppet Enterprise GUI
- Writing Manifests
- Running Manifests locally
- Running Manifests on Server
- Using common resources – file, service, package
- Automate anything by executing commands through puppet
- Understanding non sequential coding style
- Implementing ordering in puppet
- Dissecting a puppet code run
- Understanding how to write platform independent code in puppet
- Using variables
- Using facter variables
- Puppet conditionals
- Use of embedded ruby templates in puppet
- Implementing modularity in puppet
- Using third party modules
- Creating own modules
- Applying automation modules on agents
- Automating web services with Puppet
Chef – The Challenger and Developer’s Choice
- Introduction to Automation and Configuration Management with Chef
- Introduction to concepts of resources and providers in Chef
- Desired State Configuration Management push/pull mechanisms in chef
- Managing Chef Infrastructure as a Code n Git SCM
- Understanding architecture components
- Chef component integration flow
- Installing chef workstation, chef server, chef node
- Implementing enterprise chef with GUI
- Writing recipes
- Running recipes locally
- Running recipes on Server
- Using common resources – file, service, package
- Automate anything by executing commands through chef
- Implementing modularity in chef through cookbooks
- Using third party cookbooks
- Creating own cookbooks
- Uploading cookbooks
- Mapping cookbooks
- Applying cookbooks on agents
- Understanding concept of runlist
- Using file shipment within cookbooks
- Understanding benefits of sequential coding style
- Understanding the scalability of chef
- Dissecting a chef code run
- Understanding how to write platform independent code in chef
- Using variables
- Using ohai variables
- Chef conditionals & loops
- Use of embedded ruby templates in Chef
- Automating databases with Chef
- Automating web services with Chef
- Understand how chef knife can interact with cloud solutions like ec2
- Understand the ways to use chef on AWS cloud
- AWS Opsworks and how it works
- Difference between Opsworks and CloudFormation
- Chef’s cloud first approach
Ansible – The Redhat Dark Horse – Easiest to implement
- Introduction to Automation and Configuration Management with Chef
- Introduction to concepts of modules and providers in Chef
- Desired State Configuration Management through Push
- Understanding Ansible requirements
- Understanding enterprise implementation architectures
- Ansible code run workflow
- Installing Ansible Tower
- Installing Ansible Opensource
- Understanding concept of inventory
- Managing datacenter structures with inventory
- Writing playbooks
- Running playbooks
- Using common modules – file, service, apt, yum
- Automate anything by executing commands through Ansible
- Understanding benefits of yaml coding
- Common automation with Ansible
- Platform dependencies in Ansible code
- Using variables
- Ansible vault variables
- Using Ansible vault for storing passwords
- Automating databases with Ansible
- Automating web services with Ansible
Application Designs that Suit these DevOps Tools
- Gartner Bi-Modal IT Concept
- Understanding Cloud Ready Application Architecture
- Understanding New Age DevOps and Use case of Legacy Software
- Legacy Software Architecture Modernizations
- Introduction to the Twelve Factor app
- The Twelve Factors
Live Projects –
10 projects are covered as part of this course
- Project 1: Implementing private Git server behind corporate firewall.
- Project 2: Sample Java J2EE application’s end to end continuous delivery and deployment automation with integrated and automated testing in a delivery pipeline
- Project 3: Implementing 3 tier enterprise chef architecture and using it to create an end to end automation of leading web application framework automation involving application configuration, database configuration, platform configuration and vm configuration
- Project 4: Managing Webservers and Websites using Puppet
- Project 5: Managing Cloud Infrastructure as a Code
- Project 6: Performing secure user management across multiple servers using ansible.
- Project 7: Creating your own docker image that you can contribute back to open source community
- Project 8: Managing dockers at scale by using kubernetes in a 4 server cluster
- Project 9: Monitoring Windows and Linux platforms and tools using Nagios monitoring system
- Project 10: Bringing up a pre-baked multi server virtual machine blueprint by using vagrant
Why learn DevOps?
DevOps originally started off as a means of enhancing collaboration between people involved in the software lifecycle management to speed up the delivery of features to production. It tries to eliminate the wall of confusion between developers and operations team by enabling teams with focused people practices, processes and tools. However, since launch of devops philosophy, the market has gradually moved towards devops as extreme automation of the release management process. People are trying to automate everything between developers finishing the code and the production environment. Now there are tools in the market which some leading companies have successfully implemented and partially achieved this vision. Entire industry is thus following suit as in the competitive market dominated by SMAC, no one wants to be left behind. That has in turn created a tremendous demand for skilled devops people in the market and companies are ready to pay any amount for well skilled devops job seekers. And in many companies, existing employees are being asked to skill up on the devops.
Is there any pre-requisite?
This course is a 360 degree devops course that prepares people to take on the job interviews in devops job market and showcase some live experience of working on real systems where devops is implemented. The course enables one with the ammunition required to crack interviews and do well in any devops role work.
The course starts from the basics. In a DevOps course, the main prerequisite is understanding of basic commands in Linux. For those who do not understand Linux commands, a special session is given to give them Just Enough Knowledge on Linux.
Do I need to know Programming?
Some people think that for learning DevOps, you may need to know programming in prior. Its a myth without substance. DevOps philosophy on the contrary suggests that people should not do programming but rather should write configuration files for tools that know how to do programming. For example, Ansible is based on Python. When it executes a task it actually runs a python code. However, what Ansible asks of you is to write a simple yaml configuration file where you describe in simplest of terms what you want to achieve through ansible – such as saying I want to install a software and start its service. Offcourse there might be syntaxes for you to remember – but that is far from writing a real programming language code. Instead its like writing parameter values for some configurations. Once Ansible receives those parameters of configuration and instructions in simpler english, the tool itself figures out the part of “how to achieve this” and accordingly writes down the appropriate python code. So who is writing the code? it is the tool; not you. So knowing python is not a pre-requisite for learning Ansible. Rather Ansible demands you to not to write the code and rather leave it to the tool. So lets be clear, coding experience is not needed for learning DevOps.
What programming languages are covered in this course?
However, there is no harm in knowing some coding. Considering, at many places, you may need to use native shell scripting and for some advanced automations of ansible, you may need to know how python works; in the course we have also added three more Just Enough Knowledge sections – Shell Scripting, Python and Ruby (as puppet and chef are based on Ruby).
Will Cloud Computing be covered in this course?
Not only that considering the close relationship between DevOps and Cloud Computing there is a dedicated Just Enough Knowledge section on AWS Cloud Concepts.
How much time will it take?
The course is of around 30 hours of duration. Out of which approximately 25 hours are completely hands on training on the tools and implementations of devops. We do not waste time in PPTs and theory sessions. In a professional job world, real experience matters. Our entire course is hands on and hence time taken to complete the course is almost equal to time taken for implementation of these automations and writing up of those codes. For around 10 odd tools, 30 hours is more than adequate (in case you are wondering why unlike others we are not giving 50/60 or 100 hours of training – simply because neither we like to waste time nor we believe you would like to waste time as well).
Why learn DevOps from Study9?
- √ Number 1 Online DevOps Training – Detailed, Industry Oriented, Hands On
- √ Best DevOps Training Course Curriculum Available – A 360-degree coverage of all major tools
- √ Completely hands on and project driven training
- √ Labs are created on your machine – you do it yourself with our trainer’s guidance
- √ If your system is not capable enough to run lab, lab servers can be provided as separate arrangements
- √ All sessions are recorded and are given for you to download and watch repeatedly
- √ You get access to a learning management system where your course materials are shared
- √ Industry Experienced Trainer – Theory can be taught by anyone, but real training comes from knowing real experiences
You are busy. You dont have time for a 2 month long course.
You are a smart person. You can learn technology by yourself. All you need is a better set of videos than what you get for free online. And you need an expert of the domain to help you in doubts.
That’s what this training gives you. For the first time, you get video training that comes bundled with 10 live doubt clearance sessions with trainer. Moreover, you get lifetime support by our industry experts and help in putting together your resume.
Plus we offer you an extra video for preparing you for your interviews.
Together its more than 27 hours of video + live class. And unlimited email support.
In this way we tried to eliminate the fear that many of us have that “If I purchase a video and later I got some doubts while studying, then how to clarify that ? ”
This offering is unique and unlike any other video training site.
Experienced IT professionals
Having hands on practical knowledge
With experience of training large batches in both offline and online mode
Study9 provides a robust job market focused DevOps training. Our DevOps course is designed with the right mix of basic and advanced topics to get one started in the domain and enable a person to get a good job in this competitive market. Our DevOps trainers are experienced professionals with hands on knowledge of DevOps projects. The DevOps course content is designed with keeping the current job market’s demands in mind.Our DevOps training course is value for money and tailor made for our students.
About Study9 Training Method
The Study9 DevOps training courses are completely online training courses. The online DevOps training is given using advanced training softwares to make the students comfortable with the online training. The student and teacher can talk over VOIP software, they can share each others screens, share DevOps course contents and concerns during the class through chat window and even can see each other using Webcams. The time tested proven online DevOps training methodologies adopted by study9 are of the most advanced ones in India. The student will feel at ease with the DevOps training mode. And we are so confident on that, we offer a moneyback if the student is not satisfied with first DevOps Training class.
The cloud based DevOps training course contents are accessible from anywhere in the world. Study9 provides access for each student to an online Learning Management System that holds all the slides and videos that are part of the DevOps training courses. The students can access them from their Laptop, Mobile, Tablets etc. The students will also give DevOps training exams on this Learning Management System and our expert DevOps trainers will rate their papers and provide certifications on successful completion of these DevOps training exams.
The best part of this online DevOps training approach is that it does not require one to waste time by travelling to a particular DevOps training center. And the timings are flexible so that if someday the student has problems in taking the morning DevOps training class he/she can fix an alternate time in the evening in discussion with DevOps trainer. On need basis our DevOps trainers can take a class in late night as well. On request basis missed DevOps training class sessions can even be given as video lectures to the student for them to go through to be prepared for the next class.
About this Course
Study9 team has brought out this training on Devops ,after we have received much requests from various students from Bangalore, Kolkata, Delhi and Hyderabad. DevOps is a process and technology that streamlines the interaction between developers and operations people in a company to enable faster time to market of application features being developed by developers. DevOps is therefore the combination of Developers and Operations people. Study9 offers best DevOps training in Bangalore. After getting a huge response in classroom Devops training at Bangalore,we are also planning to start classroom live instructor led devops training at kolkata,Delhi and Hyderabad location as wellin near future.Our Devops trainers are real industry practitioners,provide the training with live projects having one or two use cases on Devops.However,if you would like to join our Devops training course and you are from a different city,you can join live instructor led online Devops training with us.If you still have any query regarding Devops training,please do not hesitate to contact Devops support team at +email@example.com. Besides getting live instructor led online/classroom training on DevOps,you will also get access on Devops training materials,assignments,project code,class recordings etc on our learning management system and 24/7 access to our Devops support team for resolving your queries on Devops during the training.