Get in Touch

Course Outline

Virtualization Fundamentals

  1. Overview of Operating System Concepts: CPU, Memory, Network, Storage
  2. Hypervisor
    1. The concept of the 'Supervisor of Supervisors'
    2. 'Host' machine and 'guest' operating systems
    3. Differences between Type-1 and Type-2 Hypervisors
    4. Key platforms: Citrix XEN, VMware ESX/ESXi, MS Hyper-V, IBM LPAR.
  3. Network Virtualization
    1. Introduction to the 7-Layer OSI Model
    2. Specific focus on the Network layer
    3. The TCP/IP Model or Internet Protocol
  4. Detailed Exploration of Specific Layers
    1. Application Layer: SSL
    2. Transport Layer: TCP
    3. Internet Layer: IPv4/IPv6
    4. Link Layer: Ethernet
  5. Packet Structure and Components
    1. Addressing: IP Addresses and Domain Names
    2. Network Devices: Firewalls, Load Balancers, Routers, Adapters
    3. Virtualized Networks
    4. Higher-level concepts: Subnets and Zones.
  6. Practical Exercise:
    1. Become familiar with ESXi clusters and the vSphere client.
    2. Create and update networks within an ESXi Cluster, deploy guests from VMDK packages, and enable connectivity between guests in 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 New Paradigm

  1. A rapid and cost-effective method to make products or solutions globally available
  2. Resource Sharing
    1. Virtualization within virtualized environments
  3. Key Advantages:
    1. On-demand resource elasticity
      1. Move from ideation to coding and deployment without managing physical infrastructure
      2. Accelerated CI/CD pipelines
    2. Environment isolation and vertical autonomy
    3. Enhanced security through layering
    4. Cost optimization strategies
  4. On-premise Clouds vs. Cloud Providers
  5. Cloud as a conceptual abstraction for distributed computing

3. Overview of Cloud Solution Layers:

  1. IaaS (Infrastructure as a Service)
    1. Providers: AWS, Azure, Google
    2. Select one provider to continue; AWS is recommended.
      1. Introduction to AWS VPC, AWS EC2, etc.
  2. PaaS (Platform as a Service)
    1. Platforms: AWS, Azure, Google, CloudFoundry, Heroku
    2. Introduction to AWS DynamoDB, AWS Kinesis, etc.
  3. SaaS (Software as a Service)
    1. Brief overview
    2. Examples: Microsoft Office, Confluence, SalesForce, Slack
  4. Hierarchical Relationship: SaaS is built on PaaS, which is built on IaaS, which is built on Virtualization

4. IaaS Cloud Practical Project

  1. The project utilizes AWS as the IaaS Cloud Provider
  2. Use CentOS/RHEL as the operating system for the remainder of the exercise
    1. Alternatively, Ubuntu is acceptable, though RHEL/CentOS are preferred
  3. Obtain individual AWS IAM accounts from your cloud administrator
  4. Each participant must complete these steps independently
    1. The ability to provision entire infrastructure on-demand best demonstrates the power of cloud computing
    2. Use AWS Wizards or the online console to complete these tasks unless otherwise specified
  5. Create a public VPC in the us-east-1 Region
    1. Set up two Subnets (Subnet-1 and Subnet-2) in 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. No other inbound connections are allowed
      2. SG-Service
        1. Permits incoming traffic only from the SG-Internet security group on https 443 and http 80
        2. Permits ICMP only from SG-Internet
        3. No other inbound connections are allowed
      3. SG-SSH:
        1. Allows SSH:22 inbound connections only from the single public IP address of the participant’s lab machine. If the machine is behind a proxy, use the proxy’s public IP.
  6. Deploy an AMI instance for your chosen OS -- ideally the latest RHEL/CentOS version available -- 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 an NGINX server on this instance
  9. Add static content of your choice -- such as HTML pages and images -- to be served by NGINX on port 80 (HTTP) and define URLs for them.
  10. Test the URL from the same machine.
  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. 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 and associate it with SG-Internet.
    1. Note the differences between a classic ELB, Application Load Balancer, and Network Load Balancer.
  15. Configure routing rules to forward all http 80 and https 443 traffic to a target group comprising the two instances created above.
  16. Use a certificate management tool (such as java keytool) to generate a key pair and self-signed certificate, then import the certificate into AWS Certificate Manager (ACM).

5. Cloud Monitoring: Introduction and Practical Project

  1. AWS CloudWatch metrics
  2. Access the AWS CloudWatch dashboard for the instances
    1. Collect relevant metrics and analyze their variations over time
      1. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html
  3. Access the AWS CloudWatch dashboard for the ELB
    1. Monitor 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 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 CloudFormation Templates
  4. Auto-scaling
    1. Using AWS CloudWatch metrics to assess health

Requirements

No specific prerequisites are required to participate 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

Testimonials (1)

Upcoming Courses

Related Categories