Should You Build In The Cloud?

Should You Build In The Cloud?

Cloud computing is really big and only seem to get bigger. But do you really need it? Maybe it is just a fancy trend that will die with time? Let’s look at the benefits that cloud technologies can bring on your table.

Let’s start with an example.

Imagine that 5-year old you decides to open online store to sell gummy bears. You put all your node-react-css-kung-fu skills into practice and coded the store website. Now, how do you run it? You can obviously run it on your own computer, keeping it on 24/7. But most likely you will not sustain it for very long and will decide to run it on a dedicated server.

Now you need to buy a computer to run your store. You go to your local computer store and see several options, ‘ByteRipper-100’ and ‘ByteRipper-300’. Which one do you choose? Hard to say upfront which one is the best for you. But whatever you choose, you already need to break your piggy bank and spend your money before you earn a single cent.

If you instead decided to run your candy store in the cloud, you don’t buy computers upfront. Cloud computing allows you to ‘Trade capital expense for variable expense’. You don’t need to spend money buying equipment - you can rent it from the cloud provider, usually at a very low monthly price or even for free. But why would it be cheaper, you may ask, the cloud wants to earn some money too, right? True, but cloud providers have advantage of the economy of scale. They buy thousands of computers at once, getting much lower price than 5-year old you buying a single computer. Moreover, cloud guys don’t buy ‘ByteRipper-100’s. They buy many gigantic ‘ByteRipper-50,000’s, and make them process the combined load of many smaller computers. So cloud service providers can benefit from the economy of scale , buying bigger computers for cheaper. It allows them to offer you a chunk of their computing power for much less than it would cost you if you did it alone.

So you have launched your gummy bear store. Yesterday you told all your classmates about it, and now they all went online to buy gummy bears. If you run the on your own server, probably your computer started having problems, chugging slowly processing all the requests. There is only so many clients that a single computer can serve. When the number of clients go up, it will have hard time keeping up, each requests taking increasingly longer to process. Maybe you should have bought more expensive and powerful ‘ByteRipper-300’ instead of ‘-100’? Or maybe it is time to get a second computer and split load between them? But wait, there is a Black Friday approaching. How many kids will buy your gummy bears on Black Friday? Will it be enough to have only 2 servers? Maybe now you need 3? What about the next week after the Black Friday? If you need 3 servers to handle the peak load, they will definitely be slacking when the load goes down. How do you make the right choice? Can cloud help to make this choice? The cloud can eliminate the need to make a choice. 2 servers or 3? Who cares! Even if it is 30 or 30,000, ‘ByteRipper-100’ or ‘ByteRipper-10,000’. Cloud guys have so many computers that they have tons and tons of them lying around, and they will be happy to rent them you for very cheap. You can stop guessing capacity and use what you need and when you need. Run 2 severs on a regular day, 5 on black Friday, 1 on a weekend. Just what as you need, when you need.

Computer Maintenance

Now you have a fleet of servers that run your store and keep moving gummy bears from your garage to customers. Now you need to make sure that your store will keep working. If you run your own servers, there is so much you need to take care of. Keep electricity flowing, buy a secondary internet link. You need to maintain your servers - replace disks if they fail, install software updates. You need to take care of security too - install security system so that nobody steals the servers, protect from hacker attacks. It takes your time. The time that you could have used to explore new gummy bear tastes to sell, or simply, playing with your friends. But if you run in a cloud, it allows you to stop spending money running and maintaining data centers. Cloud providers do the heavy lifting of running and maintaining hardware so that you can focus on other more important things. And it is all on the house - you don’t need to pay anything extra for that.

As you store grows, you need to add more features to it. You want to analyze behavior of your customers, analyze you sale numbers. Or simply send email to your customer when you add new gummy bear type to your store. If you run everything yourself, you are responsible to build all those features. Install and configure email servers, maintain databases. All those tiny features takes time and money to build and maintain. And the time that you spend on building those things is the time that you don’t spend on developing your business. Cloud providers try to allow you to Increase speed and agility of your business - they build all those things for you. They would have many clients that have similar needs. They would build them and provide to you “out-of-the-box” - you click a checkbox - and boom! - you have yourself an email or analytical systems.

Finally, your store has gone viral, sales are off the roof. Now people from other countries want to buy from your store too, they want their local version. How do you do that? If you run your own hardware, you need to repeat all the steps you did with your first store, buy servers, put them somewhere, connect to the Internet and so on. It will take you months. But clouds allows you to Go global in minutes. Cloud providers have already built everything in Japan, Australia or Denmark - you can start local version of your store with several clicks!

Yes or no?

Cloud technologies is not a silver bullet. The don’t solve all the technology problems and introduce some new challenges. But in many situations they can make a difference between a viable business and the one that fails. Cloud technologies can be seen responsible for explosion of startups in last decade. If you have an idea - you can start implementing it, and cloud providers will take care of how to run it.

To recap, here are the advantages of cloud computing:

  1. Pay as you go, no upfront investment
  2. Economy of scale lowers cost
  3. Any capacity any time
  4. Little to no maintenance
  5. Out of the box solutions
  6. Go global in just a few clicks

See Also

Infrastructure As Code Is Wrong

Infrastructure As Code is a very misleading term and here is why

5 Benefits Of In-Memory Databases

5 things you will like when using in-memory datbase

Understanding Redis replication in AWS ElastiCache

How to get more done with less time using Pomodoro Technique

comments powered by Disqus