Get in Touch

Course Outline

Virtualization Details

  1. Overview of Operating System Concepts: CPU, Memory, Network, Storage
  2. Hypervisor
    1. Supervisor of Supervisors
    2. Concept of the "Host" machine and "guest" operating systems
    3. Distinction between Type-1 and Type-2 Hypervisors
    4. Examples including Citrix XEN, VMware ESX/ESXi, MS Hyper-V, and IBM LPAR.
  3. Network Virtualization
    1. Brief introduction to the 7-Layer OSI Model
    2. Emphasis on the Network layer
    3. The 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 mechanisms: IP Address and Domain Names
    2. Components such as Firewall, Load Balancer, Router, and Adapter
    3. Virtualized Network environments
    4. Higher-order abstractions including Subnets and Zones.
  6. Practical Exercise:
    1. Become familiar with an ESXi cluster and the vSphere client.
    2. Configure networks within an ESXi Cluster, deploy guest instances from VMDK packages, and establish connectivity between guests.
    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 rapid and cost-effective method to deploy products or solutions globally
  2. Resource Sharing
    1. Virtualization within a virtualized environment
  3. Primary Advantages:
    1. On-demand resource elasticity
      1. Ability to Ideate, Code, and Deploy without dedicated infrastructure
      2. Rapid CI/CD pipelines
    2. Environment isolation and vertical autonomy
    3. Security achieved through layering
    4. Cost optimization strategies
  4. On-premise Cloud infrastructure and Cloud Service Providers
  5. Cloud as a conceptual abstraction for distributed computing

3. Introduction to Cloud Solution Layers:

  1. IaaS (Infrastructure as a Service)
    1. Providers including AWS, Azure, and Google
    2. Select one provider for subsequent exercises; AWS is recommended.
      1. Introduction to AWS VPC, AWS EC2, and related services.
  2. PaaS (Platform as a Service)
    1. Providers such as AWS, Azure, Google, CloudFoundry, and Heroku
    2. Introduction to services like AWS DynamoDB and AWS Kinesis.
  3. SaaS (Software as a Service)
    1. Concise overview of the category
    2. Examples include Microsoft Office, Confluence, SalesForce, and Slack
  4. The hierarchical relationship where SaaS builds on PaaS, which builds on IaaS, which in turn builds 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 this exercise
    1. Alternatively, Ubuntu is 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. Provisioning an entire infrastructure on-demand is the clearest demonstration of cloud computing power
    2. Use AWS Wizards and online consoles to complete these tasks unless otherwise specified
  5. Create a public VPC in the us-east-1 Region
    1. Establish two Subnets (Subnet-1 and Subnet-2) across two different Availability Zones
      1. Refer to https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenarios.html for guidance.
    2. Create three distinct Security Groups
      1. SG-Internet
        1. Permits incoming traffic from the Internet on https (443) and http (80)
        2. Blocks all other incoming connections
      2. SG-Service
        1. Permits incoming traffic only from security group SG-Internet on https (443) and http (80)
        2. Allows ICMP only from SG-Internet
        3. Blocks all other incoming connections
      3. SG-SSH:
        1. Allows SSH:22 incoming connections only from a single IP matching the public IP of the participant's lab machine, or the proxy public IP if applicable.
  6. Deploy an instance from an AMI for the selected OS—preferably the latest RHEL/CentOS versions available—and host it on Subnet-1. Attach the instance to the SG-Service and SG-SSH groups.
  7. Access the instance via SSH from the lab machine.
  8. Install the NGINX server on this instance
  9. Place static content, such as HTML pages or images, to be served by NGINX on port 80 over HTTP, and define the corresponding URLs.
  10. Test the URL from the local machine.
  11. Create an AMI image from this running instance.
  12. Deploy this new AMI and host the instance on Subnet-2. Attach 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 functions correctly.
  14. Create a new "classic" Elastic Load Balancer and attach it to SG-Internet.
    1. Understand the differences between the Application Load Balancer and Network Load Balancer.
  15. Configure routing rules to forward all http 80 and https 443 traffic to an instance group containing the two instances created above.
  16. Use a certificate management tool, such as Java keytool, to create a key-pair and self-signed certificate, then import the certificate into AWS Certificate Manager (ACM)

5. Cloud Monitoring: Introduction and Hands-on Project

  1. Understanding AWS CloudWatch metrics
  2. Navigate to the AWS CloudWatch dashboard for the instances
    1. Retrieve relevant metrics and analyze 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. Examine the ELB metrics and interpret their fluctuations over time
    2. https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-cloudwatch-metrics.html

6. Advanced Concepts for Further Learning

  1. Hybrid Cloud architectures combining on-premise and public cloud resources
  2. Migration strategies from on-premise to public cloud
    1. Migrating application code
    2. Migrating databases
  3. DevOps practices
    1. Infrastructure as code
    2. AWS CloudFormation Templates
  4. Auto-scaling mechanisms
    1. Utilizing AWS CloudWatch metrics to assess health

Requirements

No specific prerequisites are required to participate in this course.

Audience

This course is designed for Software Engineers and Computer Scientists who possess a solid grasp of algorithms and familiarity with at least one programming or scripting language, but who have not yet worked with Cloud Computing technologies.

 21 Hours

Testimonials (1)

Related Categories