Not a day goes by anymore where you don’t hear someone mention “The Cloud” in some context. Cloud services and solutions are all the rage these days.
Why though? What do these solutions offer to businesses that they don’t already have?What are the advantages of “The Cloud”? Well, as it turns out, there are many. Below I have listed just a few of the most popular reasons businesses are migrating:
- Achieve economies of scale – increase volume output or productivity with fewer people. Your cost per unit, project or product plummets.
- Reduce spending on technology infrastructure. Maintain easy access to your information with minimal upfront spending. Pay as you go (weekly, quarterly or yearly), based on demand.
- Globalize your workforce on the cheap. People worldwide can access the cloud, provided they have an Internet connection.
- Streamline processes. Get more work done in less time with less people.
- Reduce capital costs. There’s no need to spend big money on hardware, software or licensing fees.
- Improve accessibility. You have access anytime, anywhere, making your life so much easier!
- Monitor projects more effectively. Stay within budget and ahead of completion cycle times.
- Less personnel training is needed. It takes fewer people to do more work on a cloud, with a minimal learning curve on hardware and software issues.
- Minimize licensing new software. Stretch and grow without the need to buy expensive software licenses or programs.
- Improve flexibility. You can change direction without serious “people” or “financial” issues at stake.
As you can see, the Cloud can offer a competitive advantage for companies that understand how to utilize its strengths.
So have I convinced you that the Cloud is something you should embrace yet? I hope so. I want your next question to be
“Jason, we love the Cloud, but what Cloud Service Provider should we use??!”
Well, I am glad you asked! As it turns out, there are currently three great choices to choose from and each offers their flavor of cloud for you to choose from. These three big players are Microsoft Azure, Amazon Web Services (AWS), and Google Cloud Platform (GCP).
Amazon Webservices has been around the longest, and it is (by most accounts) the most mature as of this writing. That doesn’t necessarily mean it is the one for you though.
While AWS is the clear leader in the market (as it has been since its inception in 2006), Azure is the fastest growing cloud provider, with triple digit growth in 2014 and 2015. GCP, far behind in market share, is still considered a top visionary based on the completeness of their offering, go-to-market strategy, enhanced performance and global infrastructure.
When evaluating a cloud solution, there are going to be a lot of questions you need to ask yourself regarding how you will be utilizing the cloud solution, and what services you need to use, and which services you do not care about.
However, when deciding to move your technology solution to the cloud, there are four areas you are most likely to be concerned about. These areas are going to be:
- Global Network/Networking
- Pricing Structure
These four areas are what many IT organizations evaluate when they are looking to choose one Cloud Service Provider over another. Now the details of each of these are constantly changing, so make sure you read up on each of the companies offering website to make sure if this article is still accurate, but I made my best effort to keep it accurate at the time of this writing.
So let’s get into it. Which Platform is right for you?
AWS has the widest range of region availability with eleven regions: Three in the US, two in the EU, two in East Asia, one in China, one in Australia and one in South America, as well as another region in the US for the sole use of US government agencies (AWS GovCloud). Each of these regions is comprised of multiple data centers or “Availability Zones” and edge locations. They use private networks for the data centers’ connectivity within a region, and the Internet for inter-region connectivity. ()
Azure runs 17 data centers, referred to by Microsoft as “regions” across Asia, Australia, Europe and North America. Lacking their own network infrastructure, they use the Internet for data center connectivity, labeling the data with QoS tags.
GCP has only three regions: Central US, Western Europe, and East Asia. Each of these regions is comprised of multiple data centers or “Zones”. Contrary to AWS and Azure, however, connectivity between data centers is done based on Google’s private global network, both on the regional level, and between regions.
AWS provides ephemeral (temporary) storage that is allocated once an instance is started and is destroyed when the instance is terminated. It provides Block Storage that is equivalent to hard disks, in that it can either be attached to any instance or kept separate. AWS also offers object storage with their S3 Service, and archiving services with Glacier. AWS fully supports relational and NoSQL databases and Big Data.
Google’s Cloud Platform similarly provides both temporary storage and persistent disks. For Object storage, GCP has Google Cloud Storage. GCP supports relational DBs through Google Cloud SQL. Technologies pioneered by Google, like Big Query, Big Table, and Hadoop, are naturally fully supported. Google’s Nearline offers archiving as cheap as Glacier, but with virtually no latency on recovery.
Azure uses temporary storage (D drive) and Page Blobs (Microsoft’s Block Storage option) for VM-based volumes. Block Blobs and Files serve for Object Storage. Azure supports both relational and NoSQL databases, and Big Data, through Windows Azure Table and HDInsight.
When configuring a deployment, there are multiple parameters that can affect speed. These include the number and generation of CPU cores, number of instances, network speed, caching, and storage type. While speed is important, it is only one parameter out of many that should be considered in vendor selection, so benchmark test results should be taken with a grain of salt. Overall, based on a test conducted by InfoWorld in 2014 (image below), of the three vendors, GCP is fastest, followed by AWS and Azure.
(Image source: InfoWorld)
Calculating instance cost is a complex task that requires looking at computing power, memory resources, and networking needs, then attempting to calculate project lifecycle needs for proper capacity, resource and personnel planning.
The various tools provided by the three vendors aim to make this process easier, but it still leaves many in the dark.
AWS charges customers by rounding up the number of hours used, so the minimum use is one hour. AWS instances can be purchased using any one of three models:
- on demand – customers pay for what they use without any upfront cost
- reserved – customers reserve instances for 1 or 3 years with an upfront cost that is based on the utilization
- spot – customers bid for the extra capacity available
GCP charges for instances by rounding up the number of minutes used, with a minimum of 10 minutes. Google recently announced new sustained-use pricing for computing services that will offer a simpler and more flexible approach to AWS’s reserved instances. Sustained-use pricing will discount the on-demand baseline hourly rate automatically as a particular instance is used for a larger percentage of the month.
Azure charges customers by rounding up the number of minutes used for on demand. Azure also offers short-term commitments with discounts.
(Image source: InfoWorld)
|AWS||Per hour – rounded up||On demand, reserved, spot|
|GCP||Per minute – rounded up (minimum 10 minutes)||On demand – sustained use|
|Azure||Per minute – rounded up commitments (pre-paid or monthly)||On demand – short term commitments (pre-paid or monthly)|
AWS vs Azure vs Google: Pricing and Models (source: CloudAcademy)
As you can see, there is a lot to evaluate when considering which provider to go with. Ultimately, it comes down to what your problem is and what type of solution you are implementing. I hope this quick guide to the top Cloud Providers helps shed a little inside on the similarities and differences between each company as well as some of the questions you should be asking yourself when transitioning to the cloud.
If you found this article useful, please share it or subscribe to my blog! If you didn’t like it, then tell me why in the comments! I write these articles to help other developers that are in the same situation as I am in and want to share insights when I come across them. Tell me what is helpful and what is not! Thanks, and have a great day!