devops training course - amazon s3 · importance of linux in devops fetching os and hardware...

11
DevOps Training Course Syllabus

Upload: dokhanh

Post on 04-Jun-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DevOps Training Course - Amazon S3 · Importance of Linux in DevOps Fetching OS and Hardware information ... Maven G A V explained Add a custom life cycle in Maven

DevOps Training

Course

Syllabus

Page 2: DevOps Training Course - Amazon S3 · Importance of Linux in DevOps Fetching OS and Hardware information ... Maven G A V explained Add a custom life cycle in Maven

LINUX: BASICS & ADMIN

Linux OS Introduction

Importance of Linux in DevOps

Fetching OS and Hardware

information

Linux Basic Command Utilities

File and Directory Management.

Linux File Editors (VIM)

Utilities to download software

into Linux from Internet

User Administration

File permission management

Package Management

Service Management

LINUX: NETWORKING

Introduction to network.

Introduction to network in Cloud.

Firewall

Load Balancer

Port

Protocol

IP Address

DNS

DHCP

Static IP

WEB APPLICATION ARCHITECTURE

Enterprise 3-tier Application layout

Haproxy Load balancer.

Apache Web Server

Apache Tomcat Server

MariaDB Server

MOD_JK Proxy

Integration of Web Server with Application

Server.

Integration of Application Server with DB

Server.

Best practices of architecture.

Horizontal scaling vs Vertical scaling.

In software engineering, multitier architecture

(often referred to as n-tier architecture) or

multilayered architecture is a client–server

architecture in which presentation, application

processing, and data management functions are

physically separated. The most widespread use of

multitier architecture is the three-tier architecture.

N-tier application architecture provides a model

by which developers can create flexible and

reusable applications. By segregating an

application into tiers, developers acquire the

option of modifying or adding a specific layer,

instead of reworking the entire application. A

three-tier architecture is typically composed of a

presentation tier, a domain logic tier, and a data

storage tier.

Page 3: DevOps Training Course - Amazon S3 · Importance of Linux in DevOps Fetching OS and Hardware information ... Maven G A V explained Add a custom life cycle in Maven

CONFIGURATION MANAGEMENT - ANSIBLE

Introduction

Ansible and Infrastructure

Management

Ansible Inventory

o Ungrouped Hosts

o Grouped Hosts

o Groups of Groups

Ansible Server Installation

Ansible Server Configuration file

o Update Username

o Update Keys

o Update SSH Parameters

o Update Roles

o Update Inventory

o Update MISC parameters

How Ansible picks the configuration

Setting up SSH KEYS to and

checking connection to remote

nodes.

Ansible Facts.

o Default facts from nodes

o Create custom facts on nodes.

o How to print facts

Ansible Playbooks

o 'hosts' parameter

o 'become' parameter

o 'gather_facts' parameter

o 'tasks' parameter

o 'vars' parameter

o 'vars_files' parameter

o 'vars_prompt' parameter

o 'handlers' parameter

o 'roles'

Conditions

o When

Loops

o with_items

How to store output of one task

and use it in another task.

Variables From

o vars

o vars_files

o vars_prompt

o vars from inventory hosts

o vars from inventory groups

o roles

Roles

o Create Role

o Define Role

o Write roles

o Role Dependencies

o Variables from Roles

o Variable Precedence.

MISC

o Ansible Vault

o Ansible Pull

o Ansible Galaxy

List of Modules to be discussed:

• setup, ping, yum, yum_repository, service, copy, get_url, shell, command,

set_fact, authorized_key, user, debug, file, find, fetch, hostname, include,

include_vars, mail, package, stat, unarchive, gce, ec2, wait_for, wait_for_connection

Page 4: DevOps Training Course - Amazon S3 · Importance of Linux in DevOps Fetching OS and Hardware information ... Maven G A V explained Add a custom life cycle in Maven

VERSION CONTROL – GIT

Version Control System

Centralized & Distributed Version

Control System

Advantages of Git

GIT

o Anatomy of GIT

o GIT Features

o 3-Tree Architecture

o GITHUB Projects

o GITHUB Management

o GIT Clone / Commit / Push /

Merge

o GITLAB Installation &

Configuration

o GITLAB Management

o Introduction to GITLAB-CI

