It gets very expensive very fast.

If you ever tried to create an app or a website on aws, you probably signed up with Pay-As-You-Go option and started with the free tier EC2 instance. It’s smart to pick the free EC2 instance but not the Pay-As-You-Go option. If you want to create an app that takes an text input and return a group of ai generated images, you will face a number of problems. You have to think about installing tensor-flow and that will be your first problem. The free tier instance doesn’t support the installation of tensor-flow. Thus, you will upgrade to non-free tier EC2 instance, that’s already ~$60 a month per region, aws won’t show you that because you signed up for the Pay-As-You-Go option, so you will move on. Then you will be thinking of a domain, this is relativly simple, but if something in your pipeline is not working you may think it’s because you don’t have Certificate Manager so you’ll add the service, that’s $400 a month. If you add SageMaker because your research led you there that will be $80 a month. So in your first month you will be paying about $600 while you are only testing your pipeline.

It’s too messy!

Messy is great if you think your business will be a success because you will have more options in the future, but if you are just building a prototype messy is just messy. aws really lacks good tutorials, you will follow a tutorial like this one here and spend hours on it only to find out that it doesn’t work. This will push you to a desperate direction causing the addition of more aws service. You will have to worry about all of the IAM organization before you start building your prototype or pipeline.

Architecture issues

S3, beans, dynamoDB, SNS, SES, all of these things; who cares we just want to build a simple app that takes an input and return an output using some model in the background. If you use the method of trial and error, aws services won’t recognize that you only were running a “test”, tests are expensive with aws.

Where am I issue

This is what I call “where am I” issue. You have a root account and you are signed in with IAM at a user. What about the shell or the CloudFormation? are you signed in there at a root or a IAM user. Where is the website content?!

What to do?

Use sparate services not only aws services. Use go daddy for all of the SNS, domains, SES. Use aws for computing and google cloud for storage.

More on that later!