Get in Touch

Course Outline

Virtualization Details

  1. Overview of Operating System Concepts: CPU, Memory, Network, and Storage
  2. Hypervisor
    1. The concept of a Supervisor of Supervisors
    2. The "Host" machine versus the "Guest" operating system
    3. Differences between Type-1 and Type-2 Hypervisors
    4. Examples include Citrix XEN, VMware ESX/ESXi, MS Hyper-V, and IBM LPAR.
  3. Network Virtualization
    1. Brief introduction to the 7-Layer OSI Model
    2. Specific focus on the Network layer
    3. The TCP/IP Model, also known as the Internet Protocol
  4. In-depth focus on specific vertical layers
    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. Network devices: Firewalls, Load Balancers, Routers, and Adapters
    3. Concepts of Virtualized Networks
    4. Higher-order abstractions such as Subnets and Zones.
  6. Practical Exercise:
    1. Get familiar with ESXi clusters and the vSphere client.
    2. Create or 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 of its state.
    4. Update firewall rules in ESXi using the vSphere client.

2. Cloud Computing: A paradigm shift

  1. A fast, cost-effective pathway to make products or solutions globally available
  2. Resource Sharing
    1. Virtualization within a virtualized environment
  3. Key benefits:
    1. On-demand resource elasticity
      1. Ability to Ideate, Code, and Deploy without managing underlying infrastructure
      2. Rapid CI/CD pipelines
    2. Environment isolation and vertical autonomy
    3. Enhanced security through layering
    4. Expense optimization
  4. On-premise Cloud solutions versus Cloud Providers
  5. Understanding Cloud as an effective conceptual abstraction for distributed computing

3. Introduction to Cloud Solution Layers:

  1. IaaS (Infrastructure as a Service)
    1. Platforms include AWS, Azure, and Google
    2. Select one provider to continue with. AWS is recommended.
      1. Introduction to AWS VPC, AWS EC2, and other services.
  2. PaaS (Platform as a Service)
    1. Platforms include AWS, Azure, Google, CloudFoundry, and Heroku
    2. Introduction to services like AWS DynamoDB and AWS Kinesis.
  3. SaaS (Software as a Service)
    1. Brief overview of the category
    2. Examples include Microsoft Office, Confluence, SalesForce, and Slack
  4. Understanding the dependency: SaaS builds on PaaS, which builds on IaaS, which ultimately relies on Virtualization

4. IaaS Cloud Hands-on Project

  1. This project utilizes AWS as the IaaS Cloud Provider
  2. Use CentOS or RHEL as the operating system for the remainder of the exercise
    1. Ubuntu is also acceptable, but RHEL/CentOS is preferred
  3. Obtain individual AWS IAM accounts from your cloud administrator
  4. Each participant must complete the following steps independently
    1. The ability to provision entire infrastructure on-demand is the strongest demonstration of cloud computing's power
    2. Utilize AWS Wizards and online consoles to accomplish these tasks unless specified otherwise
  5. Create a public VPC in the us-east-1 Region
    1. Set up two Subnets (Subnet-1 and Subnet-2) in separate 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. Allows incoming internet traffic 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 group on ports 443 and 80
        2. Allows ICMP traffic only from SG-Internet
        3. Blocks all other incoming connections
      3. SG-SSH:
        1. Permits SSH on port 22 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 selected OS (preferably the latest RHEL/CentOS versions available) and place it in Subnet-1. Assign it 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 the corresponding URLs.
  10. Test the URL directly from the same machine.
  11. Create a new AMI image from this running instance.
  12. Deploy the new AMI in Subnet-2. Assign the new instance to the SG-Service and SG-SSH groups.
  13. Start the NGINX server and verify that the static content URLs created in the previous step are accessible.
  14. Create a new "classic" Elastic Load Balancer and attach it to SG-Internet.
    1. Understand the differences between this and Application Load Balancers or Network Load Balancers.
  15. Configure routing rules to forward all HTTP (80) and HTTPS (443) traffic to the target group containing the two instances created above.
  16. Use a certificate management tool (such as java keytool) to generate 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. Overview of AWS CloudWatch metrics
  2. Access the AWS CloudWatch dashboard for the instances
    1. Retrieve relevant metrics and analyze their variability over time
      1. Reference: 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 changes over time
    2. Reference: https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-cloudwatch-metrics.html

6. Advanced Concepts for Further Learning

  1. Hybrid Cloud models -- combining on-premise and public cloud environments
  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. Using AWS Cloud Formation Templates
  4. Auto-scaling mechanisms
    1. Utilizing AWS CloudWatch metrics to determine system health

Requirements

This course does not require any specific prior 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 are new to cloud computing concepts.

 21 Hours

Number of participants


Price per participant

Testimonials (1)

Upcoming Courses

Related Categories