BUILD TOOLS – MAVEN

Java Compiler

Maven Life Cycle

Maven Installation

Maven build requirements

Maven POM XML File

Maven G A V explained

Add a custom life cycle in Maven

Integrate Artifact manager to

Maven.

Integrate Maven with Code

Analysis tools like SonarQube.

Integrate Maven with testing code

analysis tools , with Selenium

Integrate Maven with executing

shell command for Ad-Hoc

requests.

REPOSITORY TOOLS – SONATYPE NEXUS

What is Aritifact manager

Artifact manager tools

Understanding Maven Release and Snapshot functionality.

Sonatype Nexus Installation

Nexus with Maven Integration

Using default repositories

Create Roles in Nexus

Create Users to Nexus

Assign Roles to Nexus Users

Page 5: DevOps Training Course - Amazon S3 · Importance of Linux in DevOps Fetching OS and Hardware information ... Maven G A V explained Add a custom life cycle in Maven

CONINOUS INTEGRATION - JENKINS

Introduction to Jenkins

Intro to Jenkins-CI

o Continuous Integration with Jenkins Overview

o Installation of Jenkins Master and Jenkins Slave.

o Configure Jenkins

o Jenkins management

o Support for the Git version control systems

o Different types of Jenkins Jobs

o Setting up a Jenkins job

o Scheduling build Jobs

o Maven Build Scripts

o Securing Jenkins

Securing Jenkins

o Authentication

o Authorization

o Confidentiality

o Creating users

Jenkins Plugin

o Installing Jenkins Plugins

o SCM plugin

o Build and test

o Analyzers

Distributed builds with Jenkins

Best Practices for Jenkins

Jenkins Pipeline Projects.

Groovy Scripting Basics.

Jenkins Blue Ocean Projects.

Integration of Jenkins with Ansible

Integration of Jenkins with Chef

Integration of Jenkins with AWS & Google Cloud

Page 6: DevOps Training Course - Amazon S3 · Importance of Linux in DevOps Fetching OS and Hardware information ... Maven G A V explained Add a custom life cycle in Maven

CONFIGURATION MANAGEMENT – CHEF

Chef fundamentals

o Chef Syntax and Examples

o Working with Knife

o Writing First Chef Recipe

o Chef and Its Terminology

o Attributes

o Metadata

o Recipes

o Resources

o Templates

o Definitions

o Recipes

o Writing recipes

o Cookbook Dependencies

o Controlling Impotency

o Notifications

o Template Variables

o Chef-Solo

o Chef-Server

Cookbooks

o Developing Your First Cookbook

o Writing a Recipe

o Creating the Index File

o Changing the Metadata

o Uploading the Cookbook

o Running the Cookbook

o Add an Attribute

o Add a Resource t the Default Recipe

o Add the Template File

o Uploading and Running the Cookbook

o Using Environments

Modeling your infrastructure

o Roles

o Implementing a role

o Determining which recipes you need

o Applying recipes to roles

o Mapping your roles to nodes

o Environments.

o Organizing your configuration data

Page 7: DevOps Training Course - Amazon S3 · Importance of Linux in DevOps Fetching OS and Hardware information ... Maven G A V explained Add a custom life cycle in Maven

CONTAINERS - DOCKERS

What are containers?

Difference between VM’s and

Containers

Hypervisor Vs Docker Engine

Docker Introduction

Docker Installation

Docker Images

Docker Commands and different

options

Creating own Docker images using

commit.

Creating own images using

Dockerfile

Automating Image creation with

DockerHub and Jenkins.

Limiting Docker Resources.

Exposing Ports and mapping

volume

Intro to Kubernetes

Kubernetes Architecture

Kubernetes Master

Kubernetes Node

kubectl

Pods

Replication Controllers

Deployment Groups

Service & Load Balancers

Health checks

Name Spaces

Volumes

nodes

OVERVIEW TOOLS

JIRA

SonarQube

Nagios

ELK Monitoring

Selenium

Python Scripting

Shell Scripting

Page 8: DevOps Training Course - Amazon S3 · Importance of Linux in DevOps Fetching OS and Hardware information ... Maven G A V explained Add a custom life cycle in Maven

AWS Course Content

INTRODUCTION TO CLOUD COMPUTING

o Introduction to cloud computing world

o History

