Harnessing AWS : Separating Facts from Fiction

Udaara Jayawardana
8 min readJan 19, 2024

--

Hello, Internet! Welcome to another Medium!

Throughout my career in the cloud, I’ve worked few Big Tech Companies. They’ve already climbed the cloud summit and got their AWS strategies down to fine art, organizational and security cloud practices in place and knew exactly what they get from AWS and what the trade-offs of moving to the cloud from on-prem. A world, I’ve known throughout my (professional) life.

Recently, I got an opportunity to work as a freelance Cloud Engineering Consultant. Work with folks around the world, completely new to AWS, but willing to set up their infrastructure at AWS, and jump on the Cloud bandwagon. Yes, I know, perhaps a decade too late, but it’s never too late to try cloud!

But here’s the twist — amidst all this enthusiasm, there’s a mythos around AWS. It’s seen as a magical cost-cutting unicorn, an exclusive club for the big leagues, or a miracle cure for performance and security headaches. Spoiler alert: reality check incoming!

So, let’s dive into some of the larger-than-life myths and discover the real AWS, with its quirks, perks, and all, and maybe debunk a few misconceptions along the way.

Myth #1: AWS is Always the Most Cost-Effective Option

The myth in the spotlight is the belief that AWS is like a discount store for infrastructure — always the best deal in town. Well, with the right knowledge and right tools, it could be all that, but jumping straight to AWS with no sense of direction on cloud strategy will crash-land you into reality (and with a hefty bill too)

I’ve worked with a small business, which their cloud-savvyness was more “home hobbyist” than “Silicon Valley.” Their 2-man development team jumped onto AWS, choosing services like a kid in a candy store — a bit of this, a dash of that, ooh, and that looks shiny! Their app was up and were very happy.
Very happy, till they got the bill…

It was way (and I mean way, way, wayyyy) over their budget and poor AWS was taking the full blame for duping them. AWS can be like an all-you-can-eat buffet, if you’re not strategic with your portion sizes (aka service choices), you’ll end up with a stomachache (aka a financial headache).

What could’ve they done, you ask? Here are few suggestions.

  • Map the Appropriate AWS Services to Your Architecture: Understand the non-functional requirements (NFRs) to ensure you’re using the right services for the job
  • Right-Size Services and Utilize Autoscaling: Adjust your service usage to match demand, ensuring efficiency and cost-effectiveness
  • Turn Off Services Not Required: For example, shutting down development environments over the weekends and holidays can cut costs
  • Use Trusted Advisor for Tailored Recommendations: Get customized guidance to optimize your AWS services
  • Set Cost Limits with AWS Budgets: Implement budgets to keep spending in check and avoid surprises
  • Employ AWS Cost Explorer: Analyze spending patterns to uncover cost-saving opportunities
  • Explore low-cost options of the service of your choice — For example, Spot or Reserved EC2 instances could save you quite a lot compared to On-Demand
  • Clean Up Unused Assets: Regularly terminate or downscale unused resources to avoid unnecessary costs
  • Clean Up Unused Assets: Regularly terminate or downscale unused resources to avoid unnecessary costs
  • Take Advantage of AWS Free Tier: Use free services wherever possible, particularly for small or new workloads

The takeaway? AWS is not a one-size-fits-all cost-cutting solution; rather, it functions like a Swiss Army knife. With proper know-how and strategy, you can craft a very cost-effective infrastructure tailored to your business needs.

Myth #2: Migrating to AWS Guarantees Enhanced Performance

I’ve heard this many times. “We’ve migrated our WebApp to AWS, but didn’t notice any sort of performance improvements we were promised…”

Ah, the classic cloud conundrum! You’re told your app will zip around like a race car on AWS’s cloud-speedway but instead, it’s cruising like a leisurely Sunday drive. So, what gives? Are they lying about AWS? Is this merely a massive cash grab? Let’s hit the brakes and look under the hood.

I had a case, which a Dev team migrated their application to AWS, a simple lift-and-shift, hoping it will boost the app performance. However, they could not experience any performance improvements and were mulling whether AWS was the best option.
Here’s the thing: AWS isn’t an automatic nitro boost for your performance car.

Here’s what they could’ve done

  • Choose the Right Service Configuration: AWS has a plethora of alternatives; selecting the right instance type or storage solution is critical to meeting those performance targets
  • Database Optimization: Use Amazon RDS or DynamoDB and ensure that they are configured properly and operating efficiently
  • Use Elastic Load Balancing: Distribute traffic for optimal resource utilization and better user experience
  • Use AWS’s Scalability: Auto Scaling can automatically modify resources to ensure consistent, predictable performance
  • Regular monitoring with AWS CloudWatch: Keep an eye on performance metrics and receive notifications if something starts to lag
  • Optimize Data Storage: Correctly classify data and make efficient use of storage technologies such as Amazon S3 and EFS
  • Implement CDN using Amazon CloudFront: Distribute content internationally to reduce latency and accelerate delivery to end users

