The Cost of Convenience: Understanding the Traps Set by Cloud Providers

The Cost of Convenience: Understanding the Traps Set by Cloud Providers

Exploring the Hidden Costs of Managed Services in Cloud Computing

·

4 min read

Cloud computing has revolutionized data management, hosting, and processing. But, behind the features and convenience, cloud providers often restrict users from switching to another provider, trapping them in their ecosystem.

In this article, I am gonna talk about how I saved a fortune by following the simple rule of cloud computing is there a cheaper or cost-effective alternative way to do it? , if not then it's ok to go for it.

While I will be using AWS as a reference in this discussion due to my daily usage, the concepts and observations apply to all available cloud providers in the market.

AWS Fargate

Initially, as I embarked on my journey to master Docker and deploy an application on the cloud, I opted for AWS ECS with Fargate as my preferred solution for container workloads. I chose this option due to its convenience and ease of use, leveraging the benefits of AWS's fully-managed Fargate service for seamless server management.

Initially, I was thrilled to be able to focus solely on my code and leave server management and provisioning to AWS. But my happiness turned to shock when I received my first bill, which was over $35 for a single machine with just 1 vCPU and 1GB of RAM, it's a significant amount in India.

Upon reviewing AWS's Fargate pricing, I was taken aback by the cost. At $0.04256 per hour per vCPU, it may seem like a small fee, but when calculated over the course of a month, it amounts to $30.6432 ($0.04256 x 24 hours x 30 days). This expense quickly adds up and becomes unaffordable for many.

In search of a more cost-effective solution, I discovered that using EC2 with ECS could offer more affordable pricing options. As my application was still in its early stages and had minimal traffic, I opted for a burstable EC2 t4g.micro instance with 2 vCPUs and 1 GB of RAM. This option was more cost-effective than others, especially in the Mumbai region.

Although the transition to EC2 with ECS required me to manage the servers myself, the results were well worth the effort. By implementing Capacity Providers, I was able to reduce my monthly bill to just around $5 for the instance. The trade-off for forgoing the convenience of managed server management resulted in significant cost savings.

I realized that the high cost I was paying for managed server management was a premium of 6-7 times the actual cost. Even the non-burstable EC2 instances, such as the m6g.medium with 1 vCPU and 4GB of RAM, were more affordable, costing only $0.0253 per hour in the Mumbai region.

While some may argue that burstable instances are not ideal for intensive workloads or that they are ARM-based, they are sufficient for early-stage applications. Additionally, Docker support for both architectures eliminates any concerns over architecture compatibility. While there may be some extra steps required to make your application compatible with arm64, this one-time effort can result in significant cost savings over the long term.

Going forward, I always compare the pricing against the convenience offered by cloud providers when considering implementing a new feature. If there is a cost-effective alternative, I always test it before making a final decision. This approach has the potential to save a significant amount of money, or even earn recognition at work for significantly reducing expenses.

Why does AWS Charge so much?

Even though AWS claims to offer managed services, the underlying work, such as provisioning, managing, and scaling, is done by a program developed by AWS engineers. Given that AWS earns substantial revenue from EC2, there is no need for them to charge exorbitant fees for these managed services.

So for software, we are charged 6-7x it's not acceptable.

I think cloud providers often charge high fees with the assumption that developers will be too consumed with writing code to want to manage their own servers, thus becoming captive to the provider's ecosystem.

Let me know in the comment what you think.

Almost every cloud provider follows these tactics in their service with the tag of Managed Service

A comprehensive list of AWS services and their cost-effective alternatives for those seeking to reduce expenses.

ExpensiveCheaperImplementation
API GatewayElastic Load BalancingEasy
LambdaEC2Debatable
CloudFrontBunny CDN/CloudFlareEasy
FargateEC2Easy
Many others...
  • EC2 provides more control over the computing resources and environment compared to serverless options like AWS Lambda. It may provide better performance and cost savings when running a production HTTP application with moderate to high traffic. EC2 instances can be optimized to handle specific workloads, making them a more flexible and cost-effective choice than serverless options in some cases. However, it's important to consider the trade-offs between EC2 and other options when choosing the best solution for your application. It is recommended to thoroughly evaluate the requirements and traffic patterns of your application and compare the pricing and performance of various options before making a decision.

This is my first article ever, hope you find it useful.