Introduction

In today’s world, the internet has become an integral part of our lives. From shopping to streaming, everything is done online. Therefore, it is important for websites to be optimized for better user experience. This includes faster load times, seamless navigation, and minimal downtime. In order to achieve this, network bandwidth optimization is crucial. In this blog, we’ll discuss how AWS GameDay at Expedia helped teams optimize the network bandwidth for the fictitious Unicorn Rentals website.

AWS GameDay at Expedia

AWS GameDay is a hands-on learning experience that enables teams to understand and solve real-world problems using AWS services. It is a day-long event where teams compete against each other to solve complex challenges. AWS GameDay at Expedia was one such event where teams had to optimize the network bandwidth for the Unicorn Rentals website. The event was not restricted to connectivity or DevOps teams but was open to all, which means anyone interested in learning more about the AWS services or getting hands-on could register for the event.

There were 15 teams in total with members from 3–5. The event was very knowledgeable, engaging, and mind-exhausting. The chaos of the problems thrown at participants was real-time simulating, which was really very beneficial to understand the cost, scalability, and network issues actually happening in the real world.

The event was a great learning experience for all the participants. They learned how to use AWS services to solve real-world problems and optimize the network bandwidth for a website. They also learned to work in a team and collaborate effectively to achieve a common goal.

The final Score board. The Avengers team won with the highest score of 17,517.11 points.

Problem Statement

Teams were supposed to be a part of the Unicorn Rentals website’s DevOps team and had to meet the SLAs and optimize the network bandwidth for Unicorn Rentals. The winning team was the one that achieved the best balance between performance, cost, and scalability.

Unicorn Rentals builds the hash based on a proprietary, computationally expensive hashing algorithm. The website has a client application and a standalone server. The server is currently deployed as a single, standalone ‘go’ binary. There is no session state to track or external calls to make, so the server architecture responds well to simple horizontal scaling. As there is expected to be a constrained set of client keys, the system should respond well to caching techniques.

The teams were provided with a pre-configured AWS account and AWS services to work with, including Amazon EC2 instances, Amazon S3 buckets, Amazon CloudFront distributions, Amazon Route 53 hosted zones, and AWS CloudFormation templates. They were also given access to a set of tools to help them monitor their infrastructure and troubleshoot issues, including AWS CloudWatch and AWS X-Ray.

Every team had a dashboard that had their latest score and rank.

During the competition, teams had to pay attention to the score page, which listed every scoring event that their team generated. The “Source” column told them where the point awards or deductions came from, while the “Points” column indicated how many points they got or lost. The “Reason” column explained the reason for the points gained or lost. It was essential to pay close attention to this column, especially when losing points, to understand what was going on and how to fix the problems.

The score page listing the points, source and reason for gaining or losing points by a team

The problem statement was to optimize the network bandwidth for Unicorn Rentals, while ensuring that the system meets the published SLAs for response time and uptime.

The teams were required to deploy and configure the necessary AWS services to achieve this objective.

Challenges Faced by Teams

Once the participants had a clear understanding of their respective roles and responsibilities, they got down to business. They started by analyzing the existing architecture of the Unicorn Rentals website and identified the key areas where improvements could be made to optimize network bandwidth.

One of the primary challenges the teams had to face was how to optimize network bandwidth for the Unicorn Rentals website while ensuring that the system meets the published SLAs for response time and uptime. This was a complex problem that required a combination of skills and knowledge of AWS services, web development, and system administration.

The teams had to deploy and configure the necessary AWS services to achieve this objective. They used Amazon EC2 to launch and manage virtual machines, Amazon S3 to store and retrieve data, Amazon CloudFront to deliver content to users, Amazon Route 53 to manage DNS and domain names, Amazon CloudWatch to monitor resources and applications, and AWS Lambda to run serverless code.

During the competition, teams faced several challenges that they had to overcome in order to optimize the network bandwidth for Unicorn Rentals. The teams had to consider the best practices and design the infrastructure to meet the required SLAs.

Some of the other challenges were:

Auto Scaling EC2 Instances

One of the challenges that teams faced was to auto-scale EC2 instances. Auto Scaling is a service that enables teams to scale EC2 instances automatically based on demand. This helps to maintain application availability and reduce the cost of running applications.

