DevOps & AWS 

DevOps is a set of practices that combines software development and information-technology operations which aims to shorten the systems development life cycle and provide continuous delivery with high software quality

 

 

DevOps Course Index 

DevOps Introduction

  • Understanding Development
  • Development SDLC : WaterFall & Agile
  • Understanding Operations
  • Dev vs Ops
  • DevOps to the rescue
  • What is DevOps
  • DevOps SDLC
  • Continuous Delivery model
  • DevOps tools for DevOps SDLC
  • DevOps Roles & Responsibilities
Devops Architecture

OS, Virtualization & Networking
Linux Quickstart

  • Linux Introduction, Principles & Linux distros
  • Command line utilities & Basic commands
  • Linux Filesystem
  • Text Editors (VIM)
  • Filters & I/O Redirections
  • Users & Group administration
  • File permissions & Ownerships
  • Sudo
  • Software Management: Redhat & Ubuntu
  • Useful tools: ssh, telnet, scp, rsync, disk utils, backups etc
  • Service & Process management
  • Systems and HW stats
Devops Life cycle

Networking fundamentals Part 1

  • Components of computer networks
  • Classification: LAN, WAN, Peer to Peer network, Server based
  • Switches
  • Routers
  • Network Architecture
  • Protocols
  • Port numbers
  • DNS
  • DHCP
  • IP Addresses

Vprofile Web Application Architecture

  • Infrastructure
  • Network layout
  • Services & Components
  • Databases
  • Datastores
  • Architecture from a DevOps perspective.

Virtualization

  • Introduction & Real time use cases
  • Hypervisors
  • Virtualbox
  • Vagrant
  • Vagrant on windows
  • Vagrant on Linux
  • Vagrant Cloud
  • Automating virtual machines
  • Vagrant & virtualbox for Lab setup
  • Create & Manage your own Lab on any computer.

Implementing Vprofile on VM’s

  • Setup all vprofile services in Single vm
  • Create multiple vm’s through Vagrant
  • Setup Vprofile multistack in multiple vm’s
  • Validate and test Multistack Vprofile App

Part 2 Cloud Computing
Cloud computing

  • Introduction to cloud computing.
  • DevOps & Cloud
  • Public, Private & Hybrid cloud
  • IAAS, PAAS & SAAS
  • Cloud computing & DevOps

AWS

  • Introduction to Public cloud with AWS
  • Setup your own account and Manage it
  • IAM: Manage users, groups, roles & policies
  • Secure your AWS account
  • Ec2 services: Instances, AMI, EIP, Security groups, key pairs
  • EBS: Manage Volumes for ec2, Sanphots, backups & restores
  • ELB: Load balance your own website
  • Cloudwatch: Monitoring
  • Autoscaling: Scale out or in your website
  • VPC: Highly available and secure network design & implementation
  • S3: File storage, Web Hosting, command line sync, Centralised storage
  • RDS: Setup & Manage your own Highly available Database
  • EFS: Scalable & Shared storage
  • CI/CD on AWS: Codecommit, codebuild, codedeploy, codepipeline
  • Beanstalk
  • Complete CI/CD on AWS
  • Cloudformation

Vprofile on AWS cloud

  • VPC with multiaz for HA and security
  • Create multiple Ec2 instances for setting up Nginx, Tomcat & Backend services.
  • RDS for db, S3 & EFS for Vprofile storage.
  • Setup AWS Elastic Load balancer 7 Autoscaling in front of Nginx or Tomcat for High
  • Availability.
  • Monitor everything with AWS Cloudwatch.
  • CI/CD of vprofile project on AWS

Part 3 Automation, Orchestration & Config Managment
Version control system with Git

  • What is VCS & why it is needed
  • DevOps use cases
  • Setup your own repo with git
  • Manage your code base/source code with GIT & GITHUB

Continuous Integration with Jenkins

  • Introduction to Continuous integration.
  • Build & Release and relation with DevOps
  • Understanding Development and developers
  • Why Continuous integration
  • Jenkins introduction and setup
  • Jenkins projects/jobs
  • Jenkins plugins
  • Jenkins administration:
    • Users
    • Nodes/slaves
    • Managing plugins
    • Managing software versions
  • Build tool Maven
    • Introduction,
    • Phases
    • Java builds
  • Build and Release job/project setup
  • Nexus:
    • Intro & Setup
    • Software versioning & Hosted repository
    • Integration with Jenkins
  • Continuous integration job/project setup
  • Complete Jenkins project:
    • Packaging Artifacts
    • Static code Analysis
    • Tomcat setup Staging & productions
    • Artifacts deployments to webservers from Jenkins
    • Build Pipeline
  • Jenkins not just CI tool anymore
  • More DevOps use cases of Jenkins

Continuous Integration for Vprofile Application

  • Setup Jenkins, Maven and Git for building Vprofile source code.
  • Sonarqube for Code Analysis.
  • Version vprofile softwares and upload it in Nexus repository.
  • Deploy Vprofile software to tomcat server.
  • Continuous Software Testing for Vprofile after deployment.
  • Vulnerability testing for Vprofile with security tools.
  • Alerting Developers for any build issues.
  • Complete Continuous Delivery Build Pipeline for Vprofile on Dev, QA, UAT and
  • Production Environment.

Ansible

  • Configuration Management & Automation
  • What is Ansible & its features
  • Ansible setup on local & cloud
  • Understanding Ansible architecture & Execution
  • Inventory
  • Ad hoc commands: Automating change Management with Ad Hoc commands
  • Playbook Introduction
  • Ansible configuration with ansible.cfg
  • Ansible documentation
  • Modules, modules & lots of modules
  • Writing playbook for webserver & DB server deployments
    • Tasks
    • Variables
    • Templates
    • Loops
    • Handlers
    • Conditions
    • Register
    • Debugging
  • Ansible Roles
    • Identify server roles
    • Roles structure
    • Creating, Managing and executing roles
  • Ansible Galaxy
    • Exploring Roles from Galaxy
    • Download Galaxy roles and integrate with your code
  • Ansible Advanced Execution
    • Improving execution time
    • Limiting and selecting tasks
    • Troubleshooting and Testing

Puppet

  • Config Management with Puppet
  • Difference between Puppet & Ansible
  • Puppet server & agent setup
  • Writing puppet manifests
  • Managing multi OS(RedHat & Ubuntu) with puppet
  • Setup LAMP Stack with Puppet
    • Resources
    • Variables
    • Selectors
    • Classes
    • Variables
    • Conditions
    • Modules
  • Puppet Forge modules:
    • Apache
    • VCS
    • Firewall
    • Mysql
  • Templates
  • Hiera

Vprofile Continuous Delivery project

  • What is Continuous delivery & why its needed
  • Continuous delivery vs Continuous deployments
  • Overview of the project
  • Infrastruture setup for the project
  • Integrating, AWS, Git, Jenkins, Nexus, Ansible, Webservers, Backends & DBservers
  • Project execution step by step.
  • Build triggers
  • Build Pipeline
  • Deploy latest/old/any version of artifacts on Dev, QA, UAT & Production Environment.

Part 4
Dockers & Containers

  • What are containers
  • Difference between VM’s & Containers
  • Hypervisor Vs Docker Engine
  • Docker Introduction
  • Docker installation
  • Images & containers basics
  • Images
    • Docker Images Deep Dive
    • DockerHub
    • Pull & Push images
    • Building your own Image with Dockerfile
    • Docker & Jenkins integration
    • Hosting & Managing Images
  • Containers
    • Deep Dive
    • Running, Stopping, Deleting, Inspecting & Managing containers
    • Docker networking
    • Web server examples
    • Local Developement workflow
    • Docker Compose
  • Automated WorkFlow/ Continuous delivery of dockers
  • Docker Orchestration with Kubernetes
    • Microservice Architecture
    • Why Containers for microservices
    • Kubernetes Intro & Architecture
    • Kubernetes setup
    • Running docker containers on kubernetes
    • Kubectl
    • Pod
    • Service
    • Replication controller & Set
    • Deployment
  • Whats Next in Cotainer world

Containerizing Vprofile Applications

  • Learn to containerize Vprofile all the services with Dockerfile and Build.
  • Continuous Integration of docker images from Jenkins.
  • Docker compose to run multistack vprofile app on Docker Engine.
  • Kubernetes Definitions for Vprofile all the containers and services.

Part 6: CloudOps & Miscellaneous

  • CI/CD for Docker, Kubernetes, AWS ECS & AWS EKS
  • Ansible for cloud automation
  • Complete project implementation with Ansible on AWS
  • Terraform for cloud automation
  • Complete project implementation with Terraform & Ansible
  • DevOps job profiling, Interview questions.
  • Get insight of what IT Industry needs from you.
  • How to keep up with DevOps latest tools and technologies.

FAQ’s

Q1. What is DevOps?
Ans: DevOps isn't a product but rather a culture and process. There are certain technologies and
skills someone working in a DevOps environment should have.


Q2. How DevOps helps organization?
Ans: The recently released 2017 State of DevOps Report uncovers some impressive statistics. High
performing organizations that effectively utilize DevOps principles achieve:
46x more frequent software deployments than their competitors.
96x faster recovery from failures.
440x faster lead time for changes.
Higher levels of customer satisfaction and operational efficiency.
Sources: https://www.forbes.com/sites/chriscancialosi/2017/06/19/the-state-of-devops-in-2017-
transformational-leadership-is-key/#4c3c7de563dc
https://puppet.com/resources/whitepaper/2016-state-of-devops-report


Q3. How many IT companies are using DevOps Model?
Ans: DevOps adoption has jumped from 66% in 2016 to 74% in 2016. With such a rate in 2 years it
will go more than 90 %.
Source: https://devops.com/state-devops-adoption-trends-2017/


Q4. Why should I learn DevOps?
Ans: With such a high adoption rate of DevOps across IT industry, it has opened lot of Job
Windows that are not yet fulfilled. Companies are desperately looking for DevOps Engineers who
can help them setting up DevOps Environment.


Q5. Do DevOps Engineers/Consultant/Architect get paid well?
Ans: DevOps are one of the highly paid job as per Business Insider, Glassdoor and PayScale
survey.


Q6. How will this course help me learn DevOps?
Ans: Our focus is on training you on Real Time use cases and not just one by one introduction to
tools. For this very reason we have created Vprofile application. You will learn all the latest and
greatest DevOps tool in the market and most importantly integrate them together to setup
Orchestration of Continuous Delivery. Yes we said orchestration and not simple automation scripts.


Q7. What is Vprofile Application?

Ans: Vprofile is a java based Web Application written by our expert Developers. Its a social
networking website like Facebook.
In Real time you will have multiple services/servers working together to create a web service like
Facebook or Twitter or Amazon or Flipkart. To deliver features to the website, developers will code
new features and Operations team will deploy them into production servers. By using DevOps
principles and Tools we can deliver features more rapidly to production systems.
We have taken the same approach and will train you in the similar manner.

 

 

 

DevOps & AWS Training by VisualPath IT