Originally posted on Medium.

A lot to be fair, but the first steps are hiring an expert and not assuming you know how to even if you are an expert in Infrastructure or Applications. Several organisations have tried AWS D.I.Y. before coming to see an AWS expert, often with the results being disastrous and the learning curve being painful.

Yes you can spin up your own server in AWS, you can click on another service such as RDS (Managed Databases) and start running a database. And you can probably setup your own S3 bucket. And you can probably attend a single AWS training day or a lunch and learn event and think “Yes, now I’m comfortable running and managing my own AWS environment.”

However AWS and any huge technology has never been easy to learn, whether it’s becoming a database expert, application specialist, developer, sys admin or automation/ dev ops master. Usually the road to learning any new technology is a road marked with pain and lot’s of mistakes.

I’ve been using AWS and developing with it since 2008, but I still don’t consider myself top of the game. There is always so much to learn every day whether it learning a new AWS product or refining my skills on my most commonly used tools of choice: S3, EC2, RDS, VPC, Lambda, API Gateway,SQS or DynamoDB. I have to balance that with the rest of my life like looking after a family and other activities.

So putting that aside, if you are wanting to design a solution on AWS it takes a good solid understanding of all the services available within AWS.

View the full article on Medium here and find out some considerations for architecting on AWS.