Teams had to configure auto-scaling groups in such a way that new instances are launched automatically when demand increases and terminated when demand decreases. This ensured that the website was always available and the cost of running the website was optimized.

Load Balancing

Another challenge that teams faced was how to attach the Auto Scaling group to the load balancer. Load balancing is a technique that distributes incoming network traffic across multiple servers. This ensures that no single server is overwhelmed with traffic and provides high availability and reliability.

The teams had to decide which load balancer to use, what port to use, and what security group rules to apply. Teams also had to configure the load balancer in such a way that it can route traffic to multiple EC2 instances that are launched by the auto-scaling group, making sure that the load balancer was always up and running.

Public End Points

The teams had to ensure that the Load Balancer had a public endpoint. A public endpoint is an IP address or URL that can be accessed from the internet. This was essential to ensure that users could access the Unicorn Rentals website from anywhere in the world.

Timeout was achieved if the public endpoint was incorrect

Degrading Performance

To optimize network bandwidth, the teams also had to use caching techniques to reduce the number of requests to the server. They used Amazon CloudFront to cache frequently accessed content, reducing the number of requests to the server and improving performance.

Infrastructure Costs could cost a lot of points to your team

Automate Deployment

Another challenge the teams had to overcome was how to use AWS CloudFormation to automate the deployment and configuration of their infrastructure. AWS CloudFormation is a service that allows you to create and manage AWS resources using code. It helps to automate the deployment and management of your infrastructure, making it easier to maintain and update.

The teams had to write code using AWS CloudFormation to automate the deployment of their infrastructure. This included defining the EC2 instances, load balancer, and other resources needed to optimize network bandwidth.

Insights and Takeaways

In addition to the technical challenges, the teams also had to work together effectively to achieve their goals. This required effective communication, collaboration, and teamwork. The teams had to learn how to delegate tasks, share responsibilities, and work together towards a common goal.

To optimize network bandwidth, the teams used a variety of AWS services. They used Amazon S3 to store and serve static content, such as images, videos, and audio files. They used Amazon CloudFront to deliver this content to users around the world using Amazon’s global network of edge locations. This reduced the latency for users and improved the overall performance of the website.

They also used Amazon Route 53 to route traffic to their load balancer and Amazon CloudWatch to monitor their infrastructure and detect any issues. They used AWS Lambda to run scripts and automate tasks, such as clearing the cache or updating DNS records.

The teams used AWS CloudFormation to automate the deployment and configuration of their infrastructure. They created templates that defined their AWS resources and used them to deploy their infrastructure with a single command. This made it easy to replicate their infrastructure in different regions or environments and ensured that their infrastructure was consistent and reliable.

As the competition progressed, the teams faced a variety of challenges and obstacles that tested their skills and knowledge of AWS services. The hosts of the event provided guidance and support, helping the teams to overcome these challenges and complete the tasks. The teams were scored based on their ability to meet the SLAs and optimize the network bandwidth for Unicorn Rentals. The winning team was the one that achieved the best balance between performance, cost, and scalability.

At the end of the event, each participant received a certificate of participation, and the winning team won goodies. There were also two Kahoot quizzes, one at the start and one at the end, with multiple-choice questions related to AWS and its services. It was a fun and exciting way to test our knowledge of AWS and compete with other teams.

Certificate of participation received during AWS GameDay

Conclusion

The AWS GameDay event was not just about learning and fun, it was also an opportunity to network with other professionals in the field of technology. The event was open to everyone, regardless of their level of experience with AWS services.

The hosts explained the problem statement in an entertaining way, and the participants had a great time learning and collaborating with their team members. The event was a great learning experience for all the participants. They learned how to use AWS services to solve real-world problems and optimize the network bandwidth for a website. They also learned to work in a team and collaborate effectively to achieve a common goal.

In conclusion, fostering a culture of continuous learning and growth is essential for any organization, and events like AWS GameDay provide a unique opportunity to achieve this. Not only do they equip teams with practical skills and knowledge, but they also foster collaboration and team bonding. Such initiatives serve to break the monotony of day-to-day tasks and encourage employees to take a proactive approach towards problem-solving, ultimately contributing to the success of the organization.

Thank you for reading! However,

Before You Go…

--

--

Divya Gupta Arora

Exploring the intersection of technology and other aspects of life. Delving into the latest tech trends, tips and innovations for a seamless, connected journey.