Get in Touch

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 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. Get familiar with the ESXi cluster and vSphere client.
    2. Create or update networks in the ESXi Cluster, deploy guests from VMDK packages, and enable connectivity between guests within the cluster.
    3. Modify 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 quick and affordable way to make products or solutions available globally
  2. Resource sharing
    1. Virtualization of virtualized environments
  3. Key benefits:
    1. On-demand resource elasticity
      1. Enables Ideate -> Code -> Deploy without the need for physical 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. Select one provider to proceed. 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. A very brief overview
    2. Microsoft Office, Confluence, SalesForce, Slack
  4. SaaS builds on PaaS, which builds on IaaS, which 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 is also acceptable, but RHEL/CentOS are preferred
  3. Obtain individual AWS IAM accounts from your cloud admin
  4. Each student must complete these steps independently
    1. The ability to provision your own complete 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 specified
  5. Create a public VPC in the 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 the public IP of the student’s lab machine. If the lab machine is behind a proxy, use the public IP of the proxy.
  6. Deploy an AMI instance for your chosen OS -- preferably the latest RHEL/CentOS versions available in AMIs -- and host it in Subnet-1. Attach the instance to the SG-Service and SG-SSH 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 (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 machine itself.
  11. Create an AMI image from this running instance.
  12. Deploy the new AMI and host the instance in Subnet-2. Attach the instance to the SG-Service and SG-SSH groups.
  13. Run the NGINX server and verify that the access URL for the static content created in step (i) works.
  14. Create a new “classic” Elastic Load Balancer and attach it to SG-Internet.
    1. Note the differences from the Application Load Balancer and Network Load Balancer.
  15. Create a routing rule that forwards all http 80 and https 443 traffic to the instance group containing the two instances created above.
  16. Using any certificate management tool (such as 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. 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 the ELB metrics and explain their variability over time
    2. 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
  2. Migration: From on-premise to public cloud
    1. Application code migration
    2. Database migration
  3. DevOps
    1. Infrastructure as Code
    2. AWS CloudFormation Template
  4. Auto-scaling
    1. Using AWS CloudWatch metrics to determine health

Requirements

No specific prerequisites are required to join this course.

Target Audience

Software Engineers and 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.

 21 Hours

Number of participants


Price per participant

Testimonials (1)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories