Looking back at the announcements at Google Next, Microsoft Ignite and now AWS Re:Invent the trend is clear, they want to sell us their PaaS services within our own datacenter (or Private Cloud). Since many companies today which cannot adopt or see that Public Cloud is not something they are aiming towards are always looking into how they can leverage from the wast capabilities that the big cloud vendors provide. Think about instead of setting up our own database services or servers we could just rent it as a service from a vendor but delivered within our own datacenter within our control? and as the service is being developed further we get automatically updates to the service? or that we could have the same control plane of the service regardless if it is running within our own datacenter or somewhere else?
Looking at Private Cloud is something that many vendors have been working on delivering for quite some time already. Looking back at some of the projects I’ve been working on when it comes to deliver PaaS services on a Private Cloud solution, where we had in the early days, Azure Pack and now Azure Stack, Cloud Foundry and even IBM Private Cloud where the focus has been on delivering PaaS services such as Web Apps, Databases and other PaaS services on customer’s own hardware our in this case our hardware. But again if customers have already adopted Public Cloud or have started, this means that they need multiple platforms to maintain and operate.
Now the problem with having a PaaS service developed by a 3.party vendor is that the supporting ecosystem around is always difficult to handle. Looking back the development that has been done on Azure Stack which has always been aimed at delivering a consistent platform with public Azure but never fullfilled the promise of being able to deliver more of the PaaS services that the big brother Azure had available in their portfolio. This is also the issue with other Private Cloud solutions is that the 3.party vendors often need to update the entire management layer to incorperate a change in a service which is part of the private cloud solution.
The issue with these type of PaaS services is how can a vendor ensure a consistent featureset and also be able to streamline delivery of new features as updates to the service progresses?
With more and more enterprises adopting Containers and Kubernetes this is where most vendors now aim towards to be their main delivery model for new Private Cloud PaaS services.
Looking back at what the big players can provide of Hybrid PaaS capabilities.
Google with their offering Anthos is essentially a managed Kubernetes platform which can run within your own datacenter on top of VMware, which is bundled with Service Mesh (Istio) and also delivering fuctions as a service using Knative. Here Google is hosting the management plane, meaning that all operations is doing within GCP.
Google has also integrated other solutions, such as Stackdriver to do log-ingestion and such, Google also provides automatic updates to the cluster (and looking at the release notes, they do about 1 upgrade a month) –> https://cloud.google.com/gke-on-prem/docs/resources/versioning-and-upgrades
It is still in the early phases, but essentially Google is using their wast knowledge of Kubernetes and integrating this with GCP to provide GKE (Google Kubernetes Engine) to on-premises enviroments running on VMware.
Microsoft has early on had a big focus on Hybrid PaaS capabilities, but the focus of Azure Stack and Azure Pack was delivering a PaaS services within a seperate management plane, such as with Stack the management of Web Apps was done in a management plane delivered from within Azure Stack. During Microsoft Ignite this year, Microsoft announced their new Hybrid capabilities called Azure ARC https://msandbu.org/what-is-azure-arc/ which is simliar to what Google has done with Anthos, but a bit more operations focused. Azure ARC is for the time being delivered in 3 services.
1: Azure ARC for Servers
2: Azure ARC for Data Services (PaaS services of PostegreSQL and MSSQL)
3: Azure ARC for Kubernetes
And again Azure is using the same approach as with Google, leveraging the capabilities within K8s and Containers to be able to streamline delivery of services. While Azure is still in the very early phases of its Kubernetes support compared to Google, they have a broader approach when it comes to PaaS services and traditional infrastructure services which I don’t even think that Google is going to focus on.
Microsoft also announced during Ignite a new appliance (based upon the previous databox) now called Azure Stack Edge which was previosly a hybrid storage solution that will soon also be able to provide some PaaS services such as Kubernetes but also run traditional IaaS services, which will also again be able to be managed from Microsoft Azure.
Last year, Amazon announced some new core hybrid capabilities
- Amazon RDS on VMware which was the first step in AWS to deliver Hybrid PaaS capabiltities where they could provide PostgreSQL, MySQL and MSSQL database services on on-premises VMware enviroments
Unlike Google and Microsoft, this is running on regular virtual infrastructure, but the management layer of the database services is also within AWS like with Azure ARC and Google Anthos. AWS also announced AWS Outposts which can be seen as a simliar approach as Azure Stack, where you have a dedicated set of hardware in a rack to provide AWS capabilities. Now the difference between Outposts and Azure Stack, and here I think AWS took the right approach which is that Outposts uses the same management plane as AWS does. Meaning that you can operate everything from the same console.
Also looking at all the capabilities that AWS announced during Re:Invent which you can see here –> https://aws.amazon.com/outposts/features/ there is no question that AWS is focusing heavily on outposts, taking the same approach as Microsoft did with Azure Stack.
Welcome to the party?
Much of the capabilities here are still in the early stages of development, some further then others. But the trend is that most try to maintain a consistent management plane within the vendors platform, secondly they aim at using Kubernetes or some container orchestration framework to be able to provide a consistent delivery of their own PaaS services on-prem. Looking at the hardware approach, Microsoft early on did a hardware validation and focused on OEM partners that could bring Azure Stack to the market, while AWS did make their own approach which also makes it easier for them to change but might be lacking in how they handle supported compared to the big vendors such as HP/Dell/Lenovo, but again made the smart choice of integrating Outposts with the same management layer.