jasoncwarner / ama

Ask Jason Anything
80 stars 2 forks source link

Anonymous: Building in the cloud #26

Open jasoncwarner opened 4 years ago

jasoncwarner commented 4 years ago

Asked anonymously

Since cloud hosting is getting easier day by day. Should we learn to host by ourselves or completely rely on cloud service providers?

jasoncwarner commented 4 years ago

If you want to learn, I'll always encourage people to explore things to learn.

If you want to go build, build in the cloud.

Things I believe most companies should do:

  1. Use GitHub and Heroku for everything. If you ever (and you might not even with massive success...the there are top 10 websites in the world running on Heroku) outgrow them, you'll be a billion dollar valuation company with lots of employees and many hundreds of millions of dollars in funding at which time you can figure it out. Don't prematurely optimize your tech before you have product success.

  2. Stay monolith for a long time. Don't go services and never go microservices before you need to. It adds overhead and complexity to getting things done. Monoliths can take you a long way. Most companies can stay monolith just like point 1 above. Unlike 1 above, though, once you need to get off monolith, you should, and quickly. Scaling monoliths is hard work.

  3. Invest in your automated workflows from your machine to production. There are proven business outcomes for teams that have more automation, higher number of releases per day, and better MTTR. It's not that those metrics matter so much, but getting to those metrics being higher means you have invested in your workflows and are likely a good team and product engineering organization.

Point of fact: Heroku + GitHub gets you 90% of the way there on this whole space. After all, Heroku and GitHub basically invented the concept of devOps without knowing it. Particularly Heroku.

Hope that helps! Let me know if you you want more thoughts.