Amazon Web Services (AWS) is the best in class platform for cloud based application deployment. They continue to build new features and innovative services that make it easier for us to build products at scale. What AWS doesn’t do well is teaching anyone how to use it correctly. Their docs aren’t great and best practices are locked up in fast scaling startups.
I’m just an eager developer with a cool idea. I want full stack deployments of products I know and can relate to, which I can instantly deploy, which are secure and scale with traffic. Twitter? Pinterest? ProductHunt? Meerkat? Help me pick some app I’m familiar with as a starting point for my new app. Just help me start… somewhere.
Full stack deployments
Imagine a world where I git checkout a DSL which defines a full stack deployment for a new application which I can 1 click deploy. The recipe defines DNS, Auto-Scaling, IAM, multi-AZ deployment, storage, CDN, Beanstalk, etc. It includes a stub iOS/Android/Rails/Node app which is configured correctly to hit these services, which I can play with in minutes.
Us old guys learned how to code HTML via “view source” on yahoo.com in 1995. I want that for AWS.
I want to pay very little to 1-click deploy and to start paying based on usage since the recipe is built to auto-scale. It should be cheaper and easier to try and learn how to do it right. I also want to start/stop the stack, not the individual services. I want to easily understand the price of the whole deployment as it scales. Price shouldnt be a barrier when no one is hitting my application.
Premature Optimization is the root of all evil… but starting on the right foot isn’t.
I’m the last guy to say you should focus on a magically scalable perfect infrastructure before figuring out product market fit. That being said, too many startups are duct-taping together solutions, without enough experience around scale and security to get it right. They’re further bolstered to act this way because Amazon (as well as Google & Microsoft) are handing out credits like candy. Free Credits are great, but I’m wasting my money and theirs.
Just use CloudFormation? It’s been around since 2010 and isn’t close to offering me what I’ve described. Chef/etc make it better… but combined are still missing key ingredients.
A strong community is not optional - it’s required
The problem is that recipes/stacks get outdated quickly. As best practices improve and as new features/products are launched, each set of recipes needs to be updated. When the re:invent conference happens, I want those recipe repos updated. I want to merge, review conflicts, and deploy… my better smarter faster infrastructure. I want the DSL to reference documentation inline, not the documentation reference out-of-context code snippets.
I want these recipes maintained by the community and/or certified by AWS Architects. I’d be willing to pay for certified recipes.
Also as the community grows, and full cloud deployments are described in code, they’re much easier to port across Google/Microsoft/Amazon. Thats a win for everyone.
I don’t want to waste tons of money building the wrong infrastructure. I’m just a developer with a cool idea. Hey Amazon, help!
(Note: This is a modified draft of an email I sent to a buddy last year who was thinking to work at AWS. It was a plea to build this.)