
Explore the ultimate DevOps guide with interview preparation, covering Linux basics, Docker containers, Jenkins, Python for beginners, and Visual Studio Code to build and secure modern deployments.
Trace Unix history and Linus Torvalds' Linux creation, note Minix origins and the Unix-like design, and see GNU/Linux as free software with distributions like Red Hat and Debian.
examine linux and unix as multitasking multiuser systems, where linux is open source and used, while unix is licensed and server-oriented, with shells, interfaces, and examples like debian and solaris.
Describe the Unix and Linux architecture, from application programs and the shell to the kernel and hardware, and show how the shell mediates commands between programs and the kernel.
Explore the Linux directory structure from the root to key folders like /bin, /etc, /dev, /proc, /var, /tmp, /usr, /home, /boot, /lib, and /opt, understanding their roles and contents.
Learn basic linux commands like cd, pwd, cat, and man. Explore environment variables including PATH, with system wide and user defined values for discovering executables.
Explore essential Linux commands hands-on, including ls, pwd, cd, cat, echo, clear, and man; learn to view files, set and print environment variables, and locate binaries with which.
Explore Linux directories, including the current directory (.), parent (..), root (/), and home (~), and distinguish absolute and relative paths, using cd, pwd, mkdir -p, rmdir, and rm -r -f.
Learn how to navigate directories with absolute and relative paths, use cd and cd -, understand dot and dot-dot, and safely create and remove directories in linux.
Learn to use ls to list files, enable long format with -l, include hidden files with -a, show human readable sizes with -h, and sort by modification time with -t.
Master the ls listing command and its options. List with long format (-l) and show hidden files (-a), use human readable sizes (-h), and sort by modification time (-t).
Explore the Linux links command and compare hard links with symbolic links. Learn how inodes describe file system objects and store attributes and permissions.
Explore linux links and shortcuts hands-on, creating soft links with ln -s and hard links, confirming directory linking limitations, and navigating with cd -P and absolute paths.
Learn file and directory permissions in Linux, including owner, group, and others, read, write, execute, and special bits like setuid, setgid, and sticky bit, plus chmod practices.
Identify file types and apply owner, group, and others permissions; master numeric and symbolic chmod, directory execute semantics and sticky bit, and ownership changes with chown and chgrp.
Learn to find files with find in current or root directories, using -iname for case-insensitive matches and -exec to delete or archive; refresh locate with updatedb.
Master viewing and editing files with the nano editor, using head and tail-like options to show the first or last lines, and to create or edit files.
Master file viewing and navigation with cat, more, less, and tail, and gain hands-on experience using nano for editing, searching, replacing, copying, and saving.
Learn how vim improves on vi and how view provides a read-only mode, then practice essential editing commands: insert, append, save, quit, copy, paste, undo, and search with /.
Learn vi/vim basics by navigating with arrows, moving to line starts and ends, and editing in insert mode, then yank, delete, undo, search, and save or quit with colon commands.
Copy files with cp by specifying source and destination to create duplicates, then move or rename with mv and delete with rm -rf or rm -f, using wildcards carefully.
Learn how file descriptors in unix systems map standard input, output, and error to 0, 1, and 2; practice redirecting streams with >, >>, and < to control command I/O.
Learn how to redirect command output to files, use input redirection from files, and append versus overwrite, with sorting examples and redirecting errors to a null device.
Learn practical Linux file comparison using diff, sdiff, and Vim diff, compare versions side-by-side, highlight differences, and understand how to interpret edits.
Learn to copy files over the network using scp with key-based authentication, specifying source, destination, remote user, server IP, and paths, including how trailing slashes and -i key affect renaming.
Create an alias for a command, e.g., c='clear', so typing c clears the screen. Persist aliases in bashrc for interactive shells and in profile for login shells.
Learn how environment variables differ from ordinary variables and how to configure them for a user or system using profile files and the source or dot commands.
Explore viewing and managing processes with an interactive process viewer, including foreground and background processes, commands to list and control them, signals like kill and suspend, for devops workflows.
Inspect and manage Linux processes using ps, top, and htop, and monitor resource usage. Control background and foreground jobs with kill signals, bg/fg, and suspend with ctrl-z.
Learn to schedule repeated tasks with cron by building a program that creates, reads, updates, and deletes cron jobs, including minute, hour, day of month, month, and day of week.
Explore scheduling repeated tasks with cron using crontab to list, edit, and remove jobs; understand patterns like every minute and daily at 8 am, with cron guru examples.
Learn how Linux records command history with the history command and how per-user history, dot bashrc, and privacy settings manage size and protect credentials.
Explore how to use sudo to execute commands as root or another user, manage sudoers rules and groups, and recognize the dangers of misconfiguring root access in Linux.
Track how the BIOS loads the master boot record and bootloader, the kernel mounts the root filesystem via an initial ram disk, and systemd or runlevel targets boot the system.
Learn Linux file system basics by using df and du for disk usage, ls and pwd for navigation, and dot and dot-dot to distinguish relative and absolute paths.
Learn shell scripting for beginners, covering variables, special variables, operators, case statements, loops, and functions. These scripts run by the Unix shell, the command line interpreter.
Explore bash shell variables and special variables, assign and print values, use $0 for the script name, handle arguments with $#, $@, and $*, monitor $?, $! and background jobs.
Explore Linux operators in shell scripting by assigning arithmetic expressions to variables and evaluating them with the expr command, noting how spaces affect +, -, *, /, and % results.
Explore how Linux bash uses if and case statements for decision making, with string and numeric comparisons, syntax examples, and practical demonstrations.
Learn the syntax and use of PowerShell scripting loops, including do, while, and for loops, with practical break and continue examples to control flow.
Define a hello function, invoke it by calling its name, and print hello world to see the result. It demonstrates how functions work and connects to the basics of programming.
Explore Linux as a Unix-based open source operating system with a GPL kernel. Learn about bootloaders like Nitro and essential components such as shells and graphical user interfaces.
Practice linux interview questions by answering and comparing your solutions. Cover file renaming commands, inodes and metadata, process IDs, distro variants, swap space, root account, and cli versus gui interfaces.
Explore linux interview topics from virus considerations to system configuration file locations, and understand file permissions. Learn essential commands for compression, redirection, vi editing, and grep pattern searches.
Understand docker as lightweight containers that run your OS and produce identical images across machines, enabling seamless microservices, legacy apps, and machine learning deployments.
Learn the Docker architecture: a client-server model where the Docker daemon on the host handles pull and run commands, fetches images from a registry, and creates containers.
Compare virtual machines and containers: hypervisors run separate guest operating systems, while containers share the host OS kernel via a container engine like Docker, for faster startup and reduced resources.
Install docker on linux by selecting the linux server option, add the official gpg key, verify the fingerprint, and install the required packages before running docker with sudo docker version.
Install docker desktop for mac, download the dmg package, run the installer, launch docker, and verify installation with docker --help to run containers and explore basic commands.
Explore the basics of Docker engine, including the daemon, client, server, networks, images and containers, and the role of data volumes and storage, preparing for practical Docker commands.
Explore the Docker engine architecture, including the Docker daemon, Docker client, and REST API, and learn how CLI commands orchestrate images, containers, networks, and volumes.
Explore Docker images as read-only templates based on base images, with customization and configuration for running your application. Learn about intermediate layers, caching, tags, and the Docker images command.
Explore how docker containers are instances of images, how to create, start, stop, attach storage or networks, and even build a new image from a container.
Gain insight into Docker storage options—writable container layers, volumes, bind mounts, and tmpfs—and learn when to use each for persistence, sharing, and performance.
Explore docker networking drivers, including the default bridge and host, and see how overlay networks connect swarm services across multiple hosts. Learn when to use macvlan, none, and third-party plugins.
Explore a broad overview of docker commands, including build, run, logs, images, and more, and learn to use docker --help to view command options in this theory-focused lecture.
Understand how a Dockerfile automates image builds by containing the commands to assemble an image. Docker can build the image automatically by reading the Dockerfile instruction.
Discover how Docker Compose defines and runs multi-container Docker applications using a YAML file, and launch all services with Docker Compose up.
Explore how to run a hello world container with Docker, pull images from Docker Hub, and use docker ps, docker ps -a, and docker images to manage containers.
Run an Ubuntu container with Docker run and pull the Ubuntu image if needed. Use interactive -i -t to enter the shell, detach with control-p and control-q without killing.
Master docker container management by starting, stopping, attaching, and killing containers, and learn to remove unused containers using docker rm and the quiet (-q) option.
Learn to manage docker images with list and remove commands, pull from registries, and push updates to private or public registries by logging in.
Learn to run an nginx container from the image, use docker run with -d and -p 80:80 to daemonize and map ports, and verify via localhost.
Learn to run an engine x container in background with port mapping and a bind mount mapping a host directory to the engine x html directory, enabling live content updates.
Explore dockerfiles and docker build workflows, tag images, and run containers; understand cmd, entrypoint, and run differences with engine x images for practical behavior.
Explore dockerfile part2 by using add to copy from host to container, set a workdir, and build and run images; learn run, entrypoint, and cmd roles.
Explore docker compose to define and run multi-container applications with a readable markup language, configuring services and orchestrating isolated environments for development, testing, and staging.
Master yaml syntax through practical examples of lists, key-value mappings, comments, and two-space indentation; learn to structure data like employees, skills, and volumes under services.
Learn to containerize a simple Flask app with docker and docker-compose. Create app.py and a requirements.txt, and implement a page counter that increments on refresh.
Write a Dockerfile to build a Python image, install dependencies from the requirements file, copy code, set environment variables for the Flask app, expose port 5000, and run the app.
Build a docker compose setup with Python 3.8, define web and second services, configure build and port mappings, and prepare to spin up the infrastructure with a single command.
bring up the infrastructure with docker compose up, verify images and containers, and read logs for troubleshooting. run a flask app in development, access localhost:5000, and stop containers with ctrl-c.
Learn to use a bind mount and volumes in Docker Compose to map the host code directory into the container, enabling live updates without rebuilding the image.
Learn to use docker compose up and down to manage containers, run commands in a web service with docker compose run, and inspect environment variables across services.
Explore Docker fundamentals for interview prep, including containers, images, hypervisor concepts, client/daemon/host/registry, and namespaces enabling portable, isolated runs.
Master docker interview topics by contrasting virtualization and containerization, using docker save and load to export and import images, and exploring volumes, restart policies, and image versus layer concepts.
Master Docker Compose workflows to start, stop, and test services. Inspect containers and images, and understand from, label, and entrypoint versus cmd.
Explore docker compose basics, including container lifecycle states and startup order with depends_on, and manage multi-environment deployments using json-based configuration and up/down commands.
Learn how to install Python on various operating systems, distinguish interpreter vs compiler, and set up a development environment with Visual Studio Code for Linux, Windows, and macOS.
Launch your first hello world program in Python using print with quotes and the interpreter. Save the file, open the terminal, run Python 3, and see the output.
Explore data types and how to store values, including int, float, bool, string, list, set, dict, and the none type. Also cover custom data types with classes and specialized modules.
Explore python numbers, performing addition, subtraction, multiplication, and division, and learn how integers become floats through division, modulo, and using print and type.
Explore Python math functions from the standard library, including absolute value, rounding, cosine, and sine, with practical examples and guidance to consult official documentation.
Explore Python operator precedence from exponentiation to parentheses, then multiplication and division, ending with addition and subtraction, illustrated by 3 + 4 * 2 and (3 + 4) * 2.
Demonstrate creating and using variables in Python, including integer variables, simple arithmetic with other variables, printing results, and nesting multiple variables on a single line.
Explore string handling with var string, quotes, multi line strings, and concatenation across languages. Emphasize secure practices by avoiding hard-coded passwords and using environment variables or a secret manager.
Explore type conversion fundamentals, converting integers to strings and vice versa with built-in functions, printing results, and safely concatenating values in a DevOps interview prep context.
Master escape sequences by using backslashes to escape quotes and special characters in strings. See how escaping prevents syntax errors and enables correct prints, including new line behavior.
Learn how to use formatted strings to print variables into output, such as a user name and age, using placeholders and zero-based and one-based indexing to control order.
Learn how strings are indexed as sequences of characters and slice them using start and end indices, noting that the end index is not included.
The lecture explains booleans, showing true or false and how 1 and 0 map to boolean values. It demonstrates converting integers to booleans with a bool function and printing results.
Explore constructing and manipulating lists with brackets, indexing, and slicing. Learn about printing specific elements, handling out-of-range errors, and practical examples like a shopping cart.
Discover Python list methods and built-in operations such as append, extend, insert, remove, sort, reverse, copy, and count. Learn how to search documentation effectively instead of memorizing every detail.
Explore matrices and arrays, including multi dimensional arrays, in various languages, using brackets and indexing, printing elements, and distinguishing between characters and variables.
Clarify the none type and how it differs from zero or whitespace, showing that none means an arbitrary value or not yet set, for DevOps interview prep.
Define and access dictionaries with key-value pairs, using fields such as name and age, and print values. Explore nesting dictionaries inside lists and retrieving nested fields like name or age.
Explore Python dictionary methods, including keys, get, items, values, update, copy, and clear, and learn how to effectively find and use them without memorization.
Explore the read-only table concept, its difference from lists, and how indexing works in a tuple, with examples showing that assignment fails for tables.
Master conditional if-else logic with true and false branches, comparison operators, and boolean variables. Learn proper indentation, blocks, and elif usage for clean, executable code.
Explore the for loop, covering syntax, loop variables, and indentation, with examples showing how prints inside the loop produce 1–4 and an outside print yields 5.
The lecture demonstrates a for loop with a counter using the range function from 0 to 10, printing each value, and shows how the range yields 0 through 9.
Explore the while loop fundamentals in the ultimate DevOps guide with interview preparation: a zero-based counter prints 0 through 4 and exits at 5, highlighting loop conditions and increments.
Explore break, continue, and pass statements in Python loops, showing how break exits a loop, continue skips iterations, and pass simply does nothing.
Define and call functions in Python using def, parameters, and return, and distinguish built-in from customized functions. Understand scope with local variables and practice indentation, calling, and returning values.
Discover how to use args and kwargs to pass multiple parameters to a function. See how positional and keyword arguments behave and how kwargs appear as a dictionary.
Explore Python packages and modules by building a project with a main and function files, organizing directories, and using import statements and from import statements to run interconnected code.
Learn how to handle user input errors in Python by using try and except to manage non-integer values, convert inputs to integers, and print meaningful messages.
Explore Python input and output fundamentals, including opening files in read, write, and append modes, reading content, closing files, and handling errors before advancing to error handling.
Learn to open files in python, handle file not found and io errors with try-except, and safely create or read content when a file is missing.
Build your first port scanner from scratch in Python, using the socket library to scan ports 1–99 on a target IP via gethostbyname, with an ASCII banner and timeouts.
Build your first directory discovery tool using Python requests, reading a wordlist, constructing target URLs, sending requests, and handling errors to discover existing paths.
Learn to build a brute-force login tool from scratch, using a large wordlist, colorized output, and a post request flow to test usernames and passwords in an ethical hacking context.
Explore how continuous integration builds and tests code in a shared repository to detect errors early, and how continuous delivery and deployment automate production releases with varying manual steps.
Explore Jenkins, a self-contained open source automation server that automates building, testing, and deploying software, installable via native packages, Docker, or a standalone Java runtime, with plugins.
install Jenkins on a cloud or local vm by installing openjdk 8, configuring environment variables, adding the Jenkins repository and key, and enabling the Jenkins service with recommended plugins.
Create a new Jenkins job using freestyle or pipeline options, configure general settings, source management, and workspace, then run and verify a build on the Jenkins node.
Configure Jenkins jobs with parameterized builds, artifact retention, and bid-based rate limits to control when builds run. Manage upstream and downstream triggers, concurrency, and fingerprinted dependencies.
Configure source code management in a job by setting up git repositories, credentials, and ssh keys to clone the repo. Manage branches, checkout and cleaning behaviors, submodules, and triggers.
Learn to trigger Jenkins builds remotely via scripts using tokens and parameters, and manage downstream and upstream jobs with periodic schedules and GitHub hook triggers.
Set up a fresh workspace, delete it to avoid cache, and manage secrets like certificates or zip files. Inspect Gradle scans for Jenkins builds with optional JDK installation.
Explore the build section by deploying dependencies and packages, executing Windows batch commands or Unix scripts, and managing Docker containers and service restarts within the Jenkins workspace.
Configure boss actions to aggregate downstream test results, archive artifacts, publish test results, and trigger notifications. Integrate plugins such as Slack to alert teams on build status.
Learn to create and edit views to filter and display selected jobs, choose list views for the current user, and organize jobs by environments including staging, production, testing, and development.
Explore the system information page in mini Jenkins, including java home, jenkins home, environment variables, and memory usage, to understand updating Jenkins and managing plugins.
Learn how to view and capture system and Jenkins logs, and inspect log messages and environment variables. Use the manager to check Jenkins logs and system logs for troubleshooting.
Explore the global tool configuration, setting up and installing JDK, Git, Maven, and related tooling. Learn how to apply these tools across all projects and jobs with global defaults.
Configure the Jenkins system, manage executables and queue behavior, set global properties and environment variables, and integrate tools, monitors, and notifications to optimize pipeline operations.
Learn to manage Jenkins plugins by installing, updating, and uninstalling them, handle dependencies, configure advanced settings like servers and proxies, and explore Slack and Select Notification plugin options.
Manage users by adding or deleting accounts, configuring profiles with descriptions, full names, emails, and time zones, and designating administrator privileges within a security framework.
Configure global security in Jenkins by selecting an authentication source ( Jenkins user database, LDAP, or UNIX options ) and applying matrix- or project-based authorization, defining permissions and anonymous access.
Configure Jenkins managed credentials across global and domain scopes, using username and private key secrets for GitHub integration. Organize credentials by domains to enhance security and prepare for node management.
Configure Jenkins master and slave notes, set labels and execution capacity, and secure connections with credentials and host key verification to launch agents via ssh.
Build a VPC with public and private subnets, internet gateway, and route tables, then set up a server. Integrate GitHub with Jenkins to trigger jobs on events and pull requests.
Create a VPC and two subnets, a public and a private, assign IPv4 CIDR blocks, and name them, in a live, troubleshooting demonstration.
Attach an internet gateway to the VPC, configure public and private subnets, and create route tables and a NAT gateway with an elastic IP to enable public access.
Install vpn on ubuntu server by launching an instance, creating a public ip and a security group for ssh port 22, and configuring mongodb for users.
Set up a vpn by creating an organization and users, starting a server, attaching it to org, downloading the user configuration, and securing access with security groups and udp rules.
Install Jenkins on Ubuntu 18 with Java 8, set up a private VPN-accessible server, configure a security group, install plugins, and create an admin user.
Set up Jenkins behind an nginx proxy, expose it via a private Route 53 hosted zone domain, and configure a secure, accessible Jenkins URL with a private IP.
Learn to integrate Jenkins with GitHub, trigger Jenkins freestyle jobs via GitHub webhooks for push and pull request events, and configure GitHub source control with credentials.
Configure Jenkins to trigger builds from GitHub hook events, align main and master branch settings, and define PR-based triggers, then validate automatic builds from pushes and pull requests.
Explore Jenkins fundamentals, installation steps, and continuous integration, delivery, and deployment workflows, using groovy scripting to orchestrate pipelines and leverage extensive plugins.
Learn how to set up a Jenkins job, configure freestyle jobs, and use essential plugins to integrate with Git, SVN, and Maven, while understanding backup, migration, and deployment workflows.
Master Jenkins as a continuous integration tool, integrating with git, selenium, and kubernetes; compare it with Maven, Bamboo, and Hudson, and learn job DSL and environment variables.
Explore how Jenkins pipelines define the full build, test, and deploy workflow, including multi-branch pipelines, parameters, and agent communication, with emphasis on security, backups, and Jenkins home.
Learn infrastructure as code with Terraform to build, change, and provision multi-cloud infrastructure, including instances, databases, IAM policies, S3 backends, and security groups.
Explore how to download and set up Visual Studio Code, choose a text editor, and prepare a workspace for a Terraform environment by creating a project directory and files.
In Visual Studio Code, create a project directory for the TheWrap.com files, add a new folder, open it, and create a new file named ATF to prepare for upcoming lessons.
Create your first Terraform resource by defining a provider, region, and a named resource with a cidr block in a new file, preparing for init, apply, and destroy.
Install Terraform on Linux, Windows, or macOS by adding the official repository, importing the GPG key, updating packages, installing, and verifying with Terraform --help.
Create your first IAM user with programmatic access, generate the access key and secret key, optionally set policies, and securely download the credentials.
Learn how to generate and manage AWS access keys by creating new credentials, downloading them, toggling active or inactive states, and securely deleting unused keys.
learn how to run terraform init to initialize the backend and download provider plugins, inspect the downloaded providers and their versions, and understand the resulting terraform directory structure.
Demonstrates using Terraform plan to generate an execution plan showing what will be created before apply, and discusses credentials handling with environment variables and parameter store.
Run Terraform apply to execute the planned changes, creating the provider and an AWS VPC in the specified region, updating the state file, and confirming apply complete.
Learn how to safely destroy infrastructure with Terraform destroy, avoiding manual edits. Terraform is cloud-agnostic and ideal for disposable environments like staging or testing, enabling rapid creation and destruction.
Learn how the tfstate file tracks infrastructure state, lists resources, and supports apply and destroy with auto-approve.
Define terraform variables using string type with a default value, following syntax variable 'name' { type = string; default = ... }. Defaults depend on type (string, number, boolean).
Define a boolean Terraform variable without specifying a type, use the default boolean value, and set it to true or false to indicate enabled.
Define list variables in terraform by selecting a list type (string, number, or boolean) and setting default values in brackets with quotes. Explore the next topic, objects.
Declare and define a Terraform map variable with a default value, learn about keys and values, and preview using string, number, boolean, list, and map variables in upcoming lessons.
Define a string variable in Terraform and use it to set the VPC name tag, then configure the CIDR block and apply tagging from that variable.
Learn how to declare and access a list variable in terraform, distinguishing lists of strings and numbers, using quotes correctly, and indexing from zero to select elements.
Learn how to use map variables in Terraform by defining a map with key-value pairs and retrieving values by key, including quoting keys for access.
Learn how to define an input variable in terraform, set a string type with or without a default, add a description, and run terraform init and apply to prompt for values.
Learn how to use Terraform output blocks to expose values after apply, including naming outputs, setting values, and inspecting attributes from the documentation while destroying and recreating infrastructure.
Explore defining a Terraform object variable, including maps, lists, and default values for ports and environment, with string and number fields.
Create an EC2 instance with Terraform by configuring the AWS region us-east-1 and the AMI, handling credentials as environment variables, then apply changes and destroy resources when finished.
Allocate an elastic IP to an EC2 instance with a Terraform aws_eip resource, associate it, and output the EIP. Plan, apply, and destroy to demonstrate lifecycle.
Create a Terraform aws security group for EC2 instances, configure ingress and egress rules with CIDR blocks, and attach the security group to the instances.
Explore terraform modules, including local and remote types, how a module directory tree and provider configuration manage region and credentials, and how to run terraform to create and destroy resources.
Learn how to expose and reference Terraform module outputs from the root module, name outputs clearly, and print the module's values during apply.
Learn how to use Terraform remote modules to simplify infrastructure deployment, discover providers and modules for quickly deploying common infrastructure, and install providers from source code.
Create an IAM user in Terraform, define a custom policy, and attach the policy to the user to grant access, then validate with Terraform apply.
Learn to create an aws rds instance with terraform by configuring provider, region, credentials, and core aws_db_instance attributes, then apply and inspect results in us-east-1.
Learn to configure a remote backend using an S3 bucket to store Terraform state, enabling remote plan and apply operations and state tracking.
Configure a remote Terraform backend in S3, initialize the project, and manage the Terraform state in an S3 bucket, creating a VPC and tracking state changes.
Learn how to use Terraform's count attribute to create multiple resources from one configuration, duplicating the same instance with a simple count and a given id.
Discover how to import existing resources into Terraform, map them to a template, refresh the state, and manage manually created VPCs with Terraform destroy.
Learn how to enforce resource creation order in Terraform by using depends_on, ensuring the database is created before the web server, and understand apply and destroy sequencing.
Explore how Terraform data sources fetch external information, such as the latest AWS AMI matching tags, then apply it to provisioned instances and reveal outputs like availability zone.
Discover how to use Terraform validate to check configuration syntax and catch errors, like missing equal signs, before deployment.
Apply the tier four format command to convert chaotic team configurations into an elegant, ordered format that standardizes writing and removes extra spaces for consistent formatting.
Learn how to configure multiple Terraform providers across regions using alias, manage credentials with environment variables, and deploy and destroy instances in US East and US West.
Master the Terraform local provisioner by using a local-exec command to capture a created instance's private IP and write it to a local text file during apply.
Explore advanced terraform remote-exec provisioners, configuring SSH key-based connections, inline multi-command scripts, and dynamic instance provisioning with security groups for Linux on AWS.
Learn how Terraform plan destroy shows what would be destroyed, compares with apply, and confirms no changes when infrastructure is up to date, using practical destruction scenarios.
Learn how to create, switch, and manage multiple Terraform workspaces for staging and production environments, including environment variables, listing, showing current workspace, and deleting unused workspaces.
Discover how to taint a single resource in terraform to force its replacement during apply, allowing selective destruction or recreation while preserving other resources.
Explore Terraform built-in functions, including numeric, floor, string, collection, date, and hash cryptography functions, with guidance from the official documentation to match your use cases.
Enable verbose Terraform debugging by exporting TF_LOG and TF_LOG_PATH, using trace level for detailed output, and storing logs for analysis of plans.
Explore how to use Terraform's sensitive parameter to suppress output of sensitive values, while understanding that the state file may still store them in plaintext after apply.
Build a complete cloud infrastructure from scratch, including public and private subnets, an internet gateway, a gateway in the public subnet, and two instances with separate security groups.
Build a VPC with one private and one public subnet using Terraform modules in Visual Studio Code, enabling an internet gateway and AWS credentials via environment variables.
Build security groups in terraform by creating public and private security groups for subnets in the same VPC, with inbound rules. Deploy changes using terraform init and apply.
Launch EC2 instances with Terraform modules, configuring private and public instances, security groups, AMI selection, and key pairs. Use module outputs to attach correct subnets.
Explore Terraform interview preparation part 1, covering infrastructure as code concepts, core features like modules and state, and essential commands such as init, refresh, plan, apply, and destroy.
Prepare for Terraform interviews by covering state management and backing, modules, private registries, and multi-provider deployments across on-prem and cloud platforms, plus key cli commands like init, plan, apply.
Prepare for Terraform interview prep by covering resource import and destroy, built-in provisions, multi-cloud deployments, architecture with graph, state, CLI, and Sentinel policy for security.
Explore Terraform interview prep, covering remote state management, using multiple modules and the module registry, upgrading providers and plugins, outputs, tainted resources, and safe rollbacks during apply.
Explore AWS elastic compute cloud (EC2) pricing models including on-demand, spot, savings plans, reserved, and dedicated hosts, and learn about instance types and bursting behavior.
Introduce identity and access management (IAM) and its role in secure resource access. Learn to create users, groups, policies, roles, and MFA, and explore tutorials and tools like Access Advisor.
Explains IAM access options using a command line interface via the edible allow utility and an SDK for languages like Python and Java, with upcoming coverage on creating users.
Switch from root login to an IAM user by configuring a sign-in alias in the IAM dashboard, and use the account ID or alias to sign in.
Create IAM users with programmatic or console access, set passwords, and require change on login. Add users to groups and attach policies to grant precise permissions while safeguarding credentials.
Learn how to enforce a robust IAM password policy in an enterprise DevOps environment, including a minimum length of eight characters, complexity rules, password expiration, and administrator reset controls.
Explore creating and attaching IAM policies, reading policy statements, and understanding action, resource, and effect in AWS to grant precise permissions.
Enable multi-factor authentication to secure credentials by setting up an MFA device, scanning a QR code with an authenticator app, and requiring MFA codes for users and root accounts.
Install the IAM CLI on Windows, macOS, and Linux, configure access key, secret key, and region, then describe instances and security groups to manage EC2 resources via the command line.
Explore the enterprise cloud chip in the IAM cloud shell with the easy tool, launching a preinstalled environment and comparing the security groups command to prior results.
Create and manage an IAM role by choosing a trust entity, attaching a policy, and granting EC2 and other services access to S3, with trust relationships and session control.
Explore IAM security tools with Access Advisor to view which services a test user can access and when, and download audit reports detailing users and credentials.
Follow official IAM best practices to secure resources and avoid root keys. Use groups, least privilege with customer managed policies, MFA, credential rotation, and roles for EC2.
Discover Amazon EC2, a secure cloud compute service with on-demand, spot, reserved, and dedicated pricing, and use the pricing calculator to estimate region-specific instance costs and types.
Launch your first EC2 instance using an IAM user, configure a security group, and select a free tier t2.micro; create a key pair and connect via SSH.
Connect to an EC2 instance using Instance Connect, view the instance ID and public IP, and set a name tag after installing the required plugin.
Learn how to attach an IAM role (instance profile) to an EC2 instance to grant secure, restricted access to S3 buckets, avoiding public exposure.
Explore EC2 placement groups and their cluster, partition, and spread strategies to optimize low-latency networking, high throughput, and fault isolation for interdependent workloads.
Master EC2 placement groups hands-on, learning cluster, spread, and partition strategies, attaching instances, and managing configurations with current-generation limitations.
Learn how EC2 hibernation suspends RAM to the root volume, keeps the instance ID, and restores processes and data on resume.
Explore EC2 elastic network interfaces, virtual cards with primary and private IPs (IPv4/IPv6), MAC addresses, and security groups. Attach to instances and manage elastic IPs.
Explore how to request and configure EC2 spot instances, compare on-demand pricing, and optimize capacity with spot pricing history for load balancing workloads, instance types, and VPC settings.
Explore elastic block store (EBS), a high performance storage for throughput and transaction workloads, with SSD and HDD volume types, use cases, pricing including free tier and snapshots.
Create and manage elastic block storage volumes, choosing types and configuring size and availability. Attach, modify, or delete volumes and create snapshots, then automate retention with lifecycle policies.
Understand Amazon machine images (AMI) as templates for launching instances, including EBS snapshots or instance-store backed images, with permissions, block device mappings, and marketplace options.
Learn to create an Amazon machine image (AMI) from a running EC2 instance, install net-tools for ifconfig, then launch and copy the AMI across regions.
Explore Elastic File System overview and how it enables mounting data and sharing across multiple instances. Note the infrequent access tier and region-based pricing to save costs.
Create an elastic file system and choose a single zone in us east. Enable automatic backup, lifecycle management, and encryption, then mount via dns or nfs and update /etc/fstab.
This auto scaling groups overview covers scaling policies for adding or terminating instances based on healthy or unhealthy status, and using a launch configuration or launch template for setup.
Learn to create an ASG launch configuration by selecting a golden AMI, choosing instance type, security settings, and EBS volumes, with optional spot instances.
Create an auto scaling group (ASG) with a launch configuration, subnets, optional load balancing, and health checks; use a 50% CPU target tracking policy and instance refresh for rolling deployments.
Explore elastic load balancing and how it distributes traffic across instances, containers, IPs, and Lambda, compare application, network, and classic load balancers, and review pricing basics.
Learn to create a classic load balancer, choose internal or external options, configure subnets and security groups, set health checks, and enable cross-zone balancing and connection training.
Create target groups to route requests to registered targets such as instances, IP addresses, or lambda functions. Attach them to application or network load balancers and configure health checks.
Explore the network load balancer setup, including UDP support, static IPs, listeners and target groups, with health checks and internet-facing routing across VPC subnets for high-throughput traffic.
Learn to create an application load balancer for flexible routing in microservice and container deployments, including listeners, target groups, security settings, and certificate management with ACM.
Explore how a virtual private cloud provides a logically isolated section for launching resources, configuring subnets, security groups, and endpoints, enabling disaster recovery and cloud to data center connectivity.
Create your first VPC from the console, comparing VPC wizard templates for public and private subnets with crafting a custom VPC using a 10.0.0.0/16 IPv4 CIDR and default tenancy.
Create public and private subnets within your VPC to separate public and private systems. Configure availability zones, CIDR blocks, and enable auto assign public IP for the public subnet.
Elastic IP addresses provide a static public IP you can allocate or bring your own, and associate with any instance or network interface in a VPC, preserving address after restarts.
Explore creating and configuring a VPC route table, linking public and private subnets, and selecting targets such as internet gateways and virtual private gateways to direct traffic.
Discover how a VPC internet gateway enables communication between a VPC and the internet, routing IPv4 and IPv6 traffic, and attaching the gateway to the VPC.
Learn how a NAT gateway in a public subnet lets private-subnet instances reach the internet while remaining inaccessible, using elastic IPs, route tables, and bastion or VPN access.
Explore IPv6 egress-only internet gateways that enable outbound IPv6 traffic from an instance to the internet, with steps to create and attach the gateway and configure an IPv6 route table.
Explore how a VPC ACL provides an optional firewall for subnets, with rules evaluated by the lowest number and default behavior guiding inbound and outbound traffic.
Discover how VPC peering creates a direct, secure network link between two VPCs across accounts and regions, enabling traffic between instances via IPv4 or IPv6, with explicit request and acceptance.
Explore Route53, a dns provider for domain registration, hosted zones, health checks, and latency-based routing; learn to configure address records, cname, and aaaa records, and understand the pay-as-you-go pricing.
Register a domain with Route53, choose a top-level domain, enable privacy protection, and manage contact details, noting up to ten days for registration and the default hosted zone creation.
Create and manage Route 53 hosted zones for public and private domains. Assign private zones to a VPC and use alias records to AWS services while exploring routing policies.
Configure Route53 health checks to monitor endpoints from a global network using IP or domain, path, and optional string matching.
Explore Amazon CloudWatch for unified observability with metrics, logs, events, and dashboards; set alarms, automate actions, and optimize resources across on-premises and cloud environments.
Explore Amazon CloudWatch default metrics for EC2, EBS, and DB instances, learn to enable detailed monitoring, publish custom metrics, and build dashboards with configurable time frames and regions.
Publish custom metrics to CloudWatch via CLI or API, and view statistics and data points with timestamps. Define up to ten dimensions and use statistics sets to minimize calls.
Explore CloudWatch alarms by configuring metric and composite alarms, defining thresholds, evaluation periods, and handling missing data, with actions via notifications and auto scaling.
Configure CloudWatch billing alarms to monitor estimated charges, set currency and thresholds, and trigger notifications when costs exceed limits. Understand required permissions and consolidated billing prerequisites.
Explore how Amazon CloudWatch Logs monitor, store, and centralize logs from EC2 and other services into log groups, enabling search, filtering, archiving, and retention from one day to ten years.
Install and configure the CloudWatch agent to push custom logs from cloud workloads, including Apache access and error logs, and monitor memory and disk metrics.
Create and configure CloudWatch logs metric filters to detect errors and security breaches, set thresholds and alarms, and escalate incidents via notifications to security or DevOps teams.
Understand how CloudWatch events, now Amazon EventBridge, deliver near real-time system events and route them to targets like Lambda or email, enabling DevOps automation with rules and schedules.
CloudWatch dashboards provide a customizable cloud-based view to monitor resources. Create multi-region dashboards with graphs and widgets; share as an operational playbook with policy-based access and a free tier.
Explore infrastructure as code by defining and provisioning data centers through machine-readable definition files, using tools like Terraform and CloudFormation to build multi-cloud or single-provider environments.
Automate infrastructure with CloudFormation by modeling resources as code using templates in YAML or JSON, deploying them as stacks, and managing updates across regions and accounts.
Explore YAML syntax basics, including key-value structure and starting with three dashes. Use two-space indentation under resources and properties, with lists denoted by dashes.
Learn to create a CloudFormation stack using a ready template, upload via S3, configure instance details and stack options, and explore the designer for infrastructure as code.
Update a CloudFormation stack by uploading a new template, replacing the current one, and attaching an elastic IP to a security group for an instance.
Explore cloud formation parameters and the optional barometer section to customize template values, using defaults, allowed values, and ref for stack creation and updates.
Explore how CloudFormation resources are defined in resources section, using IDs, types, and properties to declare resources such as EC2 instances, S3 buckets, elastic load balancers, Lambda, and Step Functions.
Learn to use CloudFormation mappings to map region keys to hardcoded AMIs and values, retrieving them with find_in_map or the exclamation alias.
Explore CloudFormation outputs to export values for cross-stack references, import them in other stacks, and manage export names within a region, while observing restrictions on cross-region references and secret data.
Learn how CloudFormation conditions control resource creation and output across environments and regions, using parameters and logical functions such as and, equals.
Discover how cloudformation intrinsic functions provide runtime values in templates to set resource properties, outputs, and metadata, and conditionally create stack resources with functions like equals and if.
Embed user data in a CloudFormation template, encode with base64, and run a multi-line bash script to install Apache and serve hello world, with logs in /var/log/cloud-init-output.log.
Learn how to use CloudFormation cfn-init for complex user data, including metadata, base64-encoded scripts, writing files, installing packages, configuring services, and bootstrapping an Apache server.
Learn how to use CloudFormation cfn signal to communicate instance readiness through wait conditions, enabling creation policies to confirm successful provisioning of two instances.
Learn how CloudFormation rollback works, including rollback on failure, disabling rollback to investigate issues, stack timeouts, termination protection, and deletion of current stack resources.
Explore CloudFormation nested stacks to organize stacks within a root stack, reuse templates, and pass parameters and outputs across stacks.
Explore CloudFormation change sets to preview proposed updates to a stack before execution, view and modify changes, and safely update running resources like instances and security groups.
Learn how dependencies on attributes in CloudFormation control the creation order of resources, ensuring the database is created before the instance.
Detect CloudFormation drift by checking whether a stack aligns with its template, view drift results per resource, and selectively test specific resources like security groups for changes.
DevOps is a combination of software development and information technology operations that enables businesses to deliver applications at a faster pace. It brings together development and operations teams so there are fewer redundancies in the software development process.
DevSecOps is a culture shift in the software industry that aims to bake security into the rapid-release cycles that are typical of modern application development and deployment.
DevOps has revolutionized workplaces in many ways. The number of DevOps-related jobs are increasing, while its rank as an in-demand job.
DevOps is important because it's a software development and operations approach that enables faster development of new products and easier maintenance of existing deployments.
In this course we will learn all the below in this ultimate course:
Linux from the beginning – History and Evolution
Unix Architecture
Linux Commands Hands On
Linux vs Unix
Learn Linux From the scratch
Shell Scripting
The Linux Boot Process
What is CI/CD ?
What is Jenkins and why
Install Jenkins
Create your first Jenkins Job
Integrate Jenkins with GitHub and AWS with Practice Step by Step
What is Docker and why
VM vs Containers
How Docker works Architecture
How to handle Docker file
Docker compose app py file
Learn Python From the scratch
Understanding Python Essentials and Concepts
Hands On projects
Python Practice Step By Step
Terraform Introduction
Terraform Create your First Resource
Terraform Generate Secrets
Terraform Strings
Terraform EC2 Create Instance
Terraform Hands-On Project Step By Step
Interview Preparation