Get in Touch
 Duration 21 hours

Course Outline

Virtualization Details

  1. Overview of Operating System Concepts: CPU, Memory, Network, Storage
  2. Hypervisor
    1. Supervisor of Supervisors
    2. "Host" machine and "guest" OS
    3. Type-1 and Type-2 Hypervisors
    4. Citrix XEN, VMware ESX/ESXi, MS Hyper-V, IBM LPAR.
  3. Network Virtualization
    1. Introduction to the 7-Layer OSI Model
    2. Focus on the Network layer
    3. TCP/IP Model or Internet Protocol
  4. Deep Dive into 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 Addresses and Domain Names
    2. Firewall, Load Balancer, Router, Adapter
    3. Virtualized Network
    4. Higher-order abstractions: Subnets, Zones.
  6. Practical Exercise:
    1. Explore the ESXi cluster and vSphere client.
    2. Create or update networks within the ESXi Cluster, deploy guests from VMDK packages, and enable connectivity between guests in the ESXi cluster.
    3. Modify a running VM instance and take a snapshot.
    4. Update firewall rules in ESXi using the vSphere client.

2. Cloud Computing: A Shift in Paradigm

  1. A quick and affordable method to make products or solutions globally available
  2. Resource Sharing
    1. Virtualization within a virtualized environment
  3. Key Advantages:
    1. On-demand Resource Elasticity
      1. Ideate -> Code -> Deploy without needing dedicated infrastructure
      2. Accelerated CI/CD pipelines
    2. Environment isolation and vertical autonomy
    3. Security through layering
    4. Cost optimization
  4. On-premise Clouds and Cloud Providers
  5. Cloud as a powerful conceptual abstraction for distributed computing

3. Introduction to Cloud Solution Layers:

  1. IaaS (Infrastructure as a Service)
    1. AWS, Azure, Google
    2. Select one provider to continue the course. AWS is suggested.
      1. Overview of AWS VPC, AWS EC2, etc.
  2. PaaS (Platform as a Service)
    1. AWS, Azure, Google, CloudFoundry, Heroku
    2. Overview of AWS DynamoDB, AWS Kinesis, etc.
  3. SaaS (Software as a Service)
    1. Brief overview
    2. Microsoft Office, Confluence, SalesForce, Slack
  4. SaaS is built on PaaS, which is built 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 also acceptable, but RHEL/CentOS are preferred
  3. Obtain individual AWS IAM accounts from your cloud administrator
  4. Each participant must complete these steps independently
    1. The capability to build an entire infrastructure on-demand is the strongest demonstration of cloud computing’s power
    2. Use AWS Wizards -- online AWS consoles -- to complete these tasks unless specified otherwise
  5. Create a public VPC in the us-east- 1 Region
    1. Two Subnets (Subnet-1 and Subnet-2) located in two different Availability Zones
      1. Refer to https://docs.aws.amazon.com/vpc/latest/userguide/.
    2. Create three distinct Security Groups
      1. SG-Internet
        1. Permits inbound traffic from the Internet on ports 443 (https) and 80 (http)
        2. No other inbound connections are permitted
      2. SG-Service
        1. Permits inbound traffic only from the SG-Internet security group on ports 443 (https) and 80 (http)
        2. Permits ICMP only from SG-Internet
        3. No other inbound connections are permitted
      3. SG-SSH:
        1. Permits inbound SSH:22 connections only from a single IP address matching the public IP of the student’s lab machine. If the lab machine is behind a proxy, use the proxy’s public IP.
  6. Launch an instance using an AMI for your chosen OS -- preferably the latest available RHEL/CentOS versions -- and place it in Subnet-1. Assign the instance to the SG-Service and SG-SSH groups.
  7. Connect to the instance via SSH from your lab machine.
  8. Install an NGINX server on this instance
  9. Place static content of your choice -- such as html pages or images -- to be served by NGINX (on port 80 over HTTP) and define URLs for them.
  10. Test the URL from that same machine.
  11. Create an AMI image from this running instance.
  12. Deploy that new AMI and place the instance in Subnet-2. Assign the instance to the SG-Service and SG-SSH groups.
  13. Start the NGINX server and verify that the access URL for the static content created in the previous step works.
  14. Create a new “classic” Elastic Load Balancer and associate it with SG-Internet.
    1. Note the distinction between an Application Load Balancer and a Network Load Balancer.
  15. Create a routing rule that directs all http 80 and https 443 traffic to an instance group consisting of the two instances created above.
  16. Use a certificate management tool -- such as java keytool -- to generate 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 how they vary over time
      1. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html
  3. Navigate to the AWS CloudWatch dashboard for the ELB
    1. Examine the ELB metrics and explain their variation over time
    2. https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-cloudwatch-metrics.html

6. Advanced Concepts for Further Study

  1. Hybrid Cloud -- combining on-premise and public cloud
  2. Migration: From on-premise to public cloud
    1. Application code migration
    2. Database migration
  3. DevOps
    1. Infrastructure as Code
    2. AWS Cloud Formation Templates
  4. Auto-scaling
    1. Using AWS CloudWatch metrics to assess health

Requirements

No specific prior requirements are necessary to enroll in this course.

Target Audience

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

Number of participants


Price per participant

Testimonials (1)

Upcoming Courses

Related Categories