
Vikram Joshi shares three decades of performance testing experience to teach performance testing on cloud using AWS and JMeter.
Learn to perform performance testing on AWS using JMeter, from a cloud-first perspective. Understand course objectives and background, including AWS free tier use and Cloud Practitioner certification guidance.
Explore cloud fundamentals and AWS basics, including EC2, VPC, EBS, and scaling, then configure performance testing environments with JMeter across single, multiple, and distributed setups, mindful of the free tier.
Explore the evolution of IT infrastructure from centralized mainframes to decentralized minicomputers, then client-server architectures, leading to data centers and the shift toward cloud computing.
Explore the components of a mature on-premise data center, including servers, load balancers, storage, networking, and cooling, costs, and the shift toward cloud outsourcing with AWS.
Explore the limitations of on premise performance testing, including small, isolated environments and rigid configurations. Identify availability bottlenecks and the move toward cloud-based testing for realism.
Learn the basics of cloud computing, including on-demand IT resources and pay-as-you-go pricing, and how AWS provides computing, storage, and database services.
Explore the benefits of cloud computing with AWS, including agility, elasticity, and global deployment, and learn how to simulate user load with a load generator for performance testing.
Explore the three cloud models—IaaS, PaaS, and SaaS—showing how AWS provides varying levels of control, from raw infrastructure to fully managed software like Gmail and Salesforce.
Explore AWS regions as geographic areas with data centers, each region containing at least three availability zones; view global regions and upcoming expansions like Mumbai.
Learn how regions and availability zones connect data centers with low latency, high throughput, and redundant networking, with AWS backbone linking zones up to 60 miles apart.
Discover how a virtual private cloud in AWS provides a logically isolated network with security at the VPC level, and how EC2 uses private and public IP addresses.
Understand EC2 as elastic compute cloud, on demand virtual server providing CPU, RAM and storage. Explore four instance types—general purpose, compute optimized, memory optimized, and storage optimized—and their use cases.
Explore how EC2 instance types are categorized by family and size, from general purpose to storage optimized, with examples like t2/t3 micro, vcpu, RAM, and region availability.
Use Amazon machine image templates to launch EC2 instances with identical OS and software, leverage EBS for persistent data, and configure security groups with inbound and outbound rules.
Demonstrate scalability in performance testing by comparing system one and system two for response time and utilization, and explain vertical and horizontal scaling on AWS with software, code, and hardware.
Explore a three tier architecture with presentation, business, and data layers, where the application server may bottleneck; use vertical scaling or horizontal scaling to improve capacity.
Learn vertical scaling on AWS by upgrading from a t3 micro to a larger instance or downscaling to a smaller one, noting the stop and restart downtime and cost implications.
Learn horizontal scaling by scaling out from one t3.small application server to four servers to increase capacity, then scale in back to one, and identify how the changes are managed.
Elastic load balancer distributes traffic across EC2 instances to prevent bottlenecks and improve availability. AWS provides a managed service with upgrades and offers Application, Network, and Gateway Load Balancers.
Understand how an ASG (Auto Scaling Group) works with ELB to automatically add or remove EC2 instances based on load, with min, desired, and max capacity.
Perform performance testing on AWS using JMeter by connecting to EC2 instances with RDP to upload files, unzip, and install software, and create EBS snapshots for backup and disaster recovery.
Guides students through creating an AWS account, including email verification, root password setup, five-step verification, entering personal and payment details, and activating the free tier.
Create a zero spend budget in AWS by signing in, opening billing and cost management, and receiving a notification when spending exceeds 0.01 above the free tier.
Manage aws free tier usage by setting a zero spend budget, enabling email alerts, terminating ec2 instances before log out, and performing housekeeping to avoid charges during hands-on sessions.
launch an ec2 instance in the nearest region, connect via rdp using a key pair to retrieve the password, and terminate to avoid free-tier billing.
Launch and connect to an Amazon EC2 Windows instance using a generated key pair, an RDP client, and retrieve the administrator password after initialization.
Perform a hands-on EC2 session, connect via RDP, view IP details, then terminate the instance and clean up keys, security groups, and volumes.
Explore three AWS setups for performance testing with JMeter: a single EC2 client, a two-node client-server with connectivity, and a four-node distributed master-slave configuration, using the free tier for practice.
Replicate a web tours load test on a single EC2 Windows instance by installing JMeter, JDK 1.9, and Strawberry Perl, deploying scripts, and running the book flight script.
Launch and connect to a Windows EC2 instance on AWS using a new key pair and security group, then decrypt the password from the PEM to establish an RDP session.
Launch an EC2 RDP session, share the local C drive, and set up Web Tours and JMeter by copying installables or downloading JDK and JMeter from official sites.
Set up AWS EC2 with JDK 1.9, Apache JMeter 5.6.3, and Strawberry Perl; unzip to documents and prepare to upload and execute the web tours script in the next session.
Upload and run a modified JMeter script on the same AWS EC2 instance, disable CSV data set config, and hardcode login credentials for web tours testing.
Configure two EC2 machines, one server with web tours and Strawberry Perl, and one client with Java 1.9 and JMeter; install tools, run scripts, and verify results.
Launch two Windows EC2 instances in AWS, set up an RDP-enabled security group, and use key pairs to decrypt passwords for remote desktop access in a hands-on setup.
Configure a client and server with Java and Apache JMeter, install JDK 1.9, extract JMeter 5.6.3, verify installations, launch JMeter, start server, and test web tours via localhost:1080.
Explain connectivity theory for running a JMeter script from two separate EC2 machines, a client and a server hosting web tours, and update the script to use the server IP.
Establish connectivity between two EC2 machines, access web tours by using the server IP, adjust port 1080 rules, disable firewall, and run the Jmeter script.
Perform a hands-on update of a JMeter script for performance testing on AWS using JMeter on two EC2 machines, replacing localhost with a server_IP variable and parameterizing the script.
Update and run a JMeter script on a separate client EC2, validate ip parameters, and verify a flight booking from San Francisco to Sydney, demonstrating distributed testing across two machines.
Explore distributed load testing theory with JMeter on AWS. Compare single-machine runs to two-machine setups (EC2 and JMeter on hosts) to boost threads, users, and load while considering memory footprint.
Set up a distributed load testing environment on AWS by provisioning nodes, installing Java and JMeter on node one, and using an AMI to launch node two and the controller.
Set up two aws ec2 instances, install jmeter and web tools, verify localhost:1080. Create an ami from node one and launch node two and a controller for distributed load testing.
Install and verify Java and JMeter on the controller and node two, establish RDP connectivity across four machines, and prepare for hands-on distributed load testing.
Enable inbound tcp traffic on port 1080 on the server, disable the firewall, and verify node one and node two can access the web tours application, preparing controller connectivity.
Connect the controller to node one and node two via telnet after applying an incoming TCP rule, disabling firewall and RMI, and starting the JMeter server for distributed load testing.
Complete the distributed testing setup by updating JMeter properties with both node IPs, uploading the server IP in the script, and remotely starting JMeter from the controller to validate bookings.
Demonstrates distributed load testing with JMeter on AWS by configuring two nodes and a controller, updating the script with two IP addresses, and validating remote starts and iterations.
Manage housekeeping after distributed load testing on AWS by terminating EC2 instances, deleting volumes, security groups, and key pairs, deregistering AMIs, deleting snapshots, and verifying free tier status.
1 Introduction to Cloud Computing
Evolution of IT Infra
Traditional Data Center - Infrastructure view
What is Cloud Computing?
Benefits of Cloud Computing
Types of cloud computing – IaaS,PaaS,SaaS
Terminology
-Region
-Availability Zones - Azs
-Regions vs Azs
-VPC,IP addressing
-Introduction to EC2
-AMI, EBS (Elastic Block Store) ,Security group
-Scalability
-Vertical and horizontal Scaling
-Vertical scaling – up/down
-Horizontal scaling – in/out
-Elastic Load Balancing (ELB)
-ASG(Auto Scaling Group)
-RDP, Snapshot
-Free Tier
Conclusion
2 Creating your AWS account
Steps involved in Creating AWS account
Walkthrough of AWS Console
Creating Zero spend budget
3 DO's and DON'ts with Free Tier
4 Practice Session - Creating Single EC2 instance
Creating EC2 instance – step by step process
Creating EC2 instance - Hands on Session
Terminating EC2 and Housekeeping Activities
5 Creating Performance Test Environment (PTE) on AWS
Three configurations of Performance Test Environments - Description
WebTours and Jmeter on same machine
Web Tours and Jmeter on separate machines
Distributed Testing = Controller-Node (Master slave) architecture
6 Performance Test Environment - configuration - 1 - WebTours and Jmeter on same machine
Steps involved in creating PTE
Launch EC2
Copy installable on EC2
Install Web Tours, Java9 and Jmeter on EC2
Execute a script and validate results
7 Performance Test Environment - configuration - 2 – Web Tours and Jmeter on separate machines
Steps involved in creating PTE
Launch 2# EC2s
Copy installable on EC2s
Install Web Tours, Java9 and Jmeter on EC2
Execute a script and validate results
8 Performance Test Environment - configuration - 3 - Distributed Testing (Controller-Node (Master slave) architecture)
Steps involved in creating Distributed Testing PTE
Launch 2# EC2s
Copy installable on EC2s
Create 2 more EC2s using AMI
Install Web Tours, Java9 and Jmeter on EC2
Set up Jmeter controller and nodes
Execute a script and validate results
9 Conclusion