Google Classroom Link For Notes and Videos : https://classroom.google.com/c/NzUyNTUzODk3NTY2?cjc=i7wtceab ========================================== DevOps with Multi Cloud - Master Program ========================================== 1) Who is your trainer 2) Pre-Requisites 3) Course Content (Road Map) 4) Course Details 5) Q & A ======== Trainer ======== Name : Mr. Ashok IT Exp : 12+ Yrs. Exp Role : Project Manager Training : 8+ Yrs Exp Skills : Java + SBMS + Linux + Cloud + DevOps Ashok IT started in 2020 =============== Pre-Requisites =============== => No specific pre-requisites to join this course => This is zero to hero course => 4 Months of time required => Real Intrest to become DevOps engineer => Daily Practice (1.5 hr cls + 1.5 hr practice) ========================================= Who are eligible to attend this course ? ========================================= 1) Experienced IT professionals 2) Freshers 3) Career Gap People 4) Non IT people Note: DevOps Fresher jobs are not available in the market. =============== Course Content =============== ## Module-1 : Software Project Details - What is S/w Project & Why - Project Architecture - Technology Stack - SDLC - Waterfall Model - Agile Model ## Module-2 : DevOps Introduction - What is DevOps - Why DevOps - DevOps lifecycle - DevOps Tools overview - Roles & Responsibilities of DevOps Engineer ## Module-3 : Linux OS ## Module-4 : AWS Cloud (10+ Services) ## Module-5 : DevOps Tools (15+ Tools) ## Module-6 : Azure Cloud ## Module-7 : GCP Cloud ## Module-8 : DevOps Projects Setup @@@@ Bonus : Python Scripting (30 days) --- Free batch @@@@ ============= AWS Services ============= 1) EC2 2) S3 3) RDS 4) IAM 5) VPC 6) Beanstack 7) Lambdas 8) EFS 9) CloudWatch 10) SNS 11) EKS 12) Route53 ============= DevOps Tools ============= 1) Maven & Gradle 2) Git Hub & BitBucket 3) Tomcat 4) SonarQube 5) Nexus & JFrog 6) Docker 7) Kubernetes 8) Jenkins 9) Promethues 10) Grafana 11) ELK 12) Terraform 13) Ansible 14) Trivy 15) JIRA Note: After completion of this course we can keep 3 to 4 years of exp in resume to attend interviews. =============== Course Details =============== Course Name : DevOps with Multi Cloud Batch Code : 39-DevOps Start Date : Today Duration : 4 Months Course Fee : 20, 000 INR (live classes + soft copy notes + Backup videos - 1 year validity) Class Timings : 7:00 PM IST - 8:00 PM (IST) Class Frequency : Mon - Fri (weekly 5 days) ========= Benefits ========= 1) Daily live classes 2) Soft copy notes 3) Backup Videos For Revision (1 year validity) 4) Daily doubts clarifications 5) Whatsapp group / telegram for communication 6) Mock Interviews 7) Topic wise FAQs 8) Placement Assistance =============================== Q) What is software project ? =============================== => Collection of software programs is called as Software Project. => To develop software programs we will use programming languages Ex: C, C++, JAVA, Python, PHP, C# .Net.......... ========================================== Q) Why to develop software projects ? ========================================== => Software projects are used to reduce human efforts and simplify humans life. 1) IRCTC for train tickets booking 2) Netbanking for banking operations 3) Amazon, Flipkart etc for online shopping 4) Swiggy, Zomoto 5) BigBasket, Zepto, Blinkit... ================================ Software Project Architecture ================================ => Application architecture contains below 3 layers 1) Presentation Layer (Frontend) 2) Business Layer (Backend) 3) Database (storage) => Front end contains user interface (presentation layer) Frontend Technologies : Angular / React JS/ Vue JS => Backend contains business logic of the application. Backend Technologies : Java, Python, .Net, Node JS, PHP... => Database is used for storage Databases : Oracle, MySQL, SQLServer, PostGres SQL, Mongo DB.. ======================== Application Tech Stack ======================== App-1 : Angular + Java + Oracle App-2 : React JS + Java + Mongo DB App-3 : Angular + Python + MySQL App-4 : React JS + Dot Net + SQL Server App-5 : React JS + Node JS + Mongo DB ====================== Teams in the project ====================== 1) Business Analysis Team (Functional) 2) Development Team 3) Testing Team 4) Operations Team (DevOps Team) => Busines Analysis team is responsible to get requirements from the client. => Development Team is responsible for coding (develop the project) => Testing team is responsible to verify project is working as expected or not. => Operations team is responsible for below activites 1) Infrastructure setup ex: machines, database, storage, network, backup, security... 2) Configuration Management ex: s/w installations, copy files, OS patchings... 3) Source Code Repos management (Git Hub or BitBucket) 4) Project Build & Deployment 5) Infrastructure Monitoring 6) Application Monitoring ============================================================================= Infrastructure Setup ===> Terraform (AWS + AZURE + GCP) Configuration Management ===> Ansible Source Code Repos management ===> Git Hub or BitBucket Build & Deployment ==> Git + Maven + Sonar + Nexus + Docker + K8S + Jenkins Monitoring ===> Grafana + Promethues + ELK or Splunk (Logs Monitoring) =========================================== Skills Required To Become DevOps Engineer =========================================== 1) SDLC 2) Linux OS 3) Cloud Computing (Min 2 clouds) 4) DevOps Tools 5) Scripting (Ex : shell scripting / python scripting) ============================ What is DevOps & Why DevOps ============================ DevOps = Development + Operations => DevOps is a culture => DevOps is a process => DevOps means set of best practices. => DevOps is used to establish colloboration between dev team & ops team. => The main aim of devops process is used to simplify & automate & speed up application build & deployment process with high quality. => We can deliver application to client quickly by following devops practices. ========================================== How to adopt devops culture in project ? ========================================== => By using set of tools we can adopt DevOps culture in our project. Those tools are called as DevOps tools. **** Infrastructure setup Ex: Machines, Database, Security, Storage, Network, Backup etc... => Using Terraform we can automate infrastructure setup in project. **** Configuration Management Ex: install softwares, os updates, transfer files, OS Patchings etc... => Using Ansible we can automate configuration management **** Source Code Management => All the developers code should be integrated at once place with tracking. => We can use GIT Hub or BitBucket or Git Lab as source code repository servers. **** Code Review => To identify developer mistakes in source code we will perform Code Review. => We can use SonarQube to perform project code review. => SonarQube is used for static code analysis. **** Project Build Process => Convert project source code into executable format java programs =========> jar or war .net programs ==========> dll => We can use Maven or Gradle to build java projects => We can use MS Build to build Dot Net projects => We can use npm to build Angular or React projects **** Artifactory Servers => To store project build artifacts like jars, wars, dlls => We can use Nexus or JFrog to store project artifacts. **** Application Deployment => To run application server is required Ex: Tomcat server (java) IIS (.net) Nginx (angular or react) **** Automate Build & Deployment (CI CD) => Continuous Integration & Continuous Deployment => We can use Jenkins to implement CI CD in the project. **** Monitoring => Using Promethues & Grafana we can monitor our servers => Using splunk or ELK we can monitor application logs. ===================================================================== 1) Terraform : To setup infrastructure in cloud (aws, azure, gcp) 2) Ansible : To automate configuration management 3) Maven / Gradle : To automate Project build process 4) Git Hub / Bitbucket/ Git Lab : Source Code Repositories Management 5) Nexus / JFrog : To store project build artifacts (jar, war, dll) 6) SonarQube : To perform project code review (developers mistakes) 7) Trivy : Security scans 8) Docker : To execute application as a container (Containerization) 9) Kubernetes : To manage docker containers (Orchestration) 10) Promethues & Grafana : To monitor servers 11) ELK : To monitor application logs 12) JIRA : Project Management & Bug reporting ====== SDLC ====== => SDLC means software development life cycle. => SDLC represents the process of software project development from starting to ending. => SDLC contains several phases/stages 1) Requirements Gathering 2) Requirements Analysis 3) Design 4) Development (Coding) 5) Testing 6) Deployment 7) Delivery 8) Support => In SDLC we have several methodologies a) Waterfall Model (outdated) .... b) Agile Model (trending) ================ Waterfall Model ================ => It is linear model / Sequential model => Work will be completed step by step => After one stage completed then only move to next stage => It supports only forward direction => Requirements fixed & budget fixed & duration fixed. => Client involment is very less. => Client will see project only at the end. => If client is not happy with project then money will be wasted and time will be wasted. ##### To overcome challenges of waterfall model, industry is using Agile Model now a days ##### ============== Agile Model ============== => Agile is an "iterative approach" to develop and deliver software applications to client. => In Agile model ( planning + development + testing + deployment + feedback ) is a continuos process. => Project functionalitiy will be divided into multiple sprints/releases. Ex: Client has given 100 requirements Sprint-1 : 25 Requirements (plan + develop + test + deliver + take feedback) Sprint-2 : 25 Requirements (plan + develop + test + deliver + take feedback) Sprint-3 : 25 Requirements (plan + develop + test + deliver + take feedback) Sprint-4 : 25 Requirements (plan + develop + test + deliver + take feedback) => Client feedback is very important/critical is Agile model. => Client involvement is also high in agile model. => Requirements & Budget is not fixed in Agile. ========= Summary ========= 1) Course Details 2) What is Software Project & Why 3) Software Project Architecture 4) Technology Stack 5) Types of Teams in software project 6) DevOps team roles & Responsibilities 7) What is DevOps & Why DevOps 8) DevOps Lifecycle 9) DevOps Tools overview 10) Skills Required to work as DevOps Engineer 11) What is SDLC 12) Waterfall vs Agile ==================================================================