‘It’s on time and on budget!’ Who cares…if it doesn’t deliver business value?
Reframe project measurement around business impactRead More
Multi-cloud architectures are becoming more and more common. Indeed, more than 90% of organizations have already adopted multi-cloud solutions. Organizations are embracing these designs, which span multiple cloud vendors, for a variety of reasons and are contending with the implications of the designs. What are multi-cloud architectures, why are so many organizations are adopting them, and what can we do to manage the complexity?
Multi-cloud architectures involve more than one public cloud provider. They often involve various on-premise resources as well. At their simplest, multi-cloud implementations may involve various “as a service” offerings hosted across multiple providers, often transparently to the organization. Other multi-cloud solutions implement offerings from the “big three” (Azure, AWS, Google) or other public cloud vendors. Many sophisticated implementations deliberately choose to use multiple cloud vendors as part of a best-of-breed philosophy, to increase redundancy, or a variety of other reasons.
Organizations consider multi-cloud architectures for a variety of reasons:
Regardless of the specific reasons that leads any organization to a multi-cloud architecture, they are looking to make the most of each cloud component.
There are many factors to consider when evaluating multi-cloud architectures.
Pricing – It is critically important to fully model pricing for any proposed solution. Consider the cost to load, download, and store your data as well as the typical price per transition. Other factors such as logging or the use of API gateways can drastically increase costs.
Security – It goes without saying that securing two clouds is more than twice as difficult as securing one. Make sure that your designs encrypt the data at transit and while at rest by incorporating standard encryption, VPN tunnels, TLS, etc.
API Gateways – The use of lightweight API gateways provides a single point to centralize access, check security, and log access while providing a simple, unified access point for various APIs and services used.
Common Identity Mechanism – The use of a common identity mechanism drastically simplifies the management of users and access between cloud and on-premise systems.
Common Technologies – Establishing and enforcing a common technology stack between cloud (or on-premise!) environments reduces both the initial cost to develop and the ongoing maintenance costs. Some standards, such as Kubernetes, can even help maintain portability between different cloud environments.
Your Friend, CI/CD – Investing in Continuous Improvement / Continuous Delivery allows your teams to figure out the complexity of deploying to the cloud once and use it over and over.
Finally, it’s important to understand that multi-cloud architectures are not right for everyone. They are complex technically, can complicate compliance and auditing, and require more management. Modeling and predicting cloud spend can be much more complicated. They can even push you into more sophisticated identity or CI/CD solutions that you might otherwise need.
Multi-cloud designs can provide an abundance of benefits, from cost to flexibility to resiliency. Whether adopted deliberately or evolved based on a complex combination of vendors and solutions, you likely already find yourself in a multi-cloud environment and the guidelines above can help you manage them. If you’d like to talk to RevGen about your environment, contact us for a quick chat.