The CLOUD is the latest buzz world! There are tons of choices, let’s compare the top 3: Amazon, Microsoft and Google!
With so many choices, you can’t go wrong with any of these top three. However, each have their own pros and cons, or strengths and weaknesses. Thus, based on your needs, it make sense to pick one platform over another.
Investing in a cloud platform is a big decision; but if you know what you need the decision is not a difficult one. This article will explain and help you choose the best platform for your needs. It is not unusual for a company to use multiple cloud offerings because they may have different projects that have different needs.
What is the Cloud?
Arman Hezarkhani from Google, provided this one sentence definition of the Cloud: “Cloud is a set of tools that helps you (the developer) spend less time hanging and spend more time creating”. He does a great job with examples in this 42 minute long video: https://youtu.be/JtUIQz_EkUw (which I will recap in a few paragraphs below).
To understand the cloud; let’s take a step back in time and discuss how things used to be with an On-Premise solution. Say you want to launch a website like Walmart.com, you would write your code and deploy it on a server in your home; and it will works fine on day 1 where you have just a handful of visitors. However, a week later you decide to have a promotion; and traffic ramps up to over 500 visitors in a day! That one server isn’t going to have enough computing power to handle the traffic efficient (it may be dreadfully slow or just crash all together). So with an On-Premise architecture, the workaround is to buy several new servers modify your code for load-balancing to leverage the power of these new servers for the current level of traffic.
This concept of adding servers and resources to an On-Premise solution is called scaling. And, as you can imagine, it takes a lot of work and time to scale with an On-Premise solution. Here is where the early cloud service (called Time-Sharing) comes in. Times-Sharing is basically contract with an company which has the ability to “rent” out computing resources for you to scale your business. So if you need 10 new servers, for a minimal cost, you can rent their 10 new servers and access this hardware (aka Infrastructure) over the Internet. This Time-Sharing concept is also known as Infrastructure as a Service, or IaaS. This was the primitive cloud offerings.
The current state of cloud computing incorporates more than Time-Sharing some server (aka Infrastructure as a Service, or IaaS). They provide Platform as a Service (PaaS), which are tools included with the Infrastructure they are renting out. Tools that can help you (for example) automatically scale up by adding more server resources when the your web traffic requires it (such as for Black Friday Sales), and then scale down by automatically removing server resources when your traffic slows down after the holidays. All this is handled automatically without you having to code anything, this is the magic of the provided Platform As a Service (PaaS).
And finally, one more step beyond PaaS is Software as a Service (SaaS). These cloud resources now can provide software you can access right over the internet without having to install a single thing on your local computer. Common Example of these are Google Docs, Google Sheets, Microsoft Word, and other software that you can access directly and use over the internet!
And there you have it! IaaS, PaaS, and SaaS are all standard components of what the Cloud is Today. Amazon Web Services, Microsoft Azure, and Google Cloud Platform can provide all these resources for your business needs. They all do pretty much the same things, but there are Strengths and Weaknesses between the services, and based on your ideal needs; it is best to consider the differences so you can find the best solution for your needs. Let’s start looking into the details!
High Level Overview: