The Multi-cloud Blueprint
Ten years ago there were but a brave few who dared untether from the safe confines of Mother Earth and venture to the clouds. These pioneers reaped the benefits of near infinite scalability, unprecedented infrastructure agility and consumption based modelling, and quickly gained the competitive edge. But fast forward to today, and most businesses either have a presence in a public cloud, or are doing that first generation of "cloud-like stuff" on-prem. Simply being in the cloud is no longer the advantage it once was. Moreover, the realities of living in the cloud (functional, financial and operational) are starting to hit home, and the once-perceived simplicity of hitching your wagon to a single cloud provider is becoming both a hinderance to evolution and potential concentration risk to your business. It's no surprise then, when you open any article on the top IT trends of 2022, multi-cloud features prominently.
But in so much as there is a plethora of commentary around multi-cloud being the future, there isn't a great deal of rhetoric on how the majority of enterprises could or would leverage this to their advantage - i.e. if I'm moving to a multi-cloud model to experience the "best of both" worlds and give my business the edge... which cloud would I choose for a particular function? So I decided to put together what I believe to be the first (and only) Multi-Cloud Blueprint.
Now, something like this doesn't come without a bunch of assertions and provisos, so here goes:
I'm sure some may find these recommendations provocative or challenging, but I'm happy for it to stir a discussion that leads to a more learned and evolved viewpoint of multi-cloud beyond just a concept. So here goes:
Orchestration: Terraform
Let's start with a cross-platform fundamental - one of the long-established benefits of moving to the cloud has been the ability to define infrastructure and environments as code. Hashicorp's Terraform has emerged as the popular leader in this space due to its cloud agnosticism (there are "providers" for just about every platform that is, has been and likely ever will be), open source nature and easy human readability. If you're already using Ansible, you're probably good to stick with that but if you're using anything else (Puppet, Chef etc.) the move to cloud might present an opportunity to revisit the tech.
Why Terraform?
General Purpose Compute: OCI - Flexible VM Shapes
If you read my previous article on OCI's foundational capabilities, it would probably come as no surprise that I recommend OCI as the de-facto target for general purpose compute workloads. Taking full advantage of its late-to-market positioning, Oracle architected something that as a practitioner and consumer, is a delight to work with. Deploying compute in OCI is cheaper, faster, easier, more scalable, more reliable... just better than the experience in any other hyperscale cloud. Period. The only reason I'd see you considering an exception is if you have an app that is so latency sensitive that it needs to run in the same physical location as its data source in Azure, for everything else, it's OCI.
Why OCI?
Identity: Azure - AzureAD
Active Directory is near ubiquitous in the enterprise game, and its cloud based incarnation in the form of AzureAD has long been the complete package thanks to a close integration with Office365. The Identity space in OCI is still evolving, with the tack-on "Identity Cloud Service" (IDCS) slowly making way for the OCI native IAM stack, but at no point in the future do I see IAM usurping AzureAD as an organisation's "source of truth" IDAM solution. Federate both IDCS and IAM back to AzureAD and you'll never find yourself painted into a corner or lacking feature/functionality.
Why Azure?
Oracle DB: OCI - Database Cloud Service / Autonomous DB
I don't think it's any surprise here that Oracle workloads run best on OCI. With the full gamut of service offerings from roll your own on IaaS (the only option for Oracle DB workloads in Azure), to a semi-managed Database Cloud Service (which streamlines DB operations but still gives enterprise access to the VM to install agents and customisations), to the fully self driving Autonomous Database which patches, tunes, scales and repairs itself - in my mind, the opt-out target for any database workload in the cloud, it doesn't make sense to run these workloads anywhere else. Add to that the double license benefit of bringing your existing Oracle licenses to OCI and Support Rewards and you have all the technical, financial and operational ammunition you need to make this a very easy argument for Oracle on OCI.
Why OCI?
MSSQL DB: Azure - Azure SQL
Just as OCI helps drive Oracle DB deployments "up the stack", Azure SQL does the same for MSSQL. For those customers who aren't yet ready to take the leap to the latest, fully managed MSSQL service, there are benefits to falling back to IaaS in Azure too, such as the Azure Hybrid Benefit which allows you to BYO Windows and SQL Server licenses (with SA) to Azure VMs. When doubled up with free extended support for older (eg. 2012R2) MS OSes and Applications, a move to Azure can potentially save organisations $10s or even $100s of thousands.
Why Azure?
Open Source DB: OCI - MySQL Database Service / Flexible Compute
There's been a concerted move away from "expensive" closed source database platforms over the past 5-10 years. It's a move I don't necessarily agree with in the enterprise space, as I think more often than not the additional support, operational and re-platforming costs, not to mention the level of functional compromise you typically need to accept exceed any true benefit of "freeing" yourself of the tyranny of either Oracle, Microsoft or IBM. That said, I'm not a developer, and I appreciate there's a sense of liberty that comes from shaking a licensing millstone.
To this end, out of OCI and Azure I think former provides the richest set of options and best underlying platform for serving up open source database solutions. On the one hand, you have arguably the most popular open source database solution, MySQL delivered as a service, by the supporting vendor and with Enterprise support included (the only cloud platform to offer this). When I was running teams utilising open source DB platforms, the quality and cost of enterprise grade support probably stuck in my craw more than anything.
Move away from MySQL to solutions that require you to self-deploy and self manage the infrastructure, and all the reasons outlined in the General Purpose Compute section come to the fore. And this is particularly pertinent for DB workloads where performance and reliability tend to be paramount.
Why OCI?
NoSQL DB: Azure - MongoDB Atlas / Cosmo DB
There's nothing fundamentally wrong with the OCI NoSQL Database Cloud Service... it's just that everything it does functionally, MongoDB Atlas and Cosmo DB (which are both available as managed services on Azure) do better.
Why Azure?
Data Warehousing: OCI - Autonomous Data Warehouse
The Autonomous Data Warehouse has long been touted as the jewel in the crown of the OCI platform, and to a degree I think Oracle's maniacal focus on it has actually detracted from commentary on the quality of the rest of the platform. That said, it is phenomenal. A couple of clicks, and you're away, with a self-tuning, self-repairing, self-scaling relational data warehouse that destroys anything else (Teradata, Snowflake, Azure Data Warehouse, Redshift et. al.) in a TCO/performance shoot-out thanks to its underlying Exadata platform and AI/ML smarts. It's just set and forget, and that's my kind of service.
Why OCI?
Analytics: Azure - PowerBI Pro
This could be the closest call in the whole list and the proviso here is that you have a functioning data integration/warehousing pipeline - with that in place, the community support and quality of PowerBI visualisations is impossible to overlook. For organisations looking to start their journey into a unified data visibility platform, you have a couple of options: OCI's Oracle Analytics Cloud Service (OACS) and Azure's Synapse which both offer fully managed light-touch ETL, Visualisation and data democratisation services, but OACS is that little bit more mature, and a little more polished when it comes to the quality and capability of the individual components underpinning the platform (specifically, the Data Integration and Warehousing services), not to mention it's considerably cheaper than the Azure alternative.
Why Azure?
Application Integration: OCI - Oracle Integration Cloud
Oracle Integration Cloud (OIC) and Azure Integration Services (AIS) are both capable iPaaS solutions, with low code message flow canvases and a large overlap of out-of-the-box connectors for third party services. If you're a heavy Microsoft shop (Dynamics, Sharepoint et. al.) AIS is going to make the most sense for you, but if you have a gravity of Oracle enterprise applications, an existing Oracle SOA deployment or are yet to build out your Enterprise Service Bus, OIC is the more mature, cost effective and capable product.
All this said, if you're an existing Mulesoft, Boomi or Informatica cloud customer, I don't feel there's enough in either of these products to have you considering a migration/consolidation.
Why OCI?
Data Integration: OCI - OCI Data Integrator / Golden Gate
OCI offers a rich suite of data integration solutions and as you'd expect from the company who pioneered data storage and movement - they are rock solid. Batch and near-real-time data integration/ETL is handled by OCI Data Integrator which is the cloud native evolution of Oracle's on-prem Oracle Data Integrator. If real-time replication is your poison, then the venerable Oracle Golden Gate is also available as a fully managed cloud service. I think the justification for this rests in the fact that LinkedIn, a Microsoft owned company still use Golden Gate to replicate their data globally. Azure's Data Factory is good. But OCI's solutions are best-in-breed.
Why OCI?
Developer AI: Azure Cognitive Services
For the purposes of this section, I'm focusing on the suite of AI APIs available to developers to enrich their applications and workflows - image recognition, sentiment analysis, speech recognition et al. It's interesting that whilst Oracle boast of the power of the AI they've embedded into OCI, the amount of AI exposed to the user for consumption is still disappointingly sparse with OCI Vision and OCI Language only recently being added to the suite of services (and still pretty MVP in my books). Azure on the other hand has been going toe to toe with AWS and Google for several years now and has a really rich and capable set of AI services available for direct user consumption. This one isn't even close right now.
Why Azure?
Machine Learning/Data Science: OCI Data Science
Now this one is a little more interesting. Machine learning, and more specifically data modelling is very (surprise, surprise) data focused, and depending on application, extremely compute intensive too. Both OCI and Azure deliver Jupyter based notebook platforms for managing enterprise ML projects, but when it comes to training and executing these models (whether on commodity compute or HPC/GPU) the performance focused design of OCI delivers results faster and cheaper.
Why OCI?
Logging and Observability: Splunk Cloud Platform
I'm going to deviate from the script here a little and recommend a 3rd party cloud service in the logging and observability space. Splunk is far and away the industry leader when it comes to collating, organising and responding to log data. Whilst both clouds have Logging and Observability platforms that are capable of ingesting data from external sources, this is the sort of thing you want sitting in an independent, tertiary domain so you always have access to critical security and operational data in the event of a disaster. Collect on source, ship to Splunk, standardise IT and Sec Ops to a single platform.
Why Splunk?
Kubernetes and VMware: Both Clouds
I'm bundling these two together as the reasoning and ultimate cloud targets hold true for both. Cop out? Maybe... but there's a method to my madness here. OCI and Azure both have mature and capable managed Kubernetes and VMware cloud platforms and given both are effectively industry standard manifolds they represent the perfect "common ground" for highly portable workloads in your multi-cloud environment. Now I know there are a number enterprises who have sufficiently abstracted their app stack away from the underlying infrastructure (through one mechanism or another - Kubernetes being one of them) to be able to deploy agnostically without VMware, but for the vast majority who haven't, VMware on both hyperscalers is a rapid way of getting your "traditional" workloads to the cloud, and a great way to tick that BCP box as you decide on your ultimate cloud pathway.
Why both?
Summary
So just a quick recap of the blueprint:
And that's a wrap for now. I see this as an evolving document - as new services and requirements surface, my thoughts and positioning will undoubtedly pivot. Just to stress again, these aren't absolutes but rather what I would be leaning towards today if I was looking after EveryCorp Pty. Ltd. and its set of common ICT requirements. I hope it helps those looking to embark on a multi-cloud journey and look forward to the discussion I suspect this will provoke!
I'll leave you with this final thought: just because you can, doesn't mean you should, but if you've at least sketched the art of the possible, you'll have conviction in your why.
Since AsterionDB's technology deployment and security has been mature for quite some time, I am focused in leveraging it as a part of the technology assisting new customers.
2 年I think this is especially true as larger monolith applications are able to break off pieces into micro services, typically planners may be thinking in terms of a single cloud, this is a natural next step to imagine the right cloud for the particular service (many times that has to consider the storage of state). Your table give a great guide for this selection. Thanks!
Cloud Solution Architect at Rackspace | Azure Technologist
2 年Brilliantly insightful, I must say. In my view, #multicloud has more to do with what is in-between the multiple cloud platforms under consideration, not only limited to the cloud platforms themselves.
Helping companies see clearly and understand fully
2 年Tom, let’s build a 3D model of the blueprint so people can see and understand how and why it all fits together. There’s great knowledge and expertise in this work so let’s give it the visualisation it deserves
We’ll done! I love the topic!!