Get in Touch
 Duration 21 hours

Course Outline

Virtualization Details

  1. Overview of Operating System Concepts: CPU, Memory, Network, and Storage
  2. Hypervisors
    1. The role of the supervisor
    2. "Host" machines and "guest" operating systems
    3. Type-1 vs. Type-2 Hypervisors
    4. Examples: Citrix XEN, VMware ESX/ESXi, MS Hyper-V, and IBM LPAR.
  3. Network Virtualization
    1. Brief introduction to the 7-Layer OSI Model
    2. Focus on the Network Layer
    3. The TCP/IP Model (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. Components: Firewalls, Load Balancers, Routers, and Adapters
    3. Virtualized Networks
    4. Higher-level abstractions: Subnets and Zones.
  6. Hands-on Exercise:
    1. Become familiar with the ESXi cluster and the vSphere client.
    2. Create or update networks within the ESXi Cluster, deploy guests from VMDK packages, and enable interconnectivity between guests in the cluster.
    3. Modify 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 path to delivering products and solutions globally
  2. Resource Sharing
    1. Virtualization within virtualized environments
  3. Key Benefits:
    1. On-demand resource elasticity
      1. Ideate, Code, and Deploy without the need for traditional infrastructure
      2. Rapid CI/CD pipelines
    2. Environment isolation and vertical autonomy
    3. Security achieved through layering
    4. Expense optimization
  4. On-premise Clouds vs. Cloud 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, Google
    2. Select one provider to focus on for subsequent lessons. 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, Heroku
    2. Introduction to AWS DynamoDB, AWS Kinesis, and similar tools.
  3. SaaS (Software as a Service)
    1. Brief overview
    2. Examples: Microsoft Office, Confluence, SalesForce, Slack
  4. The Layered Relationship: SaaS builds on PaaS, which builds on IaaS, which ultimately rests 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 remaining exercises
    1. Ubuntu is an acceptable alternative, though 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 provision an entire infrastructure on demand is the definitive demonstration of cloud computing's power.
    2. Utilize AWS Wizards and 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/vpc/latest/userguide/ for guidance.
    2. Create three distinct Security Groups
      1. SG-Internet
        1. Permits incoming internet traffic on HTTPS 443 and HTTP 80
        2. Blocks 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 traffic only from SG-Internet
        3. Blocks all other incoming connections
      3. SG-SSH:
        1. Permits SSH (port 22) connections only from the specific public IP address of the participant’s lab machine. If behind a proxy, use the proxy's public IP.
  6. Deploy an AMI instance for your chosen OS (preferably the latest RHEL/CentOS version available) and place it in 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. Place static content (HTML pages, images) to be served by NGINX (over HTTP on port 80) and define the corresponding URLs.
  10. Test the URL from the instance itself.
  11. Create an AMI image from this running instance.
  12. Deploy the new AMI and place the instance in Subnet-2. Attach this instance to the SG-Service and SG-SSH groups as well.
  13. Run the NGINX server and verify that the access URL for the static content created in the previous step works correctly.
  14. Create a new "classic" Elastic Load Balancer and attach it to the SG-Internet.
    1. Note the distinctions between the Application Load Balancer and the Network Load Balancer.
  15. Create a routing rule that forwards all HTTP 80 and HTTPS 443 traffic to an instance group containing the two instances created earlier.
  16. Use a certificate management tool (such as Java keytool) to generate a key-pair and a self-signed certificate, then import this 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 your instances
    1. Retrieve relevant metrics and analyze their variability over time
      1. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html
  3. Navigate to 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 environments
  2. Migration: From on-premise to public cloud
    1. Application code migration
    2. Database migration
  3. DevOps Practices
    1. Infrastructure as Code
    2. AWS CloudFormation Templates
  4. Auto-scaling
    1. Using AWS CloudWatch metrics to determine system health

Requirements

No specific prior requirements are necessary to participate in this course.

Target Audience

Software Engineers and Computer Scientists who possess a solid understanding 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