We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.

This lesson's interactive features are locked, please to keep using them

Why Should I Use the Cloud?

Cloud computing used to be a hot new thing, but these days it's the industry standard for new projects. Very few software companies build on on-premises hardware, though there are exceptions.

DHH (David Heinemeier Hansson), the creator of Ruby on Rails and co-founder of Basecamp, famously moved his company's products off the cloud in 2023, citing cost concerns and a desire to have more control over their hardware as the primary reasons.

But this remains a contrarian position.

Pros of Cloud Computing

  • Scalability: You can add or remove resources with a few clicks, no need to run around and buy new hardware.
  • Op-ex vs. cap-ex: You pay for what you use as you use it, rather than investing in hardware up front. This is a big deal for small companies that want to limit their initial costs.
  • Reliability: Cloud providers have massive data centers with solid uptimes (well, mostly solid), power backups, and redundant systems.
  • Off-the-shelf products: Cloud providers aren't just renting out bare metal machines these days. Those machines come with a ton of incredible monitoring, logging, networking, security, auto-scaling, and other software that you'd have to build or install yourself if using your own hardware.

Cons of Cloud Computing

  • Vendor lock-in: Once you start using a cloud provider, it can be hard to switch to another one or to go back to on-premises. You become very dependent on their tools, APIs, and services.
  • Cost: This one is controversial, but it's basically the difference between renting (ongoing smaller payments) and buying (a larger up-front payment).
  • Complexity: If all you want is a small server to host a blog, a major cloud provider can feel like overkill when it comes to the number of options, services, and tools available.
  • Security: When you rent another company's hardware, you're trusting them with your (and your users') data. For applications with incredibly sensitive data, this can be a deal-breaker.