Learn from Curated Curriculums developed by Industry Experts
Topics:
1. What is an Application?
Overview of applications and their significance.
2. Types of Applications
Classification and examples of various application types.
3. Fundamentals of Web Applications
Basic concepts and components of web applications.
4. Web Application Architecture
Structure and design patterns in web application architecture.
5. Web Technologies used in Projects
Key technologies and frameworks used in web application development.
Topics
1. Introduction to Software Development Life Cycle
The phases, importance, and overview of SDLC.
2. Application Lifecycle Management - ALM
Tools, processes, and overview of ALM.
3. SDLC Methodologies
Examination of different methodologies used in software development.
4. DevOps Process
Understanding the principles, practices, and benefits of DevOps.
Topics
1. Introduction To Agile & Scrum
Fundamental overview of Agile methodologies and the Scrum framework.
2. The Principles of Agile Methodology
Core principles of Agile focusing on iterative development and customer collaboration.
3. Scrum Framework: Roles, Artifacts, and Events
Key components of Scrum, including its roles, artifacts, and structured events.
4. Implementing Agile with Scrum
Strategies for applying Agile and Scrum practices in software development projects.
5. Agile Project Management Best Practices
Essential practices for leading Agile projects, emphasizing communication and continuous improvement.
Topics
1. Introduction to Linux OS
Exploring the fundamentals of the Linux operating system.
2. Linux Distributions and Architecture
Understanding different distributions and the architecture of Linux.
Command Line Interface (CLI) & Filesystem
Mastering the CLI and navigating the Linux filesystem.
3. File Management and vi Editor
Managing files and editing them using the vi editor.
4. Archives and Package Management
Utilizing tar, zip utilities, and managing packages in Linux.
5. System Installation and Package Managers
Installing software on Ubuntu, using .deb files, and the APT package manager.
6. Users, Groups, and Permissions
Managing users and groups, and configuring permissions.
7. Networking Basics: IP Address, Protocols, & Ports
Networking Basics: IP Address, Protocols, & Ports
8. Firewalls and Security Measures
Configuring firewalls and understanding basic security measures.
9. Load Balancers
Basics of load balancing in a Linux environment for optimizing performance and reliability
Topics
1. Introduction to Version Control System
Basics of version control and its importance in software development.
2. Centralised vs Distributed Version Control System
Differences between centralized and distributed systems, with a focus on their advantages and use cases.
3. Git & GitHub Introduction
Overview of Git and GitHub, and how they revolutionize code management and collaboration.
4. Git Workflow
Understanding the standard workflow in Git, including stages of code changes and commit practices.
5. GitHub for Collaboration
Using GitHub features for project collaboration, including issues, forks, and pull requests.
6. Git Branching Model
Strategies for branching in Git, including feature branches and the master branch.
7. Git Merging and Pull Requests
Techniques for merging branches and the role of pull requests in collaborative projects.
8. Git Rebase
Understanding rebase, its advantages, and how it differs from merging.
9. Handling Detached Head and Undoing Changes
Managing a detached HEAD in Git and various ways to undo changes.
10. Advanced Git Features: Git Ignore, Tagging
Utilizing .gitignore for excluding files from tracking, and tagging for marking specific points in history.
Topics
1. Introduction to Containerisation
Essentials of container technology and its impact on software development.
2. Monolithic vs Microservices Architecture
Comparison between traditional monolithic and modern microservices approaches.
3. Introduction to Virtualisation and Containerisation
Basic concepts of virtualisation and how containerisation offers streamlined deployment.
4. Docker Architecture
Key components and structure of Docker's system architecture.
5. Setting up Docker
Guidelines for Docker installation and initial setup on various platforms.
6. Docker Registry, Images, and Containers
The roles and relationships between Docker Registry, images, and containers.
7. Running Docker Containers
Fundamentals of managing Docker containers' lifecycle.
8. Docker Volumes and Networks
Using Docker volumes for data persistence and networks for inter-container communication.
9. Docker Logs and Tags
Techniques for handling Docker logs and utilizing tags for image management.
10. Dockerize Applications and Docker Compose
Strategies for containerizing applications and orchestrating with Docker Compose.
This module provides an overview of Azure DevOps, including its core services and how to start with pipelines.
Topics
1. What is Azure DevOps?
An overview of Azure DevOps services and its ecosystem.
2. Azure Boards
Introduction to project management using Azure Boards.
3. Azure Repos
Managing code repositories with Azure Repos.
4. Azure Pipelines
Automating builds, tests, and deployments with Azure Pipelines.
5. Creating Pipelines in Azure DevOps
Step-by-step guide to setting up your first pipeline.
Topics
1. Agile Project Management Best Practices
Implementing agile methodologies using Azure Boards.
2. Basic Concepts of Azure Boards
Understanding work items, sprints, and scrum features.
3. Connecting Boards to GitHub
Integrating Azure Boards with GitHub repositories.
4. Work Items and Sprints
Managing tasks and sprints in Azure Boards for agile development.
5. Azure Boards Integrations
Enhancing Azure Boards with integrations for extended functionalities.
Topics
1. Introduction to Azure Repos
Overview and key concepts of using Azure Repos for source control.
2. Branches and Cloning in Azure Repos
Managing branches and cloning repositories for development workflows.
3. Import Code from GitHub
Steps to import existing codebases from GitHub into Azure Repos.
4. Search Your Code in Repos
Utilising search functionalities within Azure Repos for code management.
5. Azure Repos Integrations
Extending Azure Repos capabilities with external integrations.
Topics
1. Deploying with Azure Pipelines
Strategies for deploying applications using Azure Pipelines.
2. CI Triggers and YAML Basics
Configuring continuous integration triggers and understanding YAML for pipeline configuration.
3. Setting Up CI Build
Creating a continuous integration build process with Azure Pipelines.
4. Adding Tests to the Pipeline
Incorporating testing into the CI/CD pipeline for quality assurance.
5. Agents and Tasks
Understanding agents and tasks within Azure Pipelines for build and deployment processes.
Topics
1. Working with Packages in Azure Artifacts
Managing dependencies and packages with Azure Artifacts.
2. Connection Feeds and Views in Artifacts
Configuring feeds for package sharing and views for package management.
3. Connecting Azure Artifacts to Azure Pipelines
Automating package deployment with Azure Pipelines integration.
4. What are Azure Test Plans?
Introduction to planning, executing, and tracking tests with Azure Test Plans.
5. Testing Web Apps
Strategies and best practices for testing web applications using Azure Test Plans.
Topics
1. Cloud Concepts
Understanding the benefits and considerations of using cloud services.
Exploring Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), Software-as-a-Service (SaaS).
Differentiating between Public Cloud, Private Cloud, and Hybrid Cloud models.
Topics
1. Azure Compute
Introduction to the types of compute services offered by Azure and their use cases.
2. Azure Storage
Overview of Azure's storage options and recommendations for different data types and usage scenarios.
3. Azure Networking
Basic concepts of Azure networking solutions including virtual networks, subnets, and connectivity options.
4. Azure Database Services
Introduction to Azure's database services for relational and non-relational data.
Topics
1. Azure Pricing and Support
Understanding Azure pricing, cost management tools, and Azure support plans and services.
2. Azure Governance
Azure governance methodologies, including Role-Based Access Control (RBAC), resource locks, and Azure Policy.
Topics
1. Azure Portal and Azure CLI
Utilizing the Azure Portal and Azure Command-Line Interface (CLI) for managing Azure services.
2. Azure Management Tools
Introduction to Azure management tools like Azure Monitor, Azure Resource Manager, and Azure Policy for efficient resource management.
Topics
1. App Services
Overview of Azure App Service plans, networking for an App Service, and container images.
Understanding how to deploy and manage web apps and APIs using Azure App Services.
Topics
1. Introduction to High Availability
Understanding the importance of high availability in systems design.
2. Introduction to Container Orchestration
Exploring the concept and need for container orchestration.
3. Container Orchestration Tools
Overview of tools available for container orchestration including Kubernetes.
4. Overview of Kubernetes
Introduction to Kubernetes and its role in container orchestration.
5. Kubernetes Architecture
Understanding the architectural components of Kubernetes.
Topics
1. Components of Kubernetes
Detailed look at core Kubernetes components, including master and node components.
2. Kubernetes Objects
Introduction to the fundamental objects in Kubernetes.
3. Pods
Understanding Pods, the smallest deployable units in Kubernetes.
4. Replica Sets
Role and functioning of Replica Sets in managing pods.
5. Deployments
How Deployments automate the updating and rollback of applications.
Topics
1. Services
Introduction to Services as a way to expose applications running on a set of Pods.
2. ClusterIP
Exploring ClusterIP for internal cluster communication.
3. NodePort
Understanding how NodePort exposes services outside of the cluster.
4. Load Balancer
Using Load Balancers to distribute traffic evenly across services.
5. Ingress
Configuring Ingress for external access to services within the cluster.
Topics
1. Config Maps
Managing application configuration using Config Maps.
2. Secrets
Securely storing sensitive information with Secrets.
3. Persistent Volume (PV) and Persistent Volume Claim (PVC)
Understanding the storage capabilities in Kubernetes with PV and PVC.
4. Storage Classes
Exploring dynamic volume provisioning through Storage Classes.
5. StatefulSets
Managing stateful applications with StatefulSets.
Topics
1. Overview of Production Clusters
Considerations for running Kubernetes in production environments.
2. Overview of AWS EKS
Introduction to Amazon Elastic Kubernetes Service (EKS).
3. Setup EKS
Steps for setting up a Kubernetes cluster on AWS EKS.
4. Deploy Applications On EKS
Practical guide to deploying applications on EKS.
5. Monitoring and Logging
Tools and strategies for monitoring and logging in a Kubernetes environment.
Topics
1. Overview of Infrastructure as Code (IaC)
The concept and importance of managing infrastructure through code.
2. Overview of Terraform
Introduction to Terraform, its architecture, and core principles.
3. Setup Terraform
Guidelines for installing and configuring Terraform.
4. Terraform Providers
Understanding how Terraform integrates with various service providers.
5. Terraform Resources
The building blocks of Terraform configuration for managing infrastructure.
Topics
1. Terraform State Management
Managing Terraform's state files for tracking infrastructure changes.
2. Terraform Modules
Utilizing modules for reusable and maintainable infrastructure code.
3. Input Variables
Defining and using input variables to customize Terraform configurations.
4. Output Values
Using output values to retrieve information about the infrastructure.
5. Terraform Workspaces
Managing multiple environments with Terraform workspaces.
Topics
1. Terraform and Security
Best practices for securing Terraform configurations and sensitive data.
2. Efficient Terraform Configurations
Techniques for writing efficient, clean, and maintainable Terraform code.
3. Terraform Plan and Apply Best Practices
Strategies for safely planning and applying Terraform configurations.
4. Debugging Terraform Configurations
Tips and tools for troubleshooting and debugging Terraform.
5. Terraform Versioning and Upgrades
Managing Terraform versions and smoothly upgrading Terraform configurations and providers.
Topics
1. Terraform for Team Collaboration
Strategies for using Terraform in a team environment to ensure consistency and collaboration.
2. Terraform in CI/CD Pipelines
Integrating Terraform with CI/CD pipelines for automated infrastructure deployment.
3. Code Organization and Module Registry
Organizing Terraform code and using the Terraform Module Registry for shared modules.
4. Terraform Best Practices
Comprehensive best practices for Terraform usage, from code structure to deployment strategies.
5. Monitoring and Maintenance
Monitoring Terraform-managed infrastructure and maintaining Terraform configurations over time.
Topics
1. Version Control Systems in Terraform Workflows
Best practices for integrating Terraform with version control systems (e.g., Git) for collaboration and versioning.
2. Collaborative Workflows with Terraform
Enhancing team collaboration through effective use of branches, pull requests, and code reviews in Terraform projects.
3. Terraform Code Reusability and Standards
Strategies for writing reusable Terraform code and establishing coding standards for team projects.
4. Documenting Terraform Code
Importance of documentation in Terraform projects and best practices for maintaining it.
5. Introduction to Terraform Cloud for Teams
A brief introduction to using Terraform Cloud for enhancing team collaboration through remote state management, workspace organization, and CI/CD integrations.
Topics
1. Python as a Scripting Language
Overview of Python and its use as a powerful scripting language.
2. Python Collections and Sequences
Introduction to Python's data structures for organizing and storing data.
3. Working with Python Collections
Practical exercises on manipulating lists, dictionaries, sets, and tuples.
4. Python Functional Programming
Understanding functional programming paradigms in Python, including lambda functions and higher-order functions.
5. Python File Handling
Techniques for reading from and writing to files in Python scripts.
Topics
1. Python Modules and Packages
Utilizing modules and packages to organize and reuse code efficiently.
2. Classes in Python
Fundamentals of defining and using classes in Python.
3. Object-Oriented Programming (OOP) in Python
Exploring Python's OOP features for more complex script development.
4. Exception Handling
Techniques for handling and raising exceptions to manage errors gracefully.
5. Python Decorators and Generators
Leveraging decorators and generators to simplify and power up your Python code.
Topics
1. Automation through Scripting Languages
The role of scripting languages like Python in automation efforts.
2. Automating File System Operations
Using Python scripts to manage file and directory operations.
3. Web Scraping with Python
Techniques for extracting data from web pages using Python libraries.
4. Automating Network Tasks
Scripting network operations for automation with Python.
5. Automating API Interactions
Using Python to interact with and automate tasks using APIs.
Topics
1. Building Python Applications
Best practices and methodologies for developing robust Python applications.
2. Testing Python Applications
Introduction to unit testing and test automation in Python.
3. Python Application Deployment
Strategies for deploying Python applications, including web and standalone applications.
4. CI/CD for Python Applications
Implementing Continuous Integration and Continuous Deployment workflows for Python projects.
5. Virtual Environments and Package Management
Managing Python environments and dependencies for project isolation and reproducibility.
Topics
1. Python in CI/CD Pipelines
Integrating Python scripts and applications in CI/CD workflows.
2. Automating Builds and Tests with Python
Using Python for automated testing, including unit tests, integration tests, and end-to-end tests.
3. Python for Deployment Automation
Scripting deployment processes, including application packaging and distribution.
4. Monitoring and Logging with Python
Implementing monitoring and logging solutions in Python for applications and infrastructure.
5. Version Control Automation with Python
Automating version control workflows with Git using Python.
Topics
1. Introduction to SRE
Defining Site Reliability Engineering and its objectives in maintaining highly reliable and scalable systems.
2. Introduction to Monitoring
Exploring the purpose and techniques of monitoring in SRE practices.
3. Introduction to Observability
Understanding observability and its difference from and relationship with monitoring.
4. SRE Roles and Responsibilities
Overview of the typical roles, responsibilities, and expectations of an SRE.
5. SRE Best Practices and Principles
Essential practices and foundational principles for effective site reliability engineering.
Topics
1. Introduction to Prometheus
Basics of Prometheus and its role in the monitoring landscape.
2. Prometheus Architecture
Understanding the components and architecture of Prometheus.
3. Monitoring with Prometheus
Setting up Prometheus for monitoring infrastructure and application metrics.
4. Scraping Metrics with Prometheus
Techniques for scraping and collecting metrics from various targets.
5. Prometheus YAML Configs and Node Exporter
Configuring Prometheus and using Node Exporter to gather system metrics.
Focuses on Grafana for visualizing metrics and logs, providing insights into creating effective dashboards for observability.
Topics
1. Introduction to Visualization with Grafana
Understanding the importance of data visualization in observability.
2. Installing Grafana on a Linux Server
Step-by-step installation of Grafana for setting up monitoring dashboards.
3. Grafana User Interface Overview
Navigating through Grafana's UI and understanding its features.
4. Creating Grafana Dashboards
Techniques for creating insightful and interactive dashboards in Grafana.
5. Grafana with Docker
Deploying Grafana within Docker containers for flexible and scalable monitoring solutions.
Topics
1. Integrating Prometheus and Grafana
Techniques for integrating Prometheus with Grafana to visualize metrics.
2. Alerting with Prometheus
Setting up alert rules in Prometheus and integrating with notification platforms.
3. Log Management and Analysis
Introduction to log management solutions and integrating them with monitoring tools for full observability.
4. Tracing and Distributed Tracing
Understanding tracing and distributed tracing for in-depth insights into application performance.
5. Cloud Monitoring Solutions
Overview of cloud-native monitoring and observability solutions provided by cloud service providers.
Topics
1. Infrastructure as Code (IaC) for SRE
Leveraging IaC tools for reliable and reproducible infrastructure provisioning.
2. CI/CD Pipelines for Reliable Deployments
Implementing CI/CD pipelines for automated testing and deployment.
3. SRE and DevOps: Collaboration and Tools
Exploring the overlap between SRE and DevOps practices, focusing on tooling and collaboration for reliability.
4. Automation in Incident Management
Automating incident response and management to reduce downtime and improve MTTR (Mean Time To Recovery).
5. Capacity Planning and Performance Tuning
Techniques and tools for effective capacity planning and performance tuning to ensure scalability and reliability.
25th Sept 2023
Monday
8 AM (IST)
1hr-1:30hr / Per Session
27th Sept 2023
Wednesday
10 AM (IST)
1hr-1:30hr / Per Session
29th Sept 2023
Friday
12 PM (IST)
1hr-1:30hr / Per Session