Get in Touch
 Duration 21 hours

Course Outline

1. Deep Dive into Virtualization

  1. Overview of Operating System Concepts: CPU, Memory, Network, Storage.
  2. Hypervisors
    1. The concept of a Supervisor of Supervisors.
    2. Distinguishing between the "Host" machine and "guest" operating systems.
    3. Comparing Type-1 and Type-2 Hypervisors.
    4. Examples including Citrix XEN, VMware ESX/ESXi, MS Hyper-V, and IBM LPAR.
  3. Network Virtualization
    1. A brief introduction to the 7-Layer OSI Model.
    2. Specific focus on the Network Layer.
    3. The TCP/IP Model and Internet Protocols.
  4. Analysis of a Single Vertical Stack
    1. Application Layer: SSL.
    2. Network Layer: TCP.
    3. Internet Layer: IPv4/IPv6.
    4. Link Layer: Ethernet.
  5. Packet Structure
    1. Addressing mechanisms: IP Addresses and Domain Names.
    2. Infrastructure components: Firewalls, Load Balancers, Routers, and Adapters.
    3. Virtualized Network environments.
    4. Higher-level abstractions: Subnets and Zones.
  6. Practical Exercise
    1. Becoming familiar with ESXi clusters and the vSphere client.
    2. Creating or updating networks within an ESXi Cluster, deploying guests from VMDK packages, and enabling connectivity between guests.
    3. Modifying a running VM instance and capturing a snapshot.
    4. Updating firewall rules via the vSphere client.

2. Cloud Computing: A Paradigm Shift

  1. Providing a fast, cost-effective pathway to deliver products or solutions globally.
  2. Resource Sharing
    1. Virtualization of virtualized environments.
  3. Key Advantages
    1. On-demand Resource Elasticity
      1. Ideate, > Code, and > Deploy without the need for underlying infrastructure.
      2. Accelerated CI/CD pipelines.
    2. Environment isolation and vertical autonomy.
    3. Enhanced security through layered architectures.
    4. Expense optimization strategies.
  4. On-premise Clouds versus Cloud Service Providers.
  5. Cloud as an effective conceptual abstraction for distributed computing.

3. Introduction to Cloud Solution Layers

  1. IaaS (Infrastructure as a Service)
    1. Providers: AWS, Azure, and Google.
    2. Select one provider for subsequent modules; AWS is recommended.
      1. Introduction to AWS VPC, AWS EC2, and related services.
  2. PaaS (Platform as a Service)
    1. Providers: AWS, Azure, Google, CloudFoundry, and Heroku.
    2. Introduction to AWS DynamoDB, AWS Kinesis, and related services.
  3. SaaS (Software as a Service)
    1. A concise overview.
    2. Examples: Microsoft Office, Confluence, SalesForce, and Slack.
  4. Understanding the hierarchy: SaaS builds upon PaaS, which builds upon IaaS, which in turn 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 exercises
    1. Ubuntu is also acceptable, though RHEL/CentOS is preferred.
  3. Obtain individual AWS IAM accounts from your cloud administrator.
  4. Each participant must complete these steps independently
    1. The ability to provision an entire infrastructure on-demand best illustrates the power of cloud computing.
    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. Configure two Subnets (Subnet-1 and Subnet-2) across two different Availability Zones.
      1. Refer to https://docs.aws.amazon.com/vpc/latest/userguide/ for guidance.
    2. Create three distinct Security Groups
      1. SG-Internet
        1. Permits incoming traffic from the Internet on ports 443 (HTTPS) and 80 (HTTP).
        2. Blocks all other incoming connections.
      2. SG-Service
        1. Permits incoming traffic only from the SG-Internet security group on ports 443 and 80.
        2. Permits ICMP traffic only from SG-Internet.
        3. Blocks all other incoming connections.
      3. SG-SSH
        1. Permits SSH (port 22) incoming connections only from a single IP address matching the public IP of the student's lab machine (or the public IP of the proxy if applicable).
  6. Deploy an instance from an AMI for your chosen OS (preferably the latest RHEL/CentOS version) and place it in Subnet-1. Associate the instance with 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. Upload static content of your choice (HTML pages, images) to be served by NGINX on port 80 over HTTP, and define the corresponding URLs.
  10. Test the URL directly from the instance.
  11. Create an AMI image from this running instance.
  12. Deploy a new instance from that AMI into Subnet-2. Associate it with the SG-Service and SG-SSH groups.
  13. Start the NGINX server and verify that the static content URL created in the previous steps functions correctly.
  14. Create a new "classic" Elastic Load Balancer and associate it with SG-Internet.
    1. Note the distinctions between Application Load Balancers and Network Load Balancers.
  15. Establish routing rules to forward all HTTP (80) and HTTPS (443) traffic to the instance group containing the two deployed instances.
  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 Hands-on Project

  1. AWS CloudWatch metrics
  2. Access the AWS CloudWatch dashboard for the instances
    1. Retrieve relevant metrics and analyze their variability over time.
      1. See 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 variability over time.
    2. See https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-cloudwatch-metrics.html

6. Advanced Concepts for Further Study

  1. Hybrid Cloud architectures combining on-premise and public cloud environments.
  2. Migration Strategies: 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
    1. Utilizing AWS CloudWatch metrics to determine system health.

Requirements

Specific prerequisites are not required to participate in this course.

Target Audience

Software Engineers and Computer Scientists who possess a solid understanding of algorithms and are familiar with at least one programming or scripting language, provided they do not yet have prior experience with cloud computing.

Number of participants


Price per participant

Testimonials (1)

Upcoming Courses

Related Categories