Get in Touch

Course Outline

Virtualization Fundamentals

  1. Operating System Concepts Overview: CPU, Memory, Network, Storage
  2. Hypervisors
    1. The supervisor of supervisors
    2. "Host" machine and "guest" OS
    3. Type-1 Hypervisor and Type-2 Hypervisor
    4. Citrix XEN, VMware ESX/ESXi, MS Hyper-V, IBM LPAR.
  3. Network Virtualization
    1. Brief introduction to the 7-Layer OSI Model
    2. Focus on the Network layer
    3. TCP/IP Model or Internet Protocol
  4. Focus on a single vertical
    1. Application Layer: SSL
    2. Network Layer: TCP
    3. Internet Layer: IPv4/IPv6
    4. Link Layer: Ethernet
  5. Packet structure
    1. Addressing: IP Address and Domain Names
    2. Firewall, Load Balancer, Router, Adapter
    3. Virtualized Network
    4. Higher-order abstractions: Subnets, Zones.
  6. Hands-on Exercise:
    1. Familiarize with ESXi cluster and vSphere client.
    2. Create/update networks in ESXi Cluster, deploy guests from VMDK packages, and enable inter-connectivity between guests in an ESXi cluster.
    3. Make modifications to a running VM instance and capture a snapshot.
    4. Update firewall rules in ESXi using the vSphere client.

2. Cloud Computing: A Paradigm Shift

  1. A fast, inexpensive runway to make products/solutions available to the world
  2. Resource sharing
    1. Virtualization of a virtualized environment
  3. Key benefits:
    1. Resource elasticity on-demand
      1. Ideate -> Code -> Deploy without requiring infrastructure
      2. Rapid CI/CD pipelines
    2. Environment isolation and vertical autonomy
    3. Security through layering
    4. Expense optimization
  4. On-premise Cloud and Cloud Providers
  5. Cloud as an effective conceptual abstraction for distributed computing

3. Introduction to Cloud Solution Layers:

  1. IaaS (Infrastructure as a Service)
    1. AWS, Azure, Google
    2. Choose one Provider to continue later. AWS is recommended.
      1. Introduction to AWS VPC, AWS EC2 etc.
  2. PaaS (Platform as a Service)
    1. AWS, Azure, Google, CloudFoundry, Heroku
    2. Introduction to AWS DynamoDB, AWS Kinesis etc.
  3. SaaS (Software as a Service)
    1. Very brief overview
    2. Microsoft Office, Confluence, SalesForce, Slack
  4. SaaS builds on PaaS that builds on IaaS that builds on Virtualization

4. IaaS Cloud Hands-on Project

  1. The project uses AWS as the IaaS Cloud Provider
  2. Use CentOS/RHEL as the operating system for the rest of the exercise
    1. Alternatively, Ubuntu will also work, but RHEL/CentOS are preferred
  3. Obtain individual AWS IAM accounts from your cloud admin
  4. Each student must perform these steps independently
    1. The ability to carve out your own entire infrastructure on-demand is the best demonstration of the power of cloud computing
    2. Use AWS Wizards -- AWS online consoles -- to accomplish these tasks unless otherwise mentioned
  5. Create a public VPC in us-east-1 Region
    1. Two Subnets (Subnet-1 and Subnet-2) in two different Availability Zones
      1. See https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenarios.html for reference.
    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 allowed
      2. SG-Service
        1. Allows incoming traffic only from security group SG-Internet on https 443 and http 80
        2. Allows ICMP only from SG-Internet
        3. No other incoming connections allowed
      3. SG-SSH:
        1. Allows SSH:22 incoming connection only from a single IP that matches with the public IP of the student’s lab machine. In case the lab machine is behind a proxy, use the public IP of the proxy.
  6. Deploy an instance of an AMI pertaining to your chosen OS -- preferably the latest RHEL/CentOS versions available in AMIs -- and host the instance on Subnet-1. Attach the instance to SG-Service and SG-SSH groups.
  7. Access the instance using SSH from your lab machine.
  8. Install the NGINX server on this instance
  9. Place static contents of your choice -- html pages, images -- to be served by NGINX (on port 80 over HTTP) and define URLs for them.
  10. Test the URL from that machine itself.
  11. Create an AMI image from this running instance.
  12. Deploy that new AMI and host the instance on Subnet-2. Attach the instance to SG-Service and SG-SSH groups.
  13. Run the NGINX server and validate that the access URL for the static content as created in step (i) works.
  14. Create a new "classic" Elastic Load Balancer and attach it to SG-Internet.
    1. Note the difference from Application Load Balancer and Network Load Balancer.
  15. Create a routing rule forwarding all http 80 and https 443 traffic to an instance group comprising the two instances created above.
  16. Using any certificate management tool -- such as java keytool -- create a key-pair and self-signed certificate and import the certificate to AWS Certificate Manager (ACM)

5. Cloud Monitoring: Introduction and Hands-on Project

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

6. Advanced Concepts for Further Learning

  1. Hybrid Cloud -- on-premise and public cloud
  2. Migration: On-premise to public cloud
    1. Application code migration
    2. Database migration
  3. DevOps
    1. Infrastructure as a code
    2. AWS CloudFormation Template
  4. Auto-scaling
    1. AWS CloudWatch metrics to determine health

Requirements

There are no specific prerequisites for attending this course.

 21 Hours

Number of participants


Price per participant

Testimonials (1)

Upcoming Courses

Related Categories