In this post I thought I would discuss various cloud infrastructure options to consider when choosing a provider. Since I touched on the topic of using a cloud-based solution in my previous post I thought I would do a follow up.
This post should be useful whether you’re looking at cloud providers or just hoping to understand the jargon better. It applies to Data Platform professionals as well as others who are hoping to gain a better understanding of cloud infrastructure options.
This post will mostly be based on my previous research into the top four cloud providers. Those are Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP) and IBM Cloud.
Now there are various options to consider which I will discuss below.
- Datacentre locations
- Cloud implementations
- Compute offerings
- Pricing and licenses
If you must keep your data within a certain country or region you must check that the provider has data centres in that location. You also must check if the services you want to use are available in that regionand if there is a significant price difference for those services in that region.
There are three main cloud implementation types to consider.
- Public cloud solutions which are where could providers manage all the services remotely.
- Private clouds where you build your own cloud solution on aset of servers, typically in your own datacenter.
- Hybrid cloud solutions which are typically seen as a combination of the previous two, with a combination ofservices available both on-site and remotely.
As far as compute offerings are concerned there are three main types.
- Infrastructure as a Service (IaaS). With this type you have one or more virtual machines hosted in the cloud that you have complete control over.
- Platform as a Service (PaaS). Here a service is available directly on the cloud platform without any underlying Operating System in place.
- Software as a Service (SaaS). With this last type a piece of software is centrally hosted in the cloud and accessed over the internet for use.
Now Kevin Remde has an excellent diagram to highlight the difference between these which you can find here.
There are other compute offerings being phrased these days as well. For instance, Container as a Service (CaaS). This cloud service is based on the latest Container technology, you deploy container images based on Docker or similar technology into the cloud for use.
Another is Database as a Service (DBaaS) which is a phrase being used to describe PaaS database offerings in the cloud, such as Azure SQL Database.
Each provider implements Virtual Network infrastructure in their own unique way. They vary in their supply of various network resources like network appliances, Public IP addresses, etc.
This directly affects any potential SQL HA/DR strategy such as implementing AlwaysOn Availability Groups. They all offer different options for VPN’s and high-speed connectivity.
Most of the cloud providers offer shared tenancy as a default solution. Which is where you share the underlying fabric with other customers. However, some of them allow you to have your own dedicated hosts instead at a premium cost.
Most cloud providers use a shared responsibility model. Which usually means that the provider is responsible for the physical access to your infrastructure and data. You’re responsible for the logical access to it.
You can administer most commercial Cloud platforms in a variety of ways over the Internet. The most popular way during the discovery phase is by connecting to the Cloud providers console. When I say console, I mean through a web site.
Now there are other administration tools you can use as you get use to things more and you want to improve deployment and administration. These include Powershell, API’s and Command Line tools. Below are the Command Line tools used by the top four providers:
- Amazon uses AWS CLI
- Microsoft uses Azure CLI
- Google uses gcloud
- IBM uses Cloud CLI
I hope this post has given you about cloud infrastructure options. Feel free to let me know what you think about it.