DEV Community

Pradip Bhattarai
Pradip Bhattarai

Posted on

How AWS Helped Me Scale My Application

As a developer, I had completed several projects creating web applications from scratch. Building the web app for small-medium traffic clients, I had no issue with deploying and scaling the server resources. But as I got the project for a news portal, I realized that scaling the application to handle the traffic at a peak hour would be a challenge. Now, I had to figure out the solution to scale the app without compromising any performance.

Problem

Having to handle the traffic at a peak hour, I was having trouble with the slow performance of the application at the time. The client asked for the solution to solve the problem to slow performance. I realized that I need to find the solution to scale the application in any circumstances.

Initial Solution:

I began by researching on scaling methods and tried increasing the server resources. This initially solved the problem, but I realized that this was not a long-term solution as it was efficient both financially and logically. As this was not the long-term solution, I researched if I could propose long-term solution to the client.

After doing some research on cloud technologies, I decided to use AWS as I had heard a lot of good things about the platform. Choosing the cloud platform was tough decision as I had to look after the cost-effectiveness, useability, and other factors. As having some experience working with AWS, I decided to research on its ability to scale applications quickly and efficiently. Making the EC2 instance ready, I migrated the web application to AWS and started experimenting the best solution for scaling the application using a combination of AWS services.

Challenges I faced with AWS

I encountered difficulties while implementing AWS as I had to learn on using the AWS services. As AWS is a complex platform and have multiple services to overcome and solve the single problem in multiple way, I have to understand how I could use the services to unlock full potential. Luckily, having numerous documentations and blog posts, and support forums, I was able to overcome these obstacles implement a solution for the client.

Implementing AWS

To implement the solution, I distributed the traffic across multiple instances using Elastic Load Balancing. This helped me with the ability to handle large number of requests with any downtime. I also used Amazon EC2 Auto Scaling to automatically scale up and down the number of servers based on the traffic volume. Lastly, I used Amazon CloudFront to deliver content further optimizing the performance of application. Implementing these solutions, I was immediately resulted with the improved performance of the application, low latency, and improvement of user experience.

Results

Implementing the solutions mentioned above, I began seeing the results immediately and happy to see the results. Now, the application could handle large number of requests even at the peak hours without experiencing any performance issues. The decision of mine implementing the AWS addressed the issue and also provided a foundation for future scaling of the application. This implementation also allowed the client to add and experiment new features and functionality of the web application without taking any headaches on performance bottlenecks.

The client was impressed with the recent performance of application and also the cost savings made possible by AWS. As previously they had to hefty sum for server resources, implementing the AWS helped them reduce the infrastructure and resources costs by using only the resources required while still providing a reliable and performant application to the users

Top comments (0)