The application wave of cloud computing has swept the world, and the speed has increased. According to flexera's annual report on the status of cloud computing in 2020, 93% of respondents use multi cloud or hybrid cloud strategy. Providing computing resources as a service brings great flexibility to enterprises, which enables them to control costs and focus on core business requirements rather than data center operations. Over the years, with the popularity of high bandwidth, the field of computing has been developing, and various services and pricing models have been increasing. As suppliers not only provide basic computing power, but also provide platform-as-a-service alternatives and highly specialized services, such as data storage and machine learning, the complexity of consumers to achieve the best cost or best way is also increasing. However, one might say that this obvious complexity is the result of choice diversification, but in fact, for individual applications, the overall complexity may be reduced. This paper discusses the different aspects that lead to the complexity of cloud computing infrastructure and ways to alleviate this complexity.
All aspects of cloudy complexity
To make effective use of cloud resources, it is not enough to simply transfer existing internal enterprise applications to a favorite cloud platform. Generally, reconsidering the architecture according to the availability of cloud services can greatly simplify the design and operation. After all, eliminating operational pain is a major benefit of cloud computing. For example, applications that previously needed a highly available database cluster can be transformed into a database as a service (dbaas) client, eliminating the burden of operating and maintaining the database. Therefore, the proper use of cloud services and technologies may reduce the overall (Architecture and operation) complexity, at least for a single platform.
Corresponding to simple re hosting is cloud native transformation. Cloud native methods, usually related to container applications, fundamentally take into account the flexibility of the cloud. Applications are decomposed into services, and each service has its own life cycle, API and related semantics, fault tolerance and scalability. Usually, the transition to primary cloud is a long process. This means the potential complexity of workload management, which spans traditional intra enterprise applications, cloud hosting services and cloud native workloads (both inside and outside the enterprise).
Other factors that complicate multi / hybrid cloud applications include:
Security: each cloud has its own security specifications, which may have to be integrated with other clouds, especially for cross cloud applications. Putting applications on multiple clouds requires understanding these security specifications, because cloud based workloads will be exposed to threats that do not exist in local scenarios.
API: each cloud has its own API, with its own nouns and verbs. On different clouds, even seemingly the same cloud resources (such as images or instances) may have subtle semantic differences.
Log: in a distributed environment, it is important to provide visibility and diagnostic information through the operation log. Collecting and consolidating log information from multiple platforms can be complex. Logs are also critical for security audits.
Keep things consistent
It is true that organizations around the world are struggling with a complex and cloudy environment. However, this complexity is not inevitable. In order to confirm the existence of this global struggle, the enterprise strategy group recently conducted a global survey of 1257 it decision makers of enterprises and medium-sized market organizations using public cloud infrastructure and modern internal private cloud environment. The results show that over time, the fragmentation of cloud computing is becoming more and more serious, and many companies are looking for a "savior" tool set. They hope to get a comprehensive and detailed view of policy, compliance, security and cost optimization.
One expected result of the survey is that cloud management has clear value - however, even if it is known to be valuable, enterprises will struggle in implementation. Only 5% of enterprises widely use integrated cloud management tools, either within the enterprise or across public and / or private clouds. Although the market for all-in-one solutions such as VMware vrealize suite, flexera CMP and cloudbolt is booming.
For many companies, using cloud resources is not in their strategy, but just a temporary solution for individual teams to meet their needs. This disorderly migration to the cloud leads to a technology Island, and expands the overall complexity due to the introduction of a large number of scripts, tools, technologies and standards. In order to get rid of this complexity trap, enterprises had better adopt a cloud strategy supported by a flexible automation platform. It will not waste sunk investment, but it can provide a way for you to move towards a more manageable and cost-effective future.
Step 1: Communication
For any organization with a considerable scale, the design and implementation of cloud strategy requires the coordination and cooperation of many business functional departments and groups. This includes finance, product management, sales, engineering, operation and other fields, and may also include other fields. Without support and cooperation, no matter what strategy is formulated, it can not succeed. The key is communication to build trust, understand goals, and build a vision for a better future. This communication needs to be continuous, not just a step in the process.
Step 2: audit
It is common that companies do not have a comprehensive understanding of the current use of cloud infrastructure. The use of cloud often develops in an isolated island within the organization in a passive way. It is essential to develop a comprehensive strategy. It is best to break these islands, improve security and control costs when possible. Without understanding the current usage, any strategy developed is unrealistic and impossible to succeed.
Step 3: Plan
With the audit data, you can start planning. Like war, few plans can be carried out for a long time in contact with the enemy. Therefore, iteration is planned.
Cloud strategy is based on basic business objectives, which requires the selection of cloud platforms, which can be public, private or hybrid. For this part of the strategy, no book introduces the standard rules, but the requirements of availability, scalability, security, area coverage, performance and cost need to be carefully considered. Remember, these are preliminary choices, and any strategy should achieve a certain degree of cloud independence in its architecture.
The key to the success of the plan is to delay the destruction as much as possible. Therefore, the early key is to adopt technologies that are fundamental to strategic success. Note that the choice of tools may be affected by the choice of cloud platform. In the multi cloud strategy, this basic layer is automation technology, which can help us reduce and manage the complexity inherent in adopting multiple platforms. The groups most affected by this choice need to be deeply involved in the tool selection process.
Cloud independent automation can provide a way out of the technological jungle and provide centralized control and repeatable and versionable processes (i.e. infrastructure, i.e. code). Ideally, the automation platform can directly integrate CI / CD Tools and operation / business support system (OSS / BSS) through a well supported API. Such a platform can be deployed, recovered and expanded across multiple clouds and local systems / clouds such as openstack or vSphere. The infrastructure, or code approach, allows us to develop automated details quickly and incrementally. In this way, complex automation can converge to the best efficiency while avoiding the obstacles caused by relevant security reviews. A qualified platform will also support log aggregation of operational events and provide the ability to orchestrate and explore application log aggregation across multiple clouds and locally.
A company that wants to optimize according to service quality and / or cost will also face complex challenges, especially when it will maintain a certain degree of cloud independence as a priority. Here, the multi cloud automation platform can also simplify the management of different cloud platforms to take advantage of their respective performance, security, service or cost characteristics. Advanced automation can put the workload in the most reasonable place at present and adjust it according to the changes of the situation.
Automation platform definition
Once the automation tools are selected, processes and best practices can be put in place. This process includes the design of cloud access and usage control, which is very important for the cost control of public cloud. At this stage, employees can receive training and gain experience in building automation to support their operations. In addition to engineering operation, at this stage, other functional departments of the company can be familiar with the information exposed by automation tools and cloud platforms and incorporate them into their work functions. At this stage, you can design an end-to-end system prototype to integrate functions from sales and service ordering to service delivery, governance and reporting.
The final step in this process is practical implementation. As mentioned earlier, the promotion of "Big Bang" is very impossible (and very undesirable). A better way is to select one of the silos to adopt the new system first, summarize the lessons learned, improve it, and select the next silo to repeat the process.
The digital transformation to the future cloudy / hybrid cloud is a process full of hope and danger. The advantages of the cloud model may be offset (or worse) by the complexity it brings. Adopting a flexible, cloud neutral automation platform can manage this complexity by providing an infrastructure, that is, code, and allow the reuse of existing automation assets. The incremental approach of automated development, combined with the process of reviewing the correctness and security compliance of automated templates, can maximize the benefits of adopting multi cloud while minimizing the risk.