Well, it’s important to remember that there’s no one silver bullet for every scenario. Once you have your architecture and patterns of your user base, you’ll need to properly configure your AWS services to meet your performance objectives.

Remember, AWS provides the tools, but it is your responsibility to use them as a maestro

Myth #3: AWS is Completely Secure and Eliminates All Cybersecurity Concerns

And now we move to a big one! The belief that AWS is a digital Fort Knox, where your application is magically become safer upon migration. AWS will take care of all Cyber-Threats and you’ll can sleep peacefully knowing it’s hosted in AWS. Well, before you go storing all your digital gold there, let’s crack open this safe and see what’s inside.

Since the topic is a very sensitive one, and I have a couple of NDA’s watching over my shoulder :D, let’s imagine a company this time! An upcoming Data Analytics Startup, let’s call it 8-Bit Analytics, with dreams as big as their data lakes, moved all their assets to AWS setting up RedShift and S3 for Data Lakes, Glue and MWAA for ETL pipelines and custom data visualizers. Migration is done and they all goes to bed, feeling happy and accomplished. “Our data is in the safe hands of AWS”.
They awaken to a nightmare of sirens and flashing red lights. Data Leakage.
“Curse you AWS!!! You were supposed to keep our data safe”

Well… unfortunately, this has nothing to do with AWS. Why? Because while AWS is like having a state-of-the-art security system and an impenetrable vault, but if you don’t set the alarm or lock the vault, what’s the use?

What 8-Bit Analytics could’ve done

  • Understand the Shared Responsibility Model: Know that while AWS secures the cloud infrastructure, securing what’s in the cloud — your data, applications, and access — is your responsibility.
  • Data Encryption: Applies both at rest and in transit. AWS provides key management services such as AWS KMS for this
  • Implement Strong Access Controls: Use AWS IAM to ensure that only authorized users have access to sensitive resources
  • Utilize Network Security Measures: Such as VPCs, NACLs and Security Groups to create a private, isolated area of the AWS cloud
  • Regular Security Audits and Compliance Checks: Use technologies such as AWS Config and AWS Security Hub to continually monitor and assess their security posture
  • Backup and Disaster Recovery Plan: Make regular backups of your data and have a disaster recovery plan in place
  • Stay Informed and Educated: Keep up with the most recent security developments and best practices for cloud security

Like the two points we discussed before, AWS provides the tools. It’s up to you to use them and secure your data.

Myth #4: AWS Offers Unlimited Resources, Anytime, Anywhere

Let’s burst another AWS Myth bubble! AWS is like an all-you-can-eat buffet with an endless supply of digital delights. EC2 in the US? You got it. RDS in Far East Asia? There you go. A pink, fluffy Unicorn in Barbieland, absolute… wait.. perhaps not that last one. But you get the point, right? AWS can give you whatever you want, wherever you want, whenever you want, in any quantities….
*Wrong Buzzer Sound* Nope. AWS has a broad array of services and resources, but they’re not without their boundaries.

The reality of AWS is more like a meticulously managed theme park, where there’s plenty to choose from, but hey, there are still some rules you need to follow.
You have access to a wide variety of rides (services) and refreshments (resources), but there are height restrictions (service limits), and you may have to wait in line (resource availability) at times. There’s a cap on how many rides you can take at once, and some rides are only available in specific parts of the park (regional availability).

Let’s think of a another imaginary startup, which signed up with AWS, dreaming of limitless computing power, storage for eons, and bandwidth like a mighty river. But as they scale up, they hit a ceiling, well, several ceilings. Service limits, regional constraints, a veritable obstacle course of quotas and restrictions.

Is there something we can do, you ask? Well, yes!

  • Understand Service Limits: Get familiar with the limits for each AWS service you plan to use
  • Request Limit Increases in Advance: If you anticipate needing more resources, contacting AWS support to increase limits beforehand would be the best course of action. As an example, there is a 100-bucket default quota limit for S3 buckets in Ohio (us-east-2). You can increase this limit through a quota increase request
  • Plan for Regional Availability: Understand that some resources may have regional limitations and plan the architecture accordingly. For example, Amazon Timestream time-series database service is not offered in the AWS South America (São Paulo) Region
  • Optimize Resource Utilization: Regularly assess and optimize the usage to ensure that it’s not over-provisioning or underutilizing resources

And there you have it, internet! We just wrapped up our myth-busting journey through the world of AWS.

It’s evident that AWS is a powerful and versatile Cloud Platform, but it’s not a magical solution. Each myth we’ve debunked showed us a key point; the success with AWS not just comes with using the platform, but understanding how to use it effectively.
May it be cost management, performance optimization, security or resource planning, the real power of AWS rests in knowledgeable and strategic usage.
Knowledge, Planning and Adaptability are your major strengths in harnessing the best out of AWS.

Happy Cloud Computing!

--

--

Udaara Jayawardana

A DevOps Engineer who specialises in the design and implementation of AWS and Containerized Infrastructure.