Get in Touch

Course Outline

Details on Virtualization

  1. Overview of Operating System Concepts: CPU, Memory, Network, Storage
  2. Hypervisors
    1. The role of a supervisor in managing resources
    2. Distinction between the "Host" machine and "Guest" operating systems
    3. Type-1 and Type-2 Hypervisors
    4. Examples: Citrix XEN, VMware ESX/ESXi, MS Hyper-V, IBM LPAR.
  3. Network Virtualization
    1. Introduction to the 7-Layer OSI Model
    2. Emphasis 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 Analysis
    1. Addressing Mechanisms: IP Addresses and Domain Names
    2. Key Components: Firewalls, Load Balancers, Routers, Adapters
    3. Virtualized Network Environments
    4. Advanced Abstractions: Subnets and Zones.
  6. Practical Exercise:
    1. Become familiar with ESXi clusters and the vSphere client.
    2. Configure networks within an ESXi Cluster, deploy guest systems from VMDK images, and establish connectivity between guests.
    3. Modify a running VM instance and capture a snapshot.
    4. Update firewall rules within ESXi using the vSphere client.

2. Cloud Computing: A Paradigm Shift

  1. A rapid and cost-effective method for making products or solutions available globally
  2. Resource Sharing
    1. Virtualizing the virtualized environment
  3. Primary Advantages:
    1. On-demand Resource Elasticity
      1. Ideate -> Code -> Deploy without the need for physical infrastructure
      2. Accelerated CI/CD pipelines
    2. Environment Isolation and Vertical Autonomy
    3. Security achieved through Layering
    4. Optimization of Expenditures
  4. On-premise Clouds and External Cloud Providers
  5. Cloud as a powerful conceptual abstraction for distributed computing

3. Introduction to Cloud Solution Layers:

  1. IaaS (Infrastructure as a Service)
    1. Providers: AWS, Azure, Google
    2. Select one provider for continued practice. AWS is recommended.
      1. Introduction to AWS VPC, AWS EC2, and related services.
  2. PaaS (Platform as a Service)
    1. Platforms: AWS, Azure, Google, CloudFoundry, Heroku
    2. Introduction to AWS DynamoDB, AWS Kinesis, and similar services.
  3. SaaS (Software as a Service)
    1. Concise overview
    2. Examples: Microsoft Office, Confluence, SalesForce, Slack
  4. Layering Concept: SaaS built on PaaS, which is built on IaaS, which in turn is built 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 exercise
    1. Alternatively, Ubuntu is acceptable, though RHEL/CentOS are preferred
  3. Obtain individual AWS IAM accounts from your cloud administrator
  4. Each student must complete these steps independently
    1. The ability to provision your entire infrastructure on-demand is the best demonstration of cloud computing's power
    2. Use AWS Wizards -- the AWS online consoles -- to accomplish 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) in two different Availability Zones
      1. Refer to https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenarios.html for guidance.
    2. Establish three separate Security Groups
      1. SG-Internet
        1. Permits incoming traffic from the Internet on https 443 and http 80
        2. Disallows all other incoming connections
      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. Disallows all other incoming connections
      3. SG-SSH:
        1. Allows SSH:22 incoming connections only from a specific IP address matching the public IP of the student’s lab machine. If the lab machine is behind a proxy, use the proxy's public IP.
  6. Deploy an instance from an AMI for your chosen OS -- preferably the latest RHEL/CentOS versions available -- and host it on 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. Upload static content of your choice -- HTML pages, images -- to be served by NGINX (on port 80 over HTTP) and define corresponding URLs.
  10. Verify the URL from the same machine.
  11. Create an AMI image from this running instance.
  12. Deploy this new AMI and host the instance on 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 functions correctly.
  14. Create a new “classic” Elastic Load Balancer and attach it to SG-Internet.
    1. Note the distinctions between Application Load Balancers and Network Load Balancers.
  15. Establish a routing rule that forwards all http 80 and https 443 traffic to the target group consisting of the two instances created above.
  16. Using a certificate management tool -- such as java keytool -- 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. Navigate to the AWS CloudWatch dashboard for the instances
    1. Retrieve relevant metrics and explain 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 -- integrating 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 system health

Requirements

No specific prerequisites are required to participate in this course.

Target Audience

Software engineers or computer scientists who possess a solid understanding of algorithms and proficiency in at least one programming or scripting language, but who have not yet gained experience with Cloud Computing.

 21 Hours

Number of participants


Price per participant

Testimonials (1)

Upcoming Courses

Related Categories