Course Overview
Course Content
- Aurora
- MySQL
- MsSQL
- MariaDB
- PostgreSQL
- Oracle
- Hands-on: Create a database with replication on another Availability zone. Configure auto-scaling, daily backup, and auto-upgrade.
- Hands-on: Connect your database through the database client and insert tables and contents into it. Apply some queries to retrieve data.
- Essentials of Cloud Computing?
- Cloud and virtualization architecture
- Cloud deployment architecture
- Cloud providers – An overview
- Why do we need DevOps on Cloud?
- Introducing to Amazon web services
- Hands-on: How to a setup AWS account
- Hands-on: Various AWS services for DevOps – An overview
- Hands-on: DevOps using AWS – Demo
- Knowing about Version control
- Git – A CLI
- Essentials of GIT in Industry
- How to setup GIT
- Working with various commands in GIT
- Recording Changes to the Repository
- How to check the Status of Your Files
- How to track New Files
- Staging our modified files
- Ignoring Files from GIT
- Viewing Your Unstaged and Staged Changes
- How to Commit Your Changes
- Skipping the Staging Area and commit
- Removing Files from GIT
- Viewing the Commit History
- Limiting Log Output
- Using a GUI to Visualize History
- Undoing Things
- Changing Your Last Commit
- Unstaging a Staged File
- Unmodifying a Modified File
- Working with Remotes
- Showing Your Remotes
- Adding Remote Repositories
- Fetching and Pulling from Your Remotes
- Pushing to Your Remotes
- Inspecting a Remote
- Removing and Renaming Remotes
- Branching and Merging in Git
- What a Branch Is
- Basic in Branching and Merging
- Branch Management in GIT
- Branching Workflows and its usage
- Remote Branches – create and delete
- Rebasing
- Git workflows
- Git cheat sheet
- Hands-on: Installing Git
- Hands-on: First-Time Git Setup
- Hands-on: Getting a Git Repository
- Hands-on: Working with various git commands
- Hands-on: Working with Local repository vs remote repository
- Hands-on: Managing remote repository
- Hands-on: Stashing operations and various local repository operations
- Hands-on: Branching and merging operations
- Hands-on: Resolving conflicts during merges
- Hands-on: Managing access on repository management
- Essentials of Continuous Integration
- An example scenario where CI is used
- Know about Jenkins and its architecture in detail
- Jenkins tool Management in detail
- Know about User management in Jenkins
- Authentication
- Jenkins own database user creation
- Options to enable integration with LDAP
- Authorization
- Matrix-based authorization
- Project-based authorization
- Overview of Maven
- Maven project structure
- Maven plugins
- Project Object Model (POM) – the fundamental unit of work in the Maven project
- Maven build lifecycle
- Adding external dependencies to maven pom.xml
- Maven build and test project
- Creating jobs and automatic build settings
- What is Jenkins Pipeline?
- Why Pipeline?
- Integration with GIT
- How to enable project-based authorization for a job
- Source code management while creating jobs
- Triggering automated build
- Maven job setup
- Know about post-build options for jobs like notifications, trigger another build, publishing reports, etc.
- Adding a slave node to Jenkins
- Building Delivery Pipeline
- Notification settings in Jenkins
- Plugin management in Jenkins
- Hands-on: Installing Jenkins
- Hands-on: Post-installation setup wizard
- Hands-on: Unlocking Jenkins
- Hands-on: Customizing Jenkins with plugins
- Hands-on: Creating the first administrator user
- Hands-on: Administration of Jenkins
- Hands-on: User management – Authentication and Authorization
- Hands-on: Master-slave set up on Jenkins
- Hands-on: Creating basic jobs to pull code from GitHub
- Hands-on: Jobs to perform individual operations
- Hands-on: Setup build pipeline
- Hands-on: Understanding build triggers, build and post-build operations
- Hands-on: Deploying an application to a container using Jenkins
- Introduction
- Real-world Shipping Transportation Challenges
- Introducing Docker and its technology
- Understanding of Docker images and containers
- Working with container
- How to Share and copy a container
- Container Life Cycle
- How to use Base Image and customize
- Creation of Docker File
- How to Publish Images on Docker Hub
- Introduction to Docker Networking
- Network Types in docker technology
- Docker Container Networking
- Docker Compose – An introduction
- Docker Swarm – An introduction
- Use Docker Compose to create PHP, WordPress, MySQL
- How to Start Containers on a Cluster with Docker Swarm
- Creating and Scaling an application in Docker swarm
- Hands-on: How to setup docker-engine
- Hands-on: How to run a docker container from pulling image from public repo
- Hands-on: How do we create a docker file
- Hands-on: Creating different docker files for different application
- Hands-on: Creating a docker-compose file to deploy multi-container
- Hands-on: Creating docker custom bridge networks
- Hands-on: Creating a docker swarm cluster
- Hands-on: Orchestration of container using swarm cluster
- Introduction to Kubernetes
- Kubernetes Cluster Architecture – An overview
- Understanding concepts of Pods, Replica sets, deployments, and namespaces
- Understanding the concepts of services and networking
- Persistent volumes and persistent volume claims – an overview
- Design of Pods
- Understanding labels, selectors, jobs, and schedulers
- Hands-on: Setting up the Kubernetes Cluster
- Hands-on: Deploying an app through Kubernetes Dashboard
- Hands-on: Accessing the application through the service
- Hands-on: Rolling updates in Kubernetes
- Hands-on: Creating and adding volumes
- Introducing Ansible – A configuration management tool
- Basics / What Will Be Installed
- Understanding Ansible architecture
- Control Machine Requirements
- Managed Node Requirements
- Inventory
- Hosts and Groups
- Host Variables
- Group Variables
- Learn various Ansible Modules
- How to use Adhoc commands
- Parallelism and Shell Commands
- File Transfer
- Managing Packages
- Users and Groups
- Deploying From Source Control
- Managing Services
- Introduction to YAML script
- Playbook
- About Playbooks
- Playbook Language Example – YAML
- How to Write Playbooks
- Tasks in Playbooks
- Understanding about various tasks in the playbook
- Introduction to Handlers and variables
- Learn about using handlers, variables in the playbook
- Become (Privilege Escalation)
- Roles
- Role of Directory Structure
- Using Roles
- Role Duplication and Execution
- Role Default Variables
- Role Dependencies
- Role Search Path
- Ansible Galaxy
- Including and Importing
- Includes vs. Imports
- Importing Playbooks
- Including and Importing Task Files
- Including and Importing Roles
- Hands-on: How to setup Ansible server and target servers
- Hands-on: Writing Adhoc commands to install and configure the servers
- Hands-on: Writing a playbook to install and configure webservers and deplo0y an application
- Hands-on: How to create Ansible Role and use it
- Hands-on: Using an ansible role in a playbook
- Hands-on: How to use Ansible Galaxy to download roles.
- Hands-on: Example – Install and use Jenkins roles from ansible-galaxy