1. Create a Framework for Mapping Workload Types to Specific Services
IT will need more specific considerations when determining which types of workloads run within cloud environments. For example, Amazon Web Services it is not necessarily the best option for every infrastructure-as-a-service (IaaS) need despite being the top IaaS provider. Services like AWS Lambda, which empowers organizations with cloud-based compute resources, are incredibly beneficial for scaling applications. However, it may be difficult to port some features if you ever decide to change environments for the code you’re running in this service.
Determining the best approach to cloud workload optimization will require a framework for evaluating your current environment and considering your future scaling needs. Below are a few important elements to keep in mind as you develop this framework:
- Do any workloads currently in the cloud depend on a service providers’ proprietary features?
- How do departments throughout your organization access your cloud services (e.g. public cloud, VPN, etc.)?
- What are the costs of moving data between different cloud providers?
- What dependencies exist between workloads in different cloud environments?
We recommend that organizations make their workloads as platform- and provider-agnostic as possible. If you do identify critical areas where workloads are dependent on proprietary elements of a provider’s IaaS environment or you’re leveraging SaaS, you should consider creating a plan for what happens if or when you’d need to migrate these workloads to an internal cloud or a different service provider.
2. Develop a Plan for Flexible Integration
One of the complexities that come with managing a multi-cloud architecture is the need for integration between many different services. As noted above, this can involve significant cost if data must be moved between different cloud providers, but it can also be challenging at the software layer. Popular cloud services, including AWS, Microsoft Azure and Salesforce, have API libraries, however it is still a good idea to review and evaluate these resources and identify any integration gaps that you have. Furthermore, you should have a plan in place for when the APIs for specific services you’re leveraging are discontinued or no longer supported. For example, Microsoft announced in April 2019 that it planned to discontinue its Automation Service Management REST APIs as part of a transition toward a new service it was deploying.
Your integration plan will also need to consider when you move new applications into the cloud or when you’re moving software to a different cloud environment. One of the challenges when moving on-premise apps to the cloud is that point-to-point integrations must often be rewritten.
The goal behind planning for integration should be to build in flexibility from the ground up. Take stock of the flexibility of your current environment and ensure that the framework you’re using to scale your multi-cloud architecture is as adaptable as possible. You can do this by leveraging platform-agnostic solutions whenever it’s feasible and ensuring you have the development resources to handle more complex integration challenges as they arise.
3. Evaluate and Plan for Automation Opportunities
Automation has long been one of the main benefits of migrating workloads to the cloud. However, IT organizations may need to rethink automation when optimizing for multi-cloud. This often means going back to the basics, such as taking stock of existing workflows and deciding which should be automated. In a basic cloud environment, workflows exist primarily within one environment, with limited dependencies spanning multiple systems. In a multi-cloud world, however, a single workflow may stretch across service providers and entirely different technology environments.
As Michael Bushong, Vice President of Enterprise Cloud Computing at Juniper Networks, noted, this requires that automated workflows be configured in a way that manages these differences and seamlessly shifts workloads between domains.
One of the first places to start when looking to automate a multi-cloud environment is configuration management platforms. For organizations that are accustomed to operating within a single cloud environment, they may be using a proprietary tool designed specifically for that environment. This can offer some benefits; AWS CloudFormation, for example, lets you represent your infrastructure in a text file.
As you adopt a more diversified cloud strategy, though, it’s important to ensure that your cloud management solutions can see your assets across platforms and environments. In addition to proprietary solutions, you may consider third-party open source platforms, which offer the benefit of customizability with the ability for multi-cloud integration.
There are a few key areas to think about when looking for automation opportunities:
- Automate for reliability
- Automate for availability
- Automate for security
There is some overlap between these categories, of course, but these are key areas where you can make improvements either in performance or efficiency. Automated strategies for reliability include solutions such as automated virtual machine duplication, while availability would include solutions like automated switchover.
While these strategies are nothing new for the cloud, the dynamics of how they must be executed change in a multi-cloud environment. For example, if you do automate switching from a primary instance to a backup, you’ll need to ensure that service disruption is minimal, and that any dependent applications from other clouds can still utilize the same resources of the backup.
4. Optimize Networking Infrastructure
The above considerations are all designed to help you build a map of your application and software needs that are aligned with how your cloud environments currently operate and what you will need to scale your business. These considerations are important, and you can use them to identify your networking needs and optimize your infrastructure accordingly. As we’ve previously noted, data center infrastructure strategies are increasingly evolving to focus on the customer experience.
Networking is a key part of this evolution and flexibility again comes into play here. For example, you may run into performance issues if you scale the geographic reach of your business but your data center infrastructure is completely located within the same geographic region. Similarly, meeting your performance needs will likely require you to rethink your networking approach as you scale your infrastructure — the more you scale your infrastructure, the more valuable high-bandwidth networking infrastructure and direct connections to your carriers, cloud providers, and business partners become.
The networking element of this optimization plan is especially important to us at Digital Realty. We’ve seen first-hand how optimized infrastructure, including networking infrastructure, enables both high resiliency and high performance IT environments. The most important factor to consider as you think about investing in networking solutions for your multi-cloud architecture is long-term sustainability. There will always be short-term objectives that need to be met, but, as much as possible, these should be made in concert with building up toward a long-term, flexible network architecture that future-proofs your IT environment from disruption.
For more information about the advancement of data center infrastructure, read our white paper: Customer Experience is at the Heart of Data Center Evolution.
Taking the Next Step with Multi-Cloud Optimization
The main conclusion we can draw from the evolution of multi-cloud architectures and the widespread adoption of multi-cloud strategies is that IT’s role in the organization is rapidly changing, though we view this change as more of an opportunity than a disruption.
IT’s role is more directly tied to business strategy than ever before. Although many technology functions and resources are moving into the cloud, IT must strategically optimize these services. Just as there is no one-size-fits-all strategy, the mixture of cloud services and ways of managing them will be unique to each organization. That being said, common themes will emerge as multi-cloud architectures mature.
The future state of the cloud will take the form of some combination of various cloud providers and on-premise infrastructure, as well as software integrations and networking infrastructure tying these different platforms together. Given the challenges and complexity of this type of environment, IT’s role will evolve to become more strategic and more involved with vetting different services and platforms. There will be a greater need to balance the requirements of the business and manage a far more complex architecture, addressing infrastructure concerns ranging from the computing resources powering applications to the network connecting different services together, often on a global scale.