Get in Touch

Course Outline

Virtualization Fundamentals

  1. Operating System Basics: CPU, Memory, Network, and Storage
  2. Hypervisors
    1. Concept of a "supervisor of supervisors"
    2. The relationship between the "host" machine and the "guest" OS
    3. Distinction between Type-1 and Type-2 Hypervisors
    4. Examples: Citrix XEN, VMware ESX/ESXi, MS Hyper-V, IBM LPAR
  3. Network Virtualization
    1. Overview of the 7-Layer OSI Model
    2. Focused view of the Network layer
    3. The TCP/IP Model or Internet Protocol
  4. Deep Dive into Specific Layers
    1. Application Layer: SSL
    2. Transport Layer: TCP
    3. Internet Layer: IPv4/IPv6
    4. Data Link Layer: Ethernet
  5. Packet Structure and Networking Components
    1. Addressing: IP Addresses and Domain Names
    2. Key Components: Firewalls, Load Balancers, Routers, and Network Adapters
    3. Virtualized Networks
    4. Higher-level Abstractions: Subnets and Availability Zones
  6. Practical Exercise:
    1. Get comfortable with the ESXi cluster and the vSphere client.
    2. Configure networks within the ESXi Cluster, deploy guest VMs from VMDK images, and establish connectivity between guests in the cluster.
    3. Modify a running VM instance and create a snapshot.
    4. Adjust firewall rules in ESXi using the vSphere client.

2. Cloud Computing: A Paradigm Shift

  1. A fast, cost-effective pathway to bring products and solutions to the global market.
  2. Resource Sharing
    1. Virtualization of virtualized environments
  3. Core Benefits:
    1. On-Demand Resource Elasticity
      1. Accelerate Ideation -> Coding -> Deployment without needing physical infrastructure
      2. Enable rapid CI/CD pipelines
    2. Environment Isolation and Vertical Autonomy
    3. Security through Layered Defense
    4. Cost Optimization
  4. On-Premise Cloud vs. Cloud Providers
  5. Cloud Computing as an Effective Abstraction for Distributed Systems

3. Introduction to Cloud Solution Layers:

  1. IaaS (Infrastructure as a Service)
    1. Providers: AWS, Azure, Google
    2. Select one provider to continue with later. AWS is recommended.
      1. Introduction to AWS VPC, AWS EC2, etc.
  2. PaaS (Platform as a Service)
    1. Providers: AWS, Azure, Google, CloudFoundry, Heroku
    2. Introduction to AWS DynamoDB, AWS Kinesis, etc.
  3. SaaS (Software as a Service)
    1. High-level overview
    2. Examples: Microsoft Office, Confluence, SalesForce, Slack
  4. Progression: SaaS relies on PaaS, which relies on IaaS, which relies on Virtualization

4. IaaS Cloud Hands-on Project

  1. This project utilizes AWS as the IaaS Cloud Provider.
  2. Use CentOS/RHEL as the operating system for the remainder of the exercise.
    1. Ubuntu is acceptable, but RHEL/CentOS are preferred.
  3. Obtain individual AWS IAM accounts from your cloud administrator.
  4. Each student must complete these steps independently.
    1. The ability to provision your own infrastructure on-demand demonstrates the true power of cloud computing.
    2. Use AWS Wizards and the online console to complete these tasks unless specified otherwise.
  5. Create a Public VPC in the us-east-1 Region.
    1. Create two Subnets (Subnet-1 and Subnet-2) in different Availability Zones.
      1. Reference: https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenarios.html
    2. Create three separate Security Groups.
      1. SG-Internet:
        1. Allows incoming traffic from the Internet on HTTPS (443) and HTTP (80).
        2. No other incoming connections permitted.
      2. SG-Service:
        1. Allows incoming traffic only from SG-Internet on HTTPS (443) and HTTP (80).
        2. Allows ICMP traffic only from SG-Internet.
        3. No other incoming connections permitted.
      3. SG-SSH:
        1. Allows SSH (port 22) incoming connections only from a single IP address matching the public IP of the student’s lab machine (or the proxy’s public IP if the lab machine is behind a proxy).
  6. Deploy an instance using an AMI for your chosen OS (preferably the latest RHEL/CentOS versions in AMIs) and host it on Subnet-1. Attach the instance to the SG-Service and SG-SSH security groups.
  7. Access the instance via SSH from your lab machine.
  8. Install the NGINX server on this instance.
  9. Place static content of your choice (HTML pages, images) to be served by NGINX (on port 80 via HTTP) and define URLs for them.
  10. Test the URL directly from that machine.
  11. Create an AMI image from this running instance.
  12. Deploy the new AMI and host the instance on Subnet-2. Attach the instance to the SG-Service and SG-SSH security groups.
  13. Start the NGINX server and verify that the access URL for the static content created in the previous step works correctly.
  14. Create a new "classic" Elastic Load Balancer (ELB) and attach it to SG-Internet.
    1. Note the differences between Classic, Application, and Network Load Balancers.
  15. Create a routing rule to forward all HTTP (80) and HTTPS (443) traffic to an instance group comprising the two instances created above.
  16. Using any certificate management tool (e.g., Java Keytool), create a key-pair and a self-signed certificate, then import the certificate into AWS Certificate Manager (ACM).

5. Cloud Monitoring: Introduction and Hands-on Project

  1. AWS CloudWatch Metrics
  2. Navigate to the AWS CloudWatch dashboard for the instances.
    1. Retrieve relevant metrics and explain their variability over time.
      1. Reference: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html
  3. Navigate to the AWS CloudWatch dashboard for the ELB.
    1. Observe ELB metrics and explain their variability over time.
    2. Reference: https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-cloudwatch-metrics.html

6. Advanced Concepts for Further Learning

  1. Hybrid Cloud: Combining on-premise and public cloud environments.
  2. Migration: Moving from On-Premise to Public Cloud.
    1. Application code migration
    2. Database migration
  3. DevOps
    1. Infrastructure as Code (IaC)
    2. AWS CloudFormation Templates
  4. Auto-scaling
    1. Using AWS CloudWatch metrics to determine system health

Requirements

No specific prerequisites are required to enroll in this course.

Target Audience

Software Engineers and Computer Scientists who possess a solid understanding of algorithms and proficiency in at least one programming or scripting language, but have no prior experience with Cloud Computing.

 21 Hours

Number of participants


Price per participant

Testimonials (1)

Upcoming Courses

Related Categories