Get in Touch
 Duration 21 hours

Course Outline

Details on Virtualization

  1. Overview of Operating System Concepts: CPU, Memory, Network, and Storage
  2. Hypervisors
    1. The role of the hypervisor as a supervisor
    2. Differences between "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. Introduction to the 7-Layer OSI Model
    2. Specific focus on the Network Layer
    3. The TCP/IP Model and Internet Protocol
  4. In-depth Look at 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. Network components: Firewalls, Load Balancers, Routers, and Adapters
    3. The concept of a Virtualized Network
    4. Higher-level abstractions: Subnets and Zones.
  6. Practical Exercise:
    1. Getting acquainted with ESXi clusters and the vSphere client.
    2. Creating or updating networks within an ESXi Cluster, deploying guests from VMDK packages, and establishing connectivity between guests in the cluster.
    3. Modifying a running VM instance and capturing a snapshot.
    4. Updating firewall rules on ESXi using the vSphere client.

2. Cloud Computing: A Paradigm Shift

  1. A rapid and cost-effective pathway to releasing products and solutions globally
  2. Resource Sharing
    1. Virtualization of virtualized environments
  3. Key Advantages:
    1. On-demand resource elasticity
      1. Enable a flow from Ideation -> Coding -> Deployment without the need for permanent infrastructure
      2. Accelerated CI/CD pipelines
    2. Isolation of environments and vertical autonomy
    3. Enhanced security through layering
    4. Optimization of expenses
  4. On-premise Clouds and Public Cloud Providers
  5. Understanding the cloud as a conceptual abstraction for distributed computing

3. Introduction to Cloud Service Models:

  1. IaaS (Infrastructure as a Service)
    1. Major providers: AWS, Azure, and Google
    2. Selecting a provider for practical work. AWS is the recommended choice.
      1. Introduction to core services like AWS VPC and AWS EC2.
  2. PaaS (Platform as a Service)
    1. Platforms: AWS, Azure, Google, CloudFoundry, and Heroku
    2. Overview of services such as AWS DynamoDB and AWS Kinesis.
  3. SaaS (Software as a Service)
    1. A brief overview of the model
    2. Examples: Microsoft Office, Confluence, SalesForce, and Slack
  4. The hierarchical relationship: SaaS relies on PaaS, which relies on IaaS, which is built upon Virtualization

4. Hands-on IaaS Cloud Project

  1. This project utilizes AWS as the primary IaaS provider
  2. Using CentOS/RHEL as the operating system for the remainder of the exercises
    1. Alternatively, Ubuntu can be used, though RHEL/CentOS are preferred
  3. Obtaining individual AWS IAM accounts from the cloud administrator
  4. Each learner must complete these steps independently
    1. Building one's own infrastructure on-demand is the strongest demonstration of cloud computing capabilities
    2. Utilize AWS Wizards and online consoles to perform these tasks unless instructed otherwise
  5. Creating a public VPC in the us-east-1 Region
    1. Setting 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. Establishing three distinct Security Groups
      1. SG-Internet
        1. Permits incoming traffic from the Internet only on https 443 and http 80
        2. No other inbound connections are authorized
      2. SG-Service
        1. Permits incoming traffic solely from the SG-Internet security group on https 443 and http 80
        2. Allows ICMP traffic only from SG-Internet
        3. All other inbound connections are blocked
      3. SG-SSH
        1. Permits SSH (port 22) connections only from a specific public IP address matching the learner's lab machine. If the lab machine is behind a proxy, use the proxy's public IP.
  6. Deploying an AMI instance for the selected OS—preferably the latest RHEL/CentOS versions available—and hosting it in Subnet-1. Attach this instance to both the SG-Service and SG-SSH groups.
  7. Connecting to the instance via SSH from the lab machine.
  8. Installing the NGINX server on the instance
  9. Placing static content of your choice (such as HTML pages or images) to be served by NGINX on port 80 over HTTP, and defining the corresponding URLs.
  10. Testing the URL directly from the instance.
  11. Creating a custom AMI image from this running instance.
  12. Deploying the newly created AMI and hosting the instance in Subnet-2. Attach this instance to the SG-Service and SG-SSH groups as well.
  13. Running the NGINX server and verifying that the access URL for the static content created in the previous step functions correctly.
  14. Creating a new "classic" Elastic Load Balancer and associating it with the SG-Internet group.
    1. Understanding the distinctions between Application Load Balancers and Network Load Balancers.
  15. Configuring routing rules to forward all http 80 and https 443 traffic to a target group containing the two instances created earlier.
  16. Generating a key-pair and self-signed certificate using a tool like java keytool, and importing this certificate into the AWS Certificate Manager (ACM).

5. Cloud Monitoring: Introduction and Practical Project

  1. Understanding AWS CloudWatch metrics
  2. Accessing the AWS CloudWatch dashboard for the instances
    1. Gathering relevant metrics and analyzing their fluctuations over time
      1. Reference: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html
  3. Accessing the AWS CloudWatch dashboard for the ELB
    1. Observing ELB metrics and explaining their behavior over time
    2. Reference: https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-cloudwatch-metrics.html

6. Advanced Concepts for Continued Learning

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

Requirements

There are no specific prerequisites required for this course.

Target Audience

Software Engineers or Computer Scientists who possess a solid understanding of algorithms and familiarity with at least one programming or scripting language, but have no prior experience with Cloud Computing.

Number of participants


Price per participant

Testimonials (1)

Upcoming Courses

Related Categories