Cloud Migration Strategy: How to Choose a Successful One?
Table of Contents
There are two ways of how to host a company’s IT infrastructure: on-premise or in the cloud. The on-premise approach implies all required software and hardware resides in-house. A dedicated IT specialist qualified to maintain servers and their security are also required. Companies may hold either several servers or large data centers.
Cloud computing or cloud migration is an umbrella term meaning cloud computing services provided through the Internet. Cloud platform stores and proceeds the data, keeps it safe, and grants access from any device connected to the global network. With the cloud migration, the costs for maintenance of the infrastructure are covered by the cloud services provider.
Although cloud computing was invented in the 1960-s, it started gaining popularity only in the 2000s. In 2004, one of the biggest cloud services providers, Amazon Web Services (AWS) was launched for the public. Later in 2010, Microsoft launched its cloud platform called Azure followed by the Google Compute Engine launched in 2013. Since then, the market for cloud services has been growing. According to the forecast by Gartner, in 2021, global public cloud spending will reach $332.3 billion, increasing by 23.1% compared to 2020. Partly the cause of such growth is the restrictions and challenges caused by the COVID-19 pandemic.
The cloud demonstrated itself as an effective tool in handling a variety of unpredictable issues. For example, migration to the cloud allowed an online marketplace Etsy to take control of the rapid spike in e-commerce. Pharmaceutical company Moderna is using AWS compute to identify protein families that can be used as part of the COVID-19 vaccine. It reduced the time of sequencing the SARS virus from 20 months to 63 days. Application of cloud computing for the machine learning and processing of a natural language allowed to create Babylon COVID-19 Care Assistant.
For these reasons, it is not a surprise that according to Flexera’s survey of 750 global cloud decision-makers, 29% of respondents reported a significantly higher cloud usage than was planned.
In such a way, in 2021 the implementation of cloud computing is a global trend. If you want your business to go with the most modern IT solutions, considering cloud migration is a good idea. Let’s have a closer look at what cloud migration computing is and why companies are spending so much funds on it.
What is cloud migration?
The term cloud migration implies the process of moving data, workloads, IT resources, or applications to cloud infrastructure. Cloud migration strategy both refer to transferring from on-premise to the cloud, or from one cloud to another. Migration may involve the complete infrastructure or only some assets.
4 types of cloud computing
The cloud resources may belong to a third-party vendor that provides services for the public, or to a private company that uses cloud infrastructure solely. Some businesses divide their computing and storing tasks between public and private clouds. Also, it is common to use the services of different cloud computing vendors.
- Private clouds are owned and exploited by a single organization that seeks maximum control over the customization and security of the IT infrastructure. Those are such major actors as government organizations, financial institutions, tech giants, etc.
- Public clouds are the servers whose powers are provided to the clients by third-party vendors. The clients usually pay for the computing time and memory usage instead of constant rent for the hardware.
- Hybrid cloud connects units of public and private clouds and allows resources to flow between them. It works well for an organization that requires extra control over sensitive data without losing an opportunity to exploit the resources of public clouds.
- The multi-cloud hosting model exploits the services of multiple cloud computing providers and is the most popular ERP strategy. It helps to avoid the dependence on a single vendor service and makes business more agile. You may also use a multi-cloud for testing the services and find from your own experience which is better.
As a technology, clouds arrange the functionality of all the required components for the application to run. Those are software, platform, and infrastructure.
3 main cloud service models
Software as a Service
SaaS (Software as a Service) is a way of delivering applications over the Internet with nothing required to be installed on your computer. The application is run through the browser. The great benefit of the SaaS application model is that computation is run on the vendor’s servers. There is also no need to manage patches from the client’s side. Examples of SaaS are Microsoft 365, Slack, and Trello. To learn more on how SaaS products are developed check our case study of designing a pre-construction budget and cost estimating tool for a start-up company. It was requested for the application to have a dynamic dashboard for real-time analytics, expenses tracking, and secure file exporting in different formats. With the help of such tools as AWS CloudFormation, AWS Cognito, and AWS Fargate, we delivered an application with a performant and scalable cloud infrastructure.
Platform as a Service
PaaS (Platform as a Service) creates an environment for IT developers. It provides them with operational systems, development and testing tools, database management systems, etc. The examples of PaaS are IBM Bluemix, Google App Engine, and VMWare Cloud Foundry. A similar platform was developed by Euristiq for the IoT product and engineering services company. The platform should have enabled customers to manage their devices through all aspects of the hardware/software lifecycle. An opportunity to build the client’s own applications on top of the IoT Cloud platform was requested as well. The use of AWS IoT functionality helped to reduce the development time by fortune. The system’s scalability and cost-effectiveness were guaranteed by the AWS Fargate. CloudFormation (infrastructure as a code) helped to automate the infrastructure deployment. As a result, we designed a convenient IoT platform with a Public API.
Infrastructure as a Service
IaaS (Infrastructure as a Service) implies renting a cloud server for storing and proceeding with the data. The hardware side of application functionality is served by the vendor. The IaaS provider purchases and maintains the server computers as well as supports the operational systems. The examples of IaaS are IBM Softlayer, Hetzner Cloud, and GigaCloud.
The spectrum of cloud technology integration into business life varies from cloud-enabling to cloud-enhanced.
- Cloud-enabling is not cloud computing in its pure meaning. It includes the technologies that allow customers to adopt cloud models partially. These technologies are visualization software, physical servers, WAN networks, and data center colocation. These technologies are useful for companies that wish to build their own cloud. Building blocks via necessary custom architecture and physical setup may be formed as well.
- The cloud-inspired approach is closer to a true cloud. The key difference is the lack of cloud APIs and usage-based pricing. The goal of implementing such a technology is to gain maximum client control to satisfy exotic hosting desires. Companies choosing such an approach are concerned with the higher degree of customization while achieving some level of virtualization, standardization, and automation.
- Pure cloud solutions are mainly delivered as a public cloud. They enable innovation provided by continuous adoption of new services from the vendor’s side making the company with pure cloud more agile.
- Cloud-enhanced applications are built on top of a pure public cloud and exploit cloud computing power. Examples of such applications are streaming services, machine learning platforms, GE’s Predix platform, etc. The goal is to experiment with the cloud’s potentially endless possibilities.
Why do companies migrate to the cloud?
There are plenty of reasons why businesses decide to move their IT infrastructure to the cloud.
Cloud computing provides you access to limitless computing power which is easy to scale up. There is no need to invest in the purchase, maintenance, and management of hardware as well no new employees for the low-level admin work are required.
Cloud computing is convenient for an Agile workflow. Since it is the vendor’s responsibility to provide the client with all the required resources, the company saves a lot of time by avoiding long procurement procedures. Also, there is no need to wait for the installation of the operating system, configuring and assembling of servers, and establishing connectivity. In such a way, the time for testing and deploying new products is reduced significantly.
Cloud computing saves money. By using cloud services the company turns the fixed costs for IT into variable ones which are a more effective way of enterprise resource planning strategy. With cloud computing, it is easy to scale up during the busy months and scale down during the slower ones. Clay Magouyrk, SVP of Engineering at Oracle Cloud Infrastructure, claims that their customers are typically saving 30-50% overall IT spends by moving applications from on-premise to the cloud. The other way how cloud applications save money is the greater possibilities for automation. Euristiq’s cloud experience shows that implementation of cloud-based software may save up to £400K per year for a big fintech company.
Cloud servers are more secure than on-premise. Big cloud vendors have more resources to protect the data than SMB businesses. They have contacts with the world’s best security experts as well as own large datasets about possible vulnerabilities. The data provided by RapidScale shows that 94% of businesses experienced better security after switching to the cloud.
Cloud servers are a convenient backup facility. Accidents happen every day and are unpredictable. Including cloud services in your disaster recovery strategy will help you to keep your business running even during times of sudden disaster. The biggest cloud vendors provide their clients with convenient DR tools. Azure supports Azure Site Recovery service and Azure Backup service while AWS provides CloudEndure Disaster Recovery.
Clouds improve revenue. Since the clouds are more effective than on-premise servers in terms of performance, scalability, agility, and security, it’s easier to gain a financial profit. Statistics provided by Dell show that companies invested in the cloud enjoy up to 53% faster revenue increase than their competitors.
5 R’s for cloud migration
So, what are the 5 cloud migration strategies? Cloud migration procedures may be organized in several ways. Those are often called five R’s and the most common ones described by Gartner are rehosting, refactoring, revision, rebuilding, replacing.
Rehosting (also referred to as “lift-and-shift”) means redeploying your current application to the cloud without major reworking. Such a migration usually doesn’t disrupt businesses’ functionality. It is fast and cost-effective. The expected result of a rehosting is the opportunity to run applications on better-performing hardware, without investing in hardware yourself. Rehosting also provides a quick expansion of data storing capacity. Although rehosting is easy to perform, not all applications may be redeployed on the cloud. Also, by shifting outdated software to the cloud, you may miss the potential benefits of exploiting the newer ones. For this reason, it is worth consulting with experienced cloud developers before the migration begins.
Unlike rehosting, refactoring assumes optimization of the application for the cloud architecture. The core design features of the applications stay unchanged while some adjustments are made. Since the approach entails intrusion into the code, the refactored application needs to be well-tested to avoid loss of functionality. For this reason, refactoring is one of the most time-consuming approaches.
Revising extends the previous strategies, however, requires more significant changes to the architecture and code. This is done to take full advantage of the cloud platform, which may require rewriting major code parts. Revising requires detailed planning and advanced knowledge of cloud technologies.
The rebuild approach takes source code modification to the next level and means rewriting the application from scratch. The decision to rebuild the existing IT infrastructure is made when current solutions don’t meet business needs at all. Also, rebuilding might be required when an ancient legacy application can’t be run on the cloud servers. Rebuilding the applications usually requires great investments of time and finance. At the same time, rebuilding has one of the highest long-term ROI indexes. Well-designed software creates a pure, cloud-native application with additional flexibility for any emerging future tech. To learn more about the rebuild approach, check how Euristiq helped modernize the legacy website for the airline company.
The other effective strategy to upgrade your legacy system is to replace it with the available prebuilt application provided by the vendor. Such an approach requires quite a little effort. The only thing that needs to be transferred is data.
Should you like to learn more about all the ways to deal with or modernize your legacy systems and migrate to the cloud, take a look at our article.
What is a cloud migration strategy?
Migrating to the cloud might feel like changing the tires while driving. To make the experience more pleasurable, the company chief should develop a cloud migration strategy. Before starting the migration you should answer why are you moving to the cloud, which elements of your IT infrastructure are you going to move and how are you planning to migrate.
The reason for the migration should be clearly defined as well as the expected outcomes. Formation of the cloud migration key performance indicators (KPIs) will ease the measurement of cloud migration success.
Study your current IT infrastructure. Make a list of elements and units you are using at the moment. Identify which of them are crucial for business functionality. Evaluate which software components may be transferred to the cloud as they are and which will require reworking. Estimate how much finance you may invest into migration and when the investment is required to return.
Explore the cloud spectrum. With so many cloud options including private, public, and hybrid clouds, it might be difficult to choose the right one. Each of the solutions brings its value. The company may benefit from all approaches, whether the strategy is pure cloud or hybrid, depending on the end goals.
Cloud migration checklist
Cloud migration is a complex process. To transfer your on-premise infrastructure to the cloud the next steps should be followed:
1. Refactor the code
Since traditional on-premises and cloud architectures significantly differ, to gain maximum profit from cloud computation rewriting of some parts of the existing software may be needed. Cloud’s ability to dynamically allocate and de-allocate resources requires refactoring of the allocation algorithm. To facilitate the migrations, it is worth splitting the monolith applications into several micro-services to be transferred in parts.
2. Plan data-storage
One of the trickiest parts of cloud migration is the transfer of data. The location of data is a major factor impacting your app’s performance. Moving data while users still access it and modify it is challenging. All of the changes must be saved and no data should be lost. There are several options for data migration:
- Apply bi-directional syncing between on-premises and cloud databases. Once data is transferred, unplug the on-premises database.
- Use one-way synchronization with a cloud and allow users to access only the on-premises database. Once migration is done, enable cloud-based consumers to access the new database.
- Exploit cloud data migration service provided by one of the cloud computing vendors.
3. Prepare the disaster recovery plan
With cloud technologies, there is always a chance that the internet connection is lost or the servers are damaged. Be ready for accidents. Maintain the backup facilities.
4. Test the results of migration
After your IT infrastructure is transferred to the cloud, it is a good practice to examine if all of the goals were achieved and if applications work as was planned.
- Test the performance. Confirm that resource allocation is optimized. The application should work properly on all devices. The actions of different users on the cloud should not collide.
- Test the security. Make sure that security mechanisms like firewalls, anti-virus keep their integrity. Verify that only authorized users have access to sensitive data. All of the information should be encrypted.
- Scrutinize the functionality. Check if all the requested functions work and no errors happen. Turnaround time should be quick. Test the input fields. Only the determined types of data should be allowed to be entered.
How to choose the cloud computation provider?
Although there are many cloud services vendors, the market is divided between several of them. The top three public cloud providers for enterprise are AWS, Google Cloud, and Azure with AWS being the leader and Azure rapidly continuing to narrow the gap with AWS. The other reliable providers include IBM Cloud, Oracle Cloud, and Salesforce, Cisco IoT Cloud Connect, and ThinksBoard Open-Source IoT Platform.
Amazon Web Services is the most commonly used cloud platform. In addition to the backend AWS infrastructure, it is complemented with data processing tools. The graphic user interface is very user-friendly and supports the customization of a layout. An unpleasant disadvantage of AWS is difficulties in combining the legacy on-premise infrastructure with the cloud. The platform is designed to force you to make a complete cloud migration.
Microsoft Azure is the second-biggest cloud services provider and it continues to grow. The platform provides new customers with the Azure Migration tool which supplies good intelligence about the current on-premise servers, specifications, and costs. Such information is provided prior to the data transfer and is important for the planning of the cloud migration process. Although Azure cloud is a great platform, some users complain about its low productivity compared to AWS.
The cloud platform from Google is another good option for testing the possibilities of cloud computing. With Google App Engine developing and deploying new applications has never been easier. The disadvantage of the platform is its difficult user interface. The majority of components are CLI-based and the console provides only the basic information.
In case you’re wondering which IoT Cloud provider to choose for your next IT project, check out our article about the 10+ best IoT Cloud Platforms.
Challenges with cloud migration
Although migration to the cloud brings a lot of benefits, the process itself is challenging. Some of the obstacles are caused by the legacy of existing IT infrastructure, some have an external nature. Let’s have a look at the most significant.
Cloud saves cost but planning the spending might be tricky. With fluctuating consumption of computing time and storing capacity, the expenses are often underestimated.
Data transfer to the cloud usually takes a lot of time. Luckily, some providers offer a service of physically copying the data to hardware with further ship-off.
Vulnerable security policy
Although it is the vendor’s responsibility to keep the data safe, several measures have to be taken from the company’s side.
- The access and admin rights should be carefully distributed. Company employees should have the fewest permissions necessary to do their jobs.
- The access to the cloud data should be restricted for the defined number of machines from the defined IP addresses.
As the second decade of the technological 21st century began, national governments started to value the privacy of their citizens. A number of regulating acts in Europe and the USA passed legislation on where and how to store clients’ data. According to European The General Data Protection Regulation (GDPR) law, the controller of personal data is responsible for the safety of the data even if the information is processed by a third party. This means controllers are obliged to ensure the privacy of personal data when that data is being transferred to a third party. Further restrictions may appear in the following years. For this reason, the company should carefully evaluate cloud servers’ safety and choose the most reliable one.
Political relations between countries also affect the rules of data collection and should be taken into account. Considering the recent trade war between the USA and China, hosting data at any Chinese cloud is a risky enterprise. Any Chinese technological business may repeat the fate of Huawei who’s products were banned for use in the USA in May 2019.
Cloud computing is a powerful tool capable of boosting your business progress. Lesser spendings on modernization and the support of the hardware and software infrastructure will free additional finance for the development of new services to conquer the market. Better performance of cloud platforms will guarantee that your clients are satisfied with the user experience. Greater scalability of cloud applications helps avoid bottle-neck situations when the business starts growing.
Nevertheless, migrating to the cloud requires careful planning. The company should certainly know which elements it is going to transfer to the cloud and which of them require reworking. The KPIs of the cloud migration should be identified. Security policy has to be defined as well. If you decided to migrate to the cloud contact us and we will gladly help you to develop cloud migration strategies that suit your business goals the best.