It is safe to say that the cloud has already reached a certain degree of maturity. An increasing number of enterprises, both small and medium-sized, as well as, large corporations, are utilizing solutions. Gartner is estimating that by 2021, 75% of midsize and large organizations will have adopted a multi-cloud or a hybrid strategy.
One must be aware that migration is not as easy as it seems, and it affects the way companies operate. Thus, to make the Agile transformation living up to its name, the cloud migration strategy has to be in place. Below, you will find the answer on how to prepare your company for the change and what are available solutions.
The first step before starting is to establish why we are considering migrating to the cloud. If we want to solve a pressing business problem, there are plenty of ready-made solutions. This licensing model allows not only for a significant lowering the costs but also decreasing the time required to provide appropriate service by the SLA provider. As a subscription, we can now purchase not only an office software suite but also CRM, ERP systems or even dedicated software development management solutions. Another compelling reasons to act are:
- Cost optimization
- Security of data in cloud
- Access to automatic updates
- Disaster Recovery
- Loss Prevention
Knowing our business objectives, we can move to the next phase. In an attempt to plan the entire process, we need to discover and analyze the portfolio, i.e. identify all company’s IT resources. According to the definition provided by Google, the software audit serves the purpose of evaluating the current situation, delving into the application and infrastructure environment, track dependencies, or system requirements. It is also the stage of determining the total cost of ownership (TCO), i.e. the overall cost of support and maintenance.
- Conducting inventory checks of applications and technologies
- Organization of applications and resources into categories
- Team education
- Creating a proof of concept
- Calculation of the total cost of ownership (TCO)
- Identify resources to be migrated in the first place.
Conducting an inventory check of applications and technologies
A review of your current application, its components, and the runtime environment is a key to effective migration. It is necessary to check all available resources – technologies, databases, data warehouses or networks, and the relationships between them. As a result, we should have listed all used machines along with their specifications, operating systems and licenses.
Organization of applications and resources into categories
After reviewing the application items and company resources, it is advised to organize them into categories. You can create your own categories; however, it is worth considering factors such as the importance of the element and the dependency level.
Your team should have a deep understanding of the impact of cloud computing. The transition from on-premise involves a change in the responsibilities of administrators. In such situation, professionals should get all thel information from the source to operate the solution, simplify or automate processes, and use programming languages, frameworks to improve implementation. If the migration itself also brings a change in departments other than IT, it is worth ensuring an appropriate level of awareness in other areas of the organization.
Creating a proof of concept
Proof of concept (POC) is a test version of the IT system, checked in terms of business needs and the requirements to be met by the final version of the program. At this stage, your team should experiment with the solution to identify those that meet the application requirements and respond to specific use situations. For instance, that phase can include handling a very high load on virtual machines or a comparison of the performance of on-premise databases.
Calculation of the total cost of ownership (TCO)
The total cost of ownership includes not only the price of the machines purchased or the cost of cloud services. When calculating the TCO of an on-premise solution, you should take into account the cost of servers, networks, maintenance costs and service works.
Identify resources to be migrated in the first place.
The final step in the assessment phase is selecting the resources to be migrated as first. Companies should choose simple, low-level elements. Good examples of the aforementioned are applications not critical for business so that the rest of the organization does not suffer the effects of the test migrations or elements that do not require refactoring or migrating large amounts of data.
Depending on business objectives and the current state of your company, there are many approaches to consider. To help you decide which options will serve you best, below we will go over the most popular cloud strategies:
- Cloud First
- Hybrid Cloud
The implementation of this strategy should be motivated by the current ecosystem within the organization, where the migration of the entire application portfolio is difficult due to technical or business aspects. In such circumstances, the lift & shift method is not possible or profitable, and the architecture redesign of the systems is too difficult, e.g. due to the maturity of the team. In order words, we should consider Cloud First, when the migration of the current system to the is not possible.
The Cloud First strategy implies that the cloud will be the first choice for any planned solution when considering building a new system, as well as, its modules. New solutions should be adapted to the cloud architecture – even if they are not immediately launched in the cloud. Furthermore, Cloud First means the strategy should include a roadmap of rebuilding the current systems and adjusting it to the new architecture. Thanks to the described approach, we are not only focusing on new solutions but also preparing the entire organization for the adoption of the cloud on a more granular level.
The hybrid approach takes advantage of both: on-premises and cloud benefits combining the current method of delivering IT resources and services with entirely new possibilities offered in the area by cloud computing. This strategy should be the first choice for most large and medium-sized enterprises, for which migration to the cloud is a long-term process.
When choosing the hybrid, we should take care of standardization between environments, e.g. in terms of identity, network, monitoring, deployment, eventually allowing to blur out the boundaries between the environments (on-prem and cloud). Furthermore, central management would also minimize the cloud security risk.
Over time, the hybrid should also blur out the boundaries between the environments (on-prem and cloud). It doesn’t mean we have to unify everything. Still, the tools and standards should be selected with further simplification and unification in mind.
What we refer to as Multi-Cloud strategy is the use of at least 2 public clouds simultaneously in order to build IT environments or solutions. It allows solving problems in the most optimal way for us, e.g. by allocating workloads to various clouds. Additionally, the Multi-Cloud strategy minimizes a risk vendor-lock, i.e. the possibility of becoming dependent on one supplier, limiting the risk of exerting a pressure on suppliers at the same time. Technological diversity also serves as a great way for budget optimization.
Yet, since we need to cooperate with more than just one service provider, the multi-cloud approach requires much more preparations. Thus, we should strive for a precise definition of the technical and business process allowing us to deliver secure cloud services with a central point serving as a Cloud Governance. Companies which tend to use Multi-Cloud have to be aware that to succeed they have to prepare IT teams, by transferring relevant competencies and gaining valuable experience.
Cloud-Native was created on the basis of the assumption that businesses need speed and flexibility when it comes to transferability of the application between different clouds. This strategy serves as a great fit if the scaling of application modules is important with their frequent releases, e.g. every few days. Furthermore, it should be used when software development in a monolithic architecture is no longer possible, and teams are in need of more flexibility.
Cloud-native has been used by companies such as Facebook, Netflix and Amazon for years. Projects on cloud computing allows them to create and develop applications much more efficiently, using the potential of cloud services in terms of scalability, productivity and security. However, since it requires the use of other paradigms that often deeply interfere with our solutions, the cloud-native model is difficult and expensive, theregore, not all applications should be created this way. Moreover, one has to remember that Cloud Native used inappropriately can generate more damage, costs and risks than a monolithic system.
Apart from Cloud strategies, we need to decide on the best migration process, which will be in line with our business objectives. Bear in mind that the best solution can help you save time, money and precious resources.
Lift and shift
This strategy is often used, when we need to migrate the server or application as soon as possible. A company can make use of it when there is no complete documentation of the application’s source code, as well as, to transfer software development environments.
- Time pressure and lack of additional funds
- No full documentation of the application’s source code
- Test and development environments
This strategy is often associated with changing the operating system or database engine.
- No equivalent of a given solution in the cloud
- Expiring licenses or inability to transfer licenses to the cloud
This strategy is used for replacing the local application with a new cloud version based on SaaS or options available in the Marketplace.
- No licenses, expiring licenses
- Reduction of costs related to the maintenance of your server infrastructure
This strategy is used to change of architecture, system components, database or the code of the application itself.
- New architectural requirements related to reliability, scalability or ensuring high HA
- Meeting the standards, e.g. PCI-DSS, or the need to use specific cloud services
This is a strategy used for elimination of redundant servers/applications.
- Purchase or merger of companies related to the takeover of IT infrastructure
This is a strategy under which we leave servers/applications on-site, in the local Data Center.
- No possibility of server or application migration, e.g. due to the operating system, architecture or dependencies with other internal systems
- When the cost of migration is too high
Regardless of the reasons for which you want to move resources to the cloud, only a well-prepared strategy of migration to the cloud and the migration to the cloud itself allows the customers to achieve flexibility, high availability, much faster implementation and implementation of applications. Yet, before the project starts – on top of the aforementioned – you need to establish business objectives and the current state of your technology inventory that will prevent your company from wasting time, money and resources.
Do you want to know more about cloud ecosystem and who is the market leader? Check out the Cloud Market Share 2021.