Get in Touch
 Duration 21 hours

Course Outline

1. Virtualization Fundamentals

  1. Overview of Operating System Concepts: CPU, Memory, Network, and Storage
  2. Hypervisors
    1. The concept of a supervisor of supervisors
    2. Distinguishing between "Host" and "Guest" operating systems
    3. Type-1 and Type-2 Hypervisors
    4. Industry examples: Citrix XEN, VMware ESX/ESXi, MS Hyper-V, and IBM LPAR.
  3. Network Virtualization
    1. Introduction to the 7-Layer OSI Model
    2. Emphasis on the Network Layer
    3. The TCP/IP Model and the Internet Protocol
  4. Deep Dive into Specific Layers
    1. Application Layer: SSL
    2. Network Layer: TCP
    3. Internet Layer: IPv4/IPv6
    4. Link Layer: Ethernet
  5. Packet Structure
    1. Addressing methods: IP Addresses and Domain Names
    2. Network components: Firewalls, Load Balancers, Routers, and Adapters
    3. Virtualized Networks
    4. Advanced concepts: Subnets and Zones.
  6. Practical Exercise:
    1. Gaining familiarity with an ESXi cluster and the vSphere client.
    2. Creating or updating networks within an ESXi cluster, deploying guests from VMDK packages, and establishing connectivity between guests.
    3. Modifying a running VM instance and taking a snapshot.
    4. Updating firewall rules within ESXi using the vSphere client.

2. Cloud Computing: A Paradigm Shift

  1. A rapid, cost-effective pathway for making products or solutions globally available
  2. Resource Sharing
    1. Virtualization within a virtualized environment
  3. Key Advantages:
    1. On-demand resource elasticity
      1. The ability to ideate, code, and deploy without managing infrastructure
      2. Accelerated CI/CD pipelines
    2. Environment isolation and vertical autonomy
    3. Enhanced security through layering
    4. Cost efficiency
  4. On-premise Clouds versus Public Cloud Providers
  5. Cloud computing as a conceptual abstraction for distributed systems

3. Introduction to Cloud Service Layers:

  1. IaaS (Infrastructure as a Service)
    1. Providers: AWS, Azure, and Google Cloud
    2. Selecting a provider for further exploration; AWS is recommended.
      1. Foundational concepts such as AWS VPC and AWS EC2.
  2. PaaS (Platform as a Service)
    1. Platforms: AWS, Azure, Google Cloud, CloudFoundry, and Heroku
    2. Introductions to services like AWS DynamoDB and AWS Kinesis.
  3. SaaS (Software as a Service)
    1. Brief overview
    2. Examples: Microsoft Office, Confluence, Salesforce, and Slack
  4. The hierarchical relationship: SaaS 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 primary IaaS provider
  2. CentOS/RHEL is the recommended operating system for this exercise
    1. Ubuntu is an acceptable alternative, but RHEL/CentOS are preferred
  3. Obtaining individual AWS IAM accounts from the cloud administrator
  4. Independent execution of tasks by each participant
    1. Demonstrating the power of cloud computing by provisioning entire infrastructure on-demand
    2. Using AWS online consoles (wizards) to complete tasks unless otherwise specified
  5. Creating a public VPC in the us-east-1 Region
    1. Establishing two subnets (Subnet-1 and Subnet-2) across different Availability Zones
      1. Refer to https://docs.aws.amazon.com/vpc/latest/userguide/ for guidance.
    2. Configuring three distinct Security Groups
      1. SG-Internet
        1. Permits incoming HTTP (80) and HTTPS (443) traffic from the Internet
        2. Restricts all other incoming connections
      2. SG-Service
        1. Allows HTTP (80) and HTTPS (443) traffic exclusively from the SG-Internet group
        2. Permits ICMP traffic only from SG-Internet
        3. Blocks all other incoming connections
      3. SG-SSH:
        1. Allows SSH (22) connections only from a specific public IP address corresponding to the student's lab machine (or proxy, if applicable).
  6. Deploying an AMI for the selected OS (preferably the latest RHEL/CentOS version) and hosting it on Subnet-1, attaching it to both SG-Service and SG-SSH
  7. Accessing the instance via SSH from the lab machine
  8. Installing an NGINX server on the instance
  9. Serving custom static content (HTML, images) via NGINX on port 80 and defining the relevant URLs
  10. Testing the URL directly from the instance
  11. Creating an AMI image from the running instance
  12. Deploying the new AMI on Subnet-2 and attaching it to SG-Service and SG-SSH
  13. Verifying that the NGINX server is running and the static content URLs from the previous step are accessible
  14. Creating a "classic" Elastic Load Balancer and associating it with SG-Internet
    1. Understanding the differences between Application Load Balancers and Network Load Balancers.
  15. Configuring routing rules to forward HTTP and HTTPS traffic to the instance group containing the two previously created instances
  16. Generating a key pair and self-signed certificate using a certificate management tool (e.g., java keytool) and importing it into AWS Certificate Manager (ACM)

5. Cloud Monitoring: Introduction and Hands-on Project

  1. Understanding AWS CloudWatch metrics
  2. Reviewing the AWS CloudWatch dashboard for EC2 instances
    1. Analyzing relevant metrics and explaining their variability over time
      1. Reference: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html
  3. Reviewing the AWS CloudWatch dashboard for the ELB
    1. Observing ELB metrics and analyzing their temporal variability
    2. Reference: https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-cloudwatch-metrics.html

6. Advanced Concepts for Continued Learning

  1. Hybrid Cloud architectures combining on-premise and public cloud
  2. Migration strategies: Moving from on-premise to public cloud
    1. Migrating application code
    2. Migrating databases
  3. DevOps practices
    1. Infrastructure as Code
    2. Utilizing AWS CloudFormation Templates
  4. Auto-scaling capabilities
    1. Leveraging AWS CloudWatch metrics for health assessment

Requirements

This course does not require any specific prior qualifications or prerequisites.

Target Audience

Software Engineers and Computer Scientists who have a solid grasp of algorithms and proficiency in at least one programming or scripting language, but who have no prior experience with cloud computing.

Number of participants


Price per participant

Testimonials (1)

Upcoming Courses

Related Categories