o Cloud business models

o Public, Private and Hybrid cloud models

o Advantages of cloud computing

OVERVIEW

o AWS Regions and Availability zones.

o Tools to access services.

o Overview of the console.

AWS EC2(ELASTIC COMPUTE CLOUD)

o Introduction to EC2.

o Pricing models On-demand vs Reserved vs Spot instances.

o Using Amazon Machine Images (AMIs) to create the instances.

o Public vs Private Images.

o Sharing Images to other accounts.

o Logging into instances using key pairs.

o Converting pem files to ppk.

o Volumes and types.

o Using snapshots for backup.

o Increasing the size of the volumes.

o Backup and restore process of the EC2 instances.

o Adding network interfaces.

o Assigning static IPs using Elastic IPs.

o Control access to instances using Security Groups.

ELASTIC LOAD BALANCER

o Introduction to Elastic Load Balancing.

o Creating ELB from Console.

o Attaching instances to ELB.

o Configuring Ports, Protocols and health checks.

Page 9: DevOps Training Course - Amazon S3 · Importance of Linux in DevOps Fetching OS and Hardware information ... Maven G A V explained Add a custom life cycle in Maven

CLOUD WATCH

o Introduction to CloudWatch monitoring service.

o Monitoring CPU, Memory and network utilization of different resources.

o Creating notifications.

RELATIONAL DATABASE SERVICE

o Introduction to Managed database.

o Creating RDS instances using AWS console.

o Choosing an RDS engine and version.

o Public vs Private database instances.

o Multi-AZ setup.

o Backup using snapshots and point in restore.

o Parameter Group.

o Options Group.

o Control access to instances using Security Groups.

AUTO SCALING

o Overview.

o Creating launch configuration.

o Creating auto-scaling group.

o Auto-scaling policies.

AWS S3(SIMPLE STORAGE SERVICE)

o Introduction to Simple Storage Server (S3).

o Storage options (default vs reduced redundancy vs Glacier).

o Creating buckets using Console.

o Uploading and downloading data to S3.

o Building static websites using S3.

o Enable version control on S3.

o S3 access policies.

IDENTITY ACCESS MANAGEMENT (IAM)

o Introduction to IAM.

o Access controls using IAM.

o Creating users, groups and roles.

o Assigning policies.

o Inline vs Managed policies.

Page 10: DevOps Training Course - Amazon S3 · Importance of Linux in DevOps Fetching OS and Hardware information ... Maven G A V explained Add a custom life cycle in Maven

VIRTUAL PRIVATE CLOUD (VPC)

o Introduction.

o Choosing a network design and CIDR.

o Design a simple network.

o Creating Subnets and setup routing as per the design.

o Using IGW to enable internet access.

o Access controls using Network ACLs. Network ACLs vs Security Groups.

o Creating Private connections from data center to AWS.

o Enabling VPC peering between VPCs.

AWS CODECOMMIT

o Setting Up

o Getting Started

o Product and Service Integrations

o Working with Repositories

o Working with Commits

o Working with Branches

o Working with User Preferences

o Migrate to AWS CodeCommit

o Troubleshooting

o Authentication and Access Control

AWS CODEBUILD

o Getting Started

o Plan a Build

o Run AWS CodeBuild Directly

o Use AWS CodePipeline with AWS CodeBuild

o Use AWS CodeBuild with Jenkins

o Working with Build Projects and Builds

AWS CODEDEPLOY

o Deployments

o Application Specification Files

o Working with the AWS CodeDeploy Agent

o Working with Instances

o Working with Deployment Configurations

o Working with Applications

o Working with Deployment Groups

Page 11: DevOps Training Course - Amazon S3 · Importance of Linux in DevOps Fetching OS and Hardware information ... Maven G A V explained Add a custom life cycle in Maven

o Working with Application Revisions

o Working with Deployments

o Authentication and Access Control

o AppSpec File Reference

WHAT IS AWS CODEPIPELINE?

o Concepts

o Product and Service Integrations

o Working with Pipelines

o Working with Actions

o Working with Stage Transitions

o Monitoring Pipelines

USING CLI

o Installing AWSCLI .

o Installing CLI tools using rpm or pip.

o Configuring credentials.

o AWS CLI syntax.

o Creating and managing resource using CLI.