AWS
The AWS training is a bootcamp on AWS to prepare candidates on how to architect, develop and deploy secure and robust applications on AWS technologies. After finishing the training, the candidates will be able to design available, cost-efficient, fault-tolerant, scalable and distributed systems on AWS. The critical goal of the course is to make the candidates hands on• Using compute, networking, storage, and database AWS services.
• Ability to identify and define technical requirements for an AWS-based application.
• Developing AWS Applications.
• Designing resilient architectures in AWS.
• Defining performant architectures in AWS.
• Designing Fault Tolerant architectures in AWS.
• Specifying secure applications and architectures in AWS.
• Designing cost-optimized architectures in AWS.
• Defining operationally excellent architectures in AWS.
Certification
After finishing the training, the candidates will have the sufficient knowledge to pass the following CertificationsAWS Certified Solution Architect − Professional
AWS Certified DevOps Engineer (Professional) − for top graduates
Course Overview
- Introduction to computer hardware (CPU, RAM, Storage)
- How computers process information (binary, bits, bytes)
- Overview of operating systems (Windows, macOS, Linux)
- Basic computer architecture (input/output, storage, processing)
- Building a Computer: A Step-by-Step Guide
- Introduction to networking (LAN, WAN, Wi-Fi)
- Network protocols (TCP/IP, HTTP, FTP)
- Network devices (routers, switches, firewalls)
- Basic network architecture (client-server, peer-to-peer)
- Introduction to client-server architecture
- How clients and servers communicate (requests, responses)
- Types of clients (web browsers, mobile apps)
- Types of servers (web servers, application servers, database servers)
- Introduction to the Internet (history, infrastructure)
- How the web works (HTTP, HTML, CSS, JavaScript)
- Web browsers and how they work
- Basic web development concepts (front-end, back-end)
- Introduction to cloud computing (IaaS, PaaS, SaaS
- Cloud service models (public, private, hybrid)
- Cloud deployment models (on-premises, off-premises)
- Basic cloud security concepts (access control, data encryption)
- Introduction to development environments (IDEs, text editors)
- Setting up a development environment (installing tools, configuring settings)
- Basic version control concepts (Git, GitHub)
- Introduction to command-line interfaces (CLI)
- Introduction to devops
- History of DevOps
- DevOps vs. traditional IT
- Benefits of DevOps
- Early beginnings of DevOps
- The rise of DevOps
- Key milestones in DevOps history
- Influence of DevOps on IT Industry
- DevOps principles
- DevOps practices
- DevOps tools
- DevOps methodologies
- Introduction to DevOps culture
- DevOps organization
- DevOps leadership
- DevOps metrics and feedback
- Introduction to DevOps tools
- DevOps technologies
- DevOps platforms
- DevOps automation
- Introduction to DevOps adoption
- DevOps implementation roadmap
- DevOps change management
- DevOps training and education
- Introduction to DevOps metrics
- DevOps monitoring
- DevOps logging and analytics
- DevOps feedback and continuous improvement
- Introduction to DevOps security
- DevOps compliance
- DevOps risk management
- DevOps security tools and technologies
- Definition of Linux
- History of Linux
- Linux distributions (Ubuntu, Debian, CentOS, Fedora)
- Linux kernel and its role in the operating system
- Overview of the Linux file system hierarchy
- File system types (ext2, ext3, ext4, XFS)
- File permissions and ownership
- Basic file system commands (cd, ls, mkdir, rm)
- Introduction to the Linux shell (bash, zsh, fish)
- Basic shell commands (echo, cat, grep, sed)
- Shell scripting basics (variables, loops, conditionals)
- Introduction to the command-line interface (CLI)
- User accounts and groups
- User authentication and authorization
- Password management and security
- Basic user management commands (useradd, usermod, groupadd)
- Introduction to package management systems (apt, yum, rpm)
- Package installation and removal
- Package updates and upgrades
- Basic package management commands (apt-get, yum install)
- Introduction to Linux networking (TCP/IP, DNS, DHCP)
- Network configuration and management
- Basic network commands (ifconfig, ip addr, ping)
- Introduction to network security (firewalls, iptables)
- Introduction to Linux security (access control, encryption)
- Basic security commands (chmod, chown, setfacl)
- Introduction to Linux security tools (SELinux, AppArmor)
- Best practices for securing a Linux system
- Introduction to Linux troubleshooting (logs, debugging)
- Basic troubleshooting commands (dmesg, journalctl, strace)
- Introduction to Linux troubleshooting tools (syslog, systemd)
- Best practices for troubleshooting a Linux system
- Install a Linux distribution (e.g., Ubuntu, CentOS)
- Set up a user account and configure the shell
- Install and configure a package management system
- Configure the network and test connectivity
- Practice basic Linux commands and troubleshooting techniques
- Introduction to version control (definition, importance)
- History of version control (RCS, CVS, SVN)
- Types of version control systems (centralized, distributed)
- Benefits of version control (collaboration, backup, tracking)
- Introduction to Git (definition, architecture)
- Git basics (repository, commit, branch, merge)
- Git workflow (clone, add, commit, push)
- Git tools (git init, git add, git commit, git log)
- Introduction to Git branching (definition, types)
- Git branching models (feature branching, release branching)
- Git merging (merge, rebase, cherry-pick)
- Resolving conflicts in Git (merge conflicts, rebase conflicts)
- Introduction to Git remote repositories (definition, types)
- Git remote repository setup (GitHub, GitLab, Bitbucket)
- Git remote repository workflow (clone, fetch, push)
- Git remote repository collaboration (pull requests, code reviews)
- Introduction to Git tools (Git GUI, Git CLI)
- Git best practices (commit messages, branch naming)
- Git workflows (feature branching, release branching)
- Git security (SSH keys, access control)
- Introduction to SVN and Hg (definition, architecture)
- SVN and Hg basics (repository, commit, branch, merge)
- SVN and Hg workflow (checkout, update, commit)
- SVN and Hg tools (svn init, svn add, svn commit, hg init, hg add, hg commit)
- Comparison of version control systems (Git, SVN, Hg)
- Features and limitations of each system
- Choosing the right version control system
- Introduction to source code management (definition, importance)
- Source code management best practices (code organization, code reviews)
- Source code management tools (code analysis, code metrics)
- Source code management workflows (continuous integration, continuous deployment)
- Introduction to CI/CD (definition, importance)
- History of CI/CD (Agile, DevOps)
- Benefits of CI/CD (faster time-to-market, improved quality, increased efficiency)
- CI/CD pipeline (overview, components)
- Introduction to CI (definition, principles)
- CI tools (Jenkins, Travis CI, CircleCI)
- CI workflow (build, test, deploy)
- CI best practices (automated testing, code reviews)
- Introduction to CD (definition, principles)
- CD tools (Ansible, Puppet, Chef)
- CD workflow (deploy, monitor, feedback)
- CD best practices (automated deployment, rollback)
- Introduction to CI/CD pipeline (definition, components)
- CI/CD pipeline tools (Jenkins, GitLab CI/CD, CircleCI)
- CI/CD pipeline workflow (build, test, deploy, monitor)
- CI/CD pipeline best practices ( automation, feedback) Topic 5: Automated Testing
- Introduction to automated testing (definition, importance)
- Types of automated testing (unit testing, integration testing, UI testing)
- Automated testing tools (JUnit, PyUnit, Selenium)
- Automated testing best practices (test-driven development, behavior-driven development)
- Introduction to continuous monitoring (definition, importance)
- Continuous monitoring tools (Prometheus, Grafana, New Relic)
- Continuous monitoring best practices (real-time feedback, alerting)
- Continuous feedback (definition, importance)
- Continuous feedback tools (Jenkins, GitLab CI/CD, CircleCI)
- Continuous feedback best practices (automated testing, code reviews)
- Introduction to CI/CD security (definition, importance)
- CI/CD security best practices (access control, encryption)
- CI/CD security tools (OWASP, Snyk, SonarQube)
- CI/CD security workflows (security testing, vulnerability management)
- Introduction to CI/CD in the cloud (definition, importance)
- CI/CD in the cloud tools (AWS CodePipeline, Azure DevOps, Google Cloud Build)
- CI/CD in the cloud best practices (serverless, containerization)
- CI/CD in the cloud workflows (automated deployment, continuous monitoring)
- Introduction to advanced CI/CD concepts (definition, importance)
- Advanced CI/CD concepts tools (Spinnaker, Kubernetes, Jenkins)
- Advanced CI/CD concepts and best practices (blue-green deployments, canary releases)
- Advanced CI/CD concepts workflows (integrating security checks, continuous monitoring)
- Introduction to IaC (definition, importance)
- History of IaC (DevOps, Agile)
- Benefits of IaC (version control, reproducibility, scalability)
- IaC vs. traditional infrastructure management
- Introduction to IaC tools (Terraform, Ansible, CloudFormation)
- IaC tool comparison (features, limitations)
- IaC tool selection criteria (ease of use, scalability, compatibility)
- Introduction to Terraform (definition, architecture)
- Terraform basics (providers, resources, modules)
- Terraform workflow (init, plan, apply)
- Terraform best practices (modularization, versioning)
- Introduction to Ansible (definition, architecture)
- Ansible basics (playbooks, roles, modules)
- Ansible workflow (inventory, playbook, execution)
- Ansible best practices (modularization, idempotence)
- Introduction to CloudFormation (definition, architecture)
- CloudFormation basics (templates, stacks, resources)
- CloudFormation workflow (create, update, delete)
- CloudFormation best practices (modularization, versioning)
- Introduction to IaC best practices (modularization, versioning)
- IaC testing and validation (unit testing, integration testing)
- IaC security and compliance (access control, encryption)
- IaC collaboration and governance (version control, code reviews)
- Introduction to IaC and CI/CD (integration, benefits)
- IaC and CI/CD workflow (build, test, deploy)
- IaC and CI/CD tools (Jenkins, GitLab CI/CD, CircleCI)
- IaC and CI/CD best practices ( automation, feedback)
- Introduction to IaC and cloud computing (integration, benefits)
- IaC and cloud computing workflow (provision, configure, deploy)
- IaC and cloud computing tools (AWS CloudFormation, Azure Resource Manager, Google Cloud Deployment Manager)
- IaC and cloud computing best practices (scalability, security, cost optimization)
- Introduction to containerization (definition, benefits)
- History of containerization (chroot, LXC, Docker)
- Containerization vs. virtualization
- Benefits of containerization (lightweight, portable, scalable)
- Introduction to Docker (definition, architecture)
- Docker basics (images, containers, volumes)
- Docker workflow (build, run, push)
- Docker best practices (modularization, versioning)
- Introduction to container orchestration (definition, benefits)
- Container orchestration tools (Kubernetes, Docker Swarm, Apache Mesos)
- Container orchestration workflow (deploy, manage, scale)
- Container orchestration best practices (scalability, high availability, security)
- Introduction to Kubernetes (definition, architecture)
- Kubernetes basics (pods, services, deployments)
- Kubernetes workflow (create, update, delete)
- Kubernetes best practices (modularization, versioning)
- Introduction to Docker Swarm (definition, architecture)
- Docker Swarm basics (nodes, services, tasks)
- Docker Swarm workflow (create, update, delete)
- Docker Swarm best practices (scalability, high availability, security)
- Introduction to container networking (definition, benefits)
- Container networking models (bridge, host, none)
- Container networking tools (Docker networking, Kubernetes networking)
- Container networking best practices (security, scalability)
- Introduction to container storage (definition, benefits)
- Container storage models (persistent, ephemeral)
- Container storage tools (Docker volumes, Kubernetes persistent volumes)
- Container storage best practices (security, scalability)
- Introduction to container security (definition, benefits)
- Container security best practices (image scanning, network policies)
- Container security tools (Docker security, Kubernetes security)
- Container security workflows ( vulnerability management, compliance)
- Introduction to serverless computing (definition, benefits)
- History of serverless computing (AWS Lambda, Azure Functions, Google Cloud Functions)
- Serverless computing vs. traditional computing (cost, scalability, complexity)
- Benefits of serverless computing (event-driven, real-time, cost-effective)
- Introduction to serverless computing models (FaaS, BaaS, PaaS)
- Function-as-a-Service (FaaS) (AWS Lambda, Azure Functions, Google Cloud Functions)
- Backend-as-a-Service (BaaS) (Firebase, AWS Amplify, Google Cloud Firebase)
- Platform-as-a-Service (PaaS) (Heroku, Google Cloud App Engine, Azure App Service)
- Introduction to serverless computing providers (AWS, Azure, Google Cloud)
- AWS Lambda (features, pricing, use cases)
- Azure Functions (features, pricing, use cases)
- Google Cloud Functions (features, pricing, use cases)
- Introduction to serverless computing architecture (event-driven, microservices)
- Serverless computing architecture patterns (API Gateway, Load Balancer, Message Queue)
- Serverless computing architecture best practices (scalability, security, monitoring)
- Introduction to serverless computing security (benefits, challenges)
- Serverless computing security best practices (IAM, encryption, access control)
- Serverless computing security tools (AWS IAM, Azure Active Directory, Google Cloud IAM)
- Introduction to serverless computing monitoring and logging (benefits, challenges)
- Serverless computing monitoring and logging tools (AWS CloudWatch, Azure Monitor, Google Cloud Logging)
- Serverless computing monitoring and logging best practices (real-time feedback, alerting)
- Introduction to serverless computing use cases (real-time data processing, API Gateway, IoT)
- Serverless computing use cases in industries (finance, healthcare, retail)
- Serverless computing use cases in applications (web, mobile, desktop)
- Introduction to serverless computing challenges and limitations (cold start, vendor lock-in, debugging)
- Serverless computing challenges and limitations in production (scalability, reliability, security)
- Serverless computing challenges and limitations in development (testing, debugging, deployment)
- Introduction to security and compliance (definition, importance)
- History of security and compliance (regulations, standards)
- Security and compliance in DevOps (integration, automation)
- Benefits of security and compliance in DevOps (risk reduction, cost savings)
- Introduction to security threats and vulnerabilities (types, examples)
- Common security threats (malware, phishing, ransomware)
- Common security vulnerabilities (SQL injection, cross-site scripting)
- Security threat and vulnerability management (identification, assessment, mitigation)
- Introduction to security controls and measures (types, examples)
- Security controls (access control, authentication, authorization)
- Security measures (encryption, firewalls, intrusion detection)
- Security control and measure implementation (best practices, tools)
- Introduction to compliance and regulatory requirements (types, examples)
- Common compliance and regulatory requirements (HIPAA, PCI-DSS, GDPR)
- Compliance and regulatory requirement implementation (best practices, tools)
- Compliance and regulatory requirement management (auditing, reporting)
- Introduction to security and compliance in cloud computing (benefits, challenges)
- Cloud computing security and compliance best practices (data encryption, access control)
- Cloud computing security and compliance tools (AWS IAM, Azure Security Center, Google Cloud Security)
- Cloud computing security and compliance management (auditing, reporting)
- Introduction to security and compliance in containerization (benefits, challenges)
- Containerization security and compliance best practices (image scanning, network policies)
- Containerization security and compliance tools (Docker Security, Kubernetes Security)
- Containerization security and compliance management (auditing, reporting)
- Introduction to security and compliance in serverless computing (benefits, challenges)
- Serverless computing security and compliance best practices (function-level security, access control)
- Serverless computing security and compliance tools (AWS Lambda Security, Azure Functions Security)
- Serverless computing security and compliance management (auditing, reporting)
- Introduction to security and compliance in DevOps tools (benefits, challenges)
- DevOps tool security and compliance best practices (integration, automation)
- DevOps tool security and compliance tools (Jenkins Security, GitLab Security)
- DevOps tool security and compliance management (auditing, reporting)
- Introduction to monitoring and logging (definition, importance)
- History of monitoring and logging (traditional, modern)
- Monitoring and logging in DevOps (integration, automation)
- Benefits of monitoring and logging in DevOps (real-time feedback, issue detection)
- Introduction to monitoring tools and techniques (types, examples)
- Monitoring tools (Nagios, Prometheus, Grafana)
- Monitoring techniques (polling, trapping, logging)
- Monitoring tool and technique implementation (best practices, tools)
- Introduction to logging tools and techniques (types, examples)
- Logging tools (ELK, Splunk, Sumo Logic)
- Logging techniques (log aggregation, log analysis, log visualization)
- Logging tool and technique implementation (best practices, tools)
- Introduction to monitoring and logging in cloud computing (benefits, challenges)
- Cloud computing monitoring and logging best practices (real-time feedback, issue detection)
- Cloud computing monitoring and logging tools (AWS CloudWatch, Azure Monitor, Google Cloud Logging)
- Cloud computing monitoring and logging management (auditing, reporting)
- Introduction to monitoring and logging in containerization (benefits, challenges)
- Containerization monitoring and logging best practices (real-time feedback, issue detection)
- Containerization monitoring and logging tools (Docker Monitoring, Kubernetes Monitoring)
- Containerization monitoring and logging management (auditing, reporting)
- Introduction to monitoring and logging in serverless computing (benefits, challenges)
- Serverless computing monitoring and logging best practices (real-time feedback, issue detection)
- Serverless computing monitoring and logging tools (AWS Lambda Monitoring, Azure Functions Monitoring)
- Serverless computing monitoring and logging management (auditing, reporting)
- Introduction to monitoring and logging in DevOps tools (benefits, challenges)
- DevOps tool monitoring and logging best practices (integration, automation)
- DevOps tool monitoring and logging tools (Jenkins Monitoring, GitLab Monitoring)
- DevOps tool monitoring and logging management (auditing, reporting)
- Introduction to advanced monitoring and logging techniques (types, examples)
- Advanced monitoring techniques (AIOps, machine learning)
- Advanced logging techniques (log analytics, log visualization)
- Advanced monitoring and logging tool and technique implementation (best practices, tools)
- Introduction to DevOps tools and practices (definition, importance)
- History of DevOps tools and practices (traditional, modern)
- DevOps tools and practices in DevOps (integration, automation)
- Benefits of DevOps tools and practices in DevOps (efficiency, quality)
- Introduction to version control systems (definition, importance)
- Types of version control systems (centralized, distributed)
- Version control system tools (Git, SVN, Mercurial)
- Version control system best practices (branching, merging, committing)
- Introduction to continuous integration and continuous deployment (definition, importance)
- Continuous integration and continuous deployment tools (Jenkins, Travis CI, CircleCI)
- Continuous integration and continuous deployment best practices (testing, validation, deployment)
- Introduction to configuration management (definition, importance)
- Configuration management tools (Ansible, Puppet, Chef)
- Configuration management best practices (infrastructure as code, idempotence)
- Introduction to monitoring and logging tools (definition, importance)
- Monitoring and logging tools (Nagios, Prometheus, Grafana)
- Monitoring and logging best practices (real-time feedback, issue detection)
- Introduction to agile project management (definition, importance)
- Agile project management tools (Jira, Trello, Asana)
- Agile project management best practices (sprints, backlogs, retrospectives)
- Introduction to DevOps automation tools (definition, importance)
- DevOps automation tools (Ansible, SaltStack, PowerShell)
- DevOps automation best practices (infrastructure as code, idempotence)
- Introduction to DevOps security tools (definition, importance)
- DevOps security tools (OWASP, Snyk, SonarQube)
- DevOps security best practices (security testing, vulnerability management)
- Introduction to DevOps collaboration tools (definition, importance)
- DevOps collaboration tools (Slack, Microsoft Teams, Email)
- DevOps collaboration best practices (communication, feedback, transparency)
- Introduction to DevOps metrics and feedback (definition, importance)
- DevOps metrics and feedback tools (DORA, DevOps Research and Assessment)
- DevOps metrics and feedback best practices (lead time, deployment frequency, mean time to recovery)
- Introduction to cloud computing in DevOps (definition, importance)
- History of cloud computing in DevOps (traditional, modern)
- Cloud computing in DevOps (integration, automation)
- Benefits of cloud computing in DevOps (scalability, flexibility)
- Introduction to cloud computing providers (AWS, Azure, Google Cloud)
- Cloud computing provider comparison (features, pricing)
- Cloud computing provider selection criteria (security, compliance, support)
- Introduction to AWS in DevOps (definition, importance)
- AWS services for DevOps (EC2, S3, Lambda)
- AWS integration with DevOps tools (Jenkins, Docker, Kubernetes)
- AWS best practices for DevOps (security, monitoring, logging)
- Introduction to Azure in DevOps (definition, importance)
- Azure services for DevOps (VMs, Storage, Functions)
- Azure integration with DevOps tools (Azure DevOps, Docker, Kubernetes)
- Azure best practices for DevOps (security, monitoring, logging)
- Introduction to Google Cloud in DevOps (definition, importance)
- Google Cloud services for DevOps (Compute Engine, Cloud Storage, Cloud Functions)
- Google Cloud integration with DevOps tools (Google Cloud Build, Docker, Kubernetes)
- Google Cloud best practices for DevOps (security, monitoring, logging)
- Introduction to cloud computing security in DevOps (definition, importance)
- Cloud computing security best practices (IAM, encryption, access control)
- Cloud computing security tools (AWS IAM, Azure Security Center, Google Cloud Security)
- Introduction to cloud computing monitoring and logging in DevOps (definition, importance)
- Cloud computing monitoring and logging best practices (real-time feedback, issue detection)
- Cloud computing monitoring and logging tools (AWS CloudWatch, Azure Monitor, Google Cloud Logging)
- Introduction to cloud computing cost optimization in DevOps (definition, importance)
- Cloud computing cost optimization best practices (rightsizing, reserved instances, autoscaling)
- Cloud computing cost optimization tools (AWS Cost Explorer, Azure Cost Estimator, Google Cloud Cost Management)
- Introduction to cloud computing migration and deployment in DevOps (definition, importance)
- Cloud computing migration and deployment best practices (lift and shift, re-architecture, hybrid)
- Cloud computing migration and deployment tools (AWS Migration Hub, Azure Migration Center, Google Cloud Migration)
- Introduction to cloud computing governance and compliance in DevOps (definition, importance)
- Cloud computing governance and compliance best practices (security, compliance, risk management)
- Cloud computing governance and compliance tools (AWS Governance, Azure Governance, Google Cloud Governance)
- Introduction to automation scripting in DevOps (definition, importance)
- History of automation scripting in DevOps (traditional, modern)
- Automation scripting in DevOps (integration, automation)
- Benefits of automation scripting in DevOps (efficiency, consistency)
- Introduction to Bash scripting in DevOps (definition, importance)
- Bash scripting basics (variables, loops, conditionals)
- Bash scripting for DevOps ( automating infrastructure changes, application deployments)
- Bash scripting best practices (security, error handling)
- Introduction to PowerShell scripting in DevOps (definition, importance)
- PowerShell scripting basics (variables, loops, conditionals)
- PowerShell scripting for DevOps ( automating infrastructure changes, application deployments)
- PowerShell scripting best practices (security, error handling)
- Introduction to Python scripting in DevOps (definition, importance)
- Python scripting basics (variables, loops, conditionals)
- Python scripting for DevOps ( automating infrastructure changes, application deployments)
- Python scripting best practices (security, error handling)
- Introduction to automation scripting tools and frameworks (Ansible, SaltStack, Puppet)
- Automation scripting tool and framework comparison (features, pricing)
- Automation scripting tool and framework selection criteria (security, compliance, support)
- Introduction to automating infrastructure changes with scripts (definition, importance)
- Automating infrastructure changes with Bash, PowerShell, and Python scripts
- Automating infrastructure changes best practices (security, error handling)
- Introduction to automating application deployments with scripts (definition, importance)
- Automating application deployments with Bash, PowerShell, and Python scripts
- Automating application deployments best practices (security, error handling)
- Introduction to continuous integration and continuous deployment with scripts (definition, importance)
- Continuous integration and continuous deployment with Bash, PowerShell, and Python scripts
- Continuous integration and continuous deployment best practices (security, error handling)
- Introduction to monitoring and logging with scripts (definition, importance)
- Monitoring and logging with Bash, PowerShell, and Python scripts
- Monitoring and logging best practices (security, error handling)
- Introduction to advanced automation scripting topics (definition, importance)
- Advanced automation scripting topics (machine learning, artificial intelligence)
- Advanced automation scripting best practices (security, error handling)
