Get in Touch
 Duration 21 hours (3 days)

Course Outline

Virtualization Details

  1. Overview of Operating System Concepts: CPU, Memory, Network, Storage
  2. Hypervisors
    1. The concept of a 'Supervisor of Supervisors'
    2. Understanding 'Host' machines and 'Guest' operating systems
    3. Differences between Type-1 and Type-2 Hypervisors
    4. Key technologies: Citrix XEN, VMware ESX/ESXi, MS Hyper-V, and IBM LPAR.
  3. Network Virtualization
    1. Brief introduction to the 7-Layer OSI Model
    2. Focusing on the Network layer
    3. The TCP/IP Model or 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: IP Addresses and Domain Names
    2. Key components: Firewalls, Load Balancers, Routers, and Adapters
    3. Virtualized Networks
    4. Higher-level abstractions: Subnets and Zones.
  6. Practical Exercise:
    1. Become familiar with an ESXi cluster 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. Make modifications to 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 fast, cost-effective way to make products or solutions available globally
  2. Resource Sharing
    1. Virtualization of a virtualized environment
  3. Key Benefits:
    1. On-demand resource elasticity
      1. Ideate, Code, and Deploy without needing to manage infrastructure
      2. Rapid CI/CD pipelines
    2. Environment isolation and vertical autonomy
    3. Security through layering
    4. Expense optimisation
  4. On-premise Cloud vs Cloud Providers
  5. Cloud as a conceptual abstraction for distributed computing

3. Introduction to Cloud Solution Layers:

  1. IaaS (Infrastructure as a Service)
    1. Providers: AWS, Azure, Google
    2. Choose 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. Providers: AWS, Azure, Google, CloudFoundry, Heroku
    2. Introduction to AWS DynamoDB, AWS Kinesis, and other services.
  3. SaaS (Software as a Service)
    1. A brief overview
    2. Examples: Microsoft Office, Confluence, SalesForce, Slack
  4. Understanding the hierarchy: SaaS builds on PaaS, which builds on IaaS, which builds on Virtualization

4. IaaS Cloud Hands-on Project

  1. The project uses AWS as the IaaS Cloud Provider
  2. Use CentOS/RHEL as the operating system for the remainder of the exercise
    1. Alternatively, Ubuntu can be used, but 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 build your entire infrastructure on-demand is the best demonstration of cloud computing's power
    2. Use AWS Wizards and online consoles to accomplish these tasks unless otherwise mentioned
  5. Create a public VPC in the us-east-1 Region
    1. Two Subnets (Subnet-1 and Subnet-2) in two different Availability Zones
      1. Refer to https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenarios.html for guidance.
    2. Create three separate Security Groups
      1. SG-Internet
        1. Allows incoming traffic from the Internet on HTTPS 443 and HTTP 80
        2. No other incoming connections are allowed
      2. SG-Service
        1. Allows incoming traffic only from security group SG-Internet on HTTPS 443 and HTTP 80
        2. Allows ICMP only from SG-Internet
        3. No other incoming connections are allowed
      3. SG-SSH:
        1. Allows SSH (port 22) incoming connections only from a single IP matching the public IP of the participant’s lab machine. If the lab machine is behind a proxy, use the proxy’s public IP.
  6. Deploy an instance using an AMI for your chosen OS (preferably the latest RHEL/CentOS version available) and host it on Subnet-1. Attach the instance to the SG-Service and SG-SSH groups.
  7. Access the instance using SSH from your lab machine.
  8. Install the NGINX server on this instance
  9. Place static content of your choice (such as HTML pages or images) to be served by NGINX (on port 80 via HTTP) and define URLs for them.
  10. Test the URL from that machine itself.
  11. Create an AMI image from this running instance.
  12. Deploy that new AMI and host the instance on Subnet-2. Attach the instance to the SG-Service and SG-SSH groups.
  13. Run the NGINX server and verify that the access URL for the static content created in the previous step works.
  14. Create a new “classic” Elastic Load Balancer and attach it to SG-Internet.
    1. Note the difference between an Application Load Balancer and a Network Load Balancer.
  15. Create routing rules forwarding all HTTP 80 and HTTPS 443 traffic to an instance group comprising the two instances created above.
  16. Using a certificate management tool (e.g., java keytool), create a key-pair and self-signed certificate, and import the certificate to AWS Certificate Manager (ACM)

5. Cloud Monitoring: Introduction and Hands-on Project

  1. AWS CloudWatch metrics
  2. Visit the AWS CloudWatch dashboard for the instances
    1. Retrieve the relevant metrics and explain their variability over time
      1. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html
  3. Visit the AWS CloudWatch dashboard for the ELB
    1. Observe the ELB metrics and explain their variability over time
    2. https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-cloudwatch-metrics.html

6. Advanced Concepts for Further Learning

  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 determine health

Requirements

This course is open to all; no specific prior requirements are necessary to participate.

Target Audience

This course is designed for Software Engineers and Computer Scientists who have a solid grasp of algorithms and are familiar with at least one programming or scripting language, but who have not yet gained experience in Cloud Computing.

Number of participants


Price per participant

Testimonials (1)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories