Homepage > Journal > How to move an application to the cloud?
Journal

How to move an application to the cloud?

How you like that:

You ask in different ways: How to move an application to the Cloud? How to migrate to the Cloud? How to move your data to the Cloud? What is Cloud Migration? Below you will find the answers.

Application migration is a process you need to be adequately prepared for. That's for sure! But how to choose the best provider? Using what criteria? How to perform application migration? This article will give you specific and helpful answers to these questions.

Cloud Migration or the devil is not so black as he is painted

Moving business applications to the Cloud is a multifaceted and complex issue, but it runs smoothly in most cases with proper planning and preparation. In a nutshell, application migration to the Cloud is the issue of:

  • Technology
  • Logistics and operation (e.g., in many industries, migration should be dependent on seasonal load cycles)
  • Administration
  • Finances
  • And mentality to a great extent.

Although it seems the least important, the last point, in practice, plays a key role and can be the most problematic. The resistance to cloud solutions and fear of moving applications to an external provider is mainly unfounded and based on myths. The most common are the beliefs that the Cloud:

Vendor Lock-In is an undesirable business-wise and potentially harmful situation of a company's dependence on the provider of products or services. The dependence arises when the change of the provider entails significant costs exceeding the benefits to be achieved in cooperation with another company.
  • Enables third parties to access confidential data
  • Gives rise to more risks than On-Premise solutions
  • Is expensive, especially in the long term
  • Is appropriate and suitable for big and complex projects with increased validity status and for large entities (e.g., global corporations)
  • Is problematic as regards configuration and management
  • Is environmentally unfriendly and, therefore, detrimental to the company's image
  • Makes the customer dependent on the service provider (Vendor Lock-In)
  • Is inflexible and restrictive as regards development
  • Is uncertain and untested and, therefore, potentially unreliable
  • Is another trendy solution that will soon fade into history, thus creating the need to solve unnecessary, avoidable problems.

OK, let's check it. Is at least one of the above doubts true? No. But they are understandable. Every new solution, in particular a groundbreaking one, at the beginning gives rise to a number of concerns and misconceptions.

It was the same with Cloud Computing services. Life has verified the above myths, proving that Clouds have many more advantages and offer many more benefits than problems they generate. The problems that are mainly anticipated and not actually experienced.

migration to aws - cloud products
Amazon AWS product stack

We develop applications based on AWS services and AWS components.

Cloud migration: facts instead of myths

According to their customers, also surveyed by independent bodies, the trusted Cloud Service Providers guarantee the confidentiality and security of data. Actually, cloud services eliminate most risks (e.g., related to scalability or security). Usually, they are more cost-attractive. In particular, if you consider changing capital cost into the operating cost. The customer structure has for years clearly demonstrated an increasing share of smaller entities to which cloud solutions are often dedicated.

It is similar to other issues.

Cloud migration is a solution enabling an organization to reduce costs. As a result of Cloud migration, you have access to highly specialized functionalities (e.g., content distribution or database configuration). So you don’t have to expand your team with further specialists creating the tools your company needs.

AWS Ground Station: a dedicated satellite communication management service.

Open-source frameworks and the cloud service providers themselves solve the problem of Vendor Lock-In. This certainly applies to the industry leaders who use these frameworks.

Market presence, cloud service package expansion, and growing demand clearly contradict the myth of temporariness. Cloud services have become a standard. They are proven services used in most industries. They are valued for their security, cost attractiveness, and capabilities.

If you could point out a market trend that sets the standards for the coming years, it definitely would be Cloud Computing. And Cloud migration will soon be considered a matter of course. Already today, the companies that do not use cloud services and consider the migration process risky are increasingly perceived as anachronistic and less attractive.

So, we have dealt with the myths. Now it’s time to answer the fundamental questions.

Did you know... Cloud Computing can be dozens of times less expensive than On-Premise solutions.

How to move a web application to the Cloud?

Moving (mobile or web) application to the Cloud is a process in which you move an application, data, and infrastructure components to the cloud service provider’s server to obtain:

  • Better performance and scalability
  • Access to functions, solutions, and applications supporting the management of resources, processes, requests, and events
  • Access to high-tech and very costly tools that, when created independently, are time-consuming and require significant financial investments (e.g., Amazon Rekognition)
  • Optimum use of resources, applications, solutions, etc.
  • Data security and improved level of their protection
  • Risk reduction and credibility increase
  • Reduction of the costs of infrastructure maintenance.

In practice, it means changing the way of thinking in the first place. The Cloud will appeal to anyone who likes to use proven, ready-made solutions. The developer do-it-yourselfers will also like it. In particular, if they understand that ready-made solutions also enable DIY, only on a slightly higher level. Instead of creating blocks, you can build with blocks in the Cloud.

And this involves a change in the mode of operation and the work of teams of specialists, organization, management, and control of processes and technology monetization. Goals, means, tools, and tasks change with applications moving to the cloud. More generally, a company’s business model changes.

When talking about the process, we’re talking about stages, steps, preparations, activities, goals, indicators of their achievement, and the criteria we will use for evaluating, comparing, and selecting a service provider.

You could say without exaggeration that the most challenging issue in application migration to the Cloud is the selection of the provider. The market offers a vast range of providers and possibilities they offer. However, the major players in the cloud market are Amazon AWS, Microsoft Azure, Google Cloud, and Alibaba Cloud (especially recommended for companies operating in the Asian markets). So what criteria to consider to select the best cloud service offer?

cloud computing - statistics
Comparison of the largest Cloud Computing market shareholders. | Source: CloudConsulting.eu

Cloud Migration - Criterion of economy

Interesting Fact: The banking and cryptocurrency industries are most likely to use Cloud Computing services. The growing popularity and volume of online banking services and the interest enjoyed by cryptocurrencies will strengthen the position of cloud solutions.

Economic motivation is, of course, one of the most common reasons. The ability to minimize and optimize costs is the essence of cloud services. Naturally, cost differences are a very individual matter, but the vast majority of Cloud users consider the economic aspect important and convincing.

Criterion of competitiveness

The same applies to effectiveness and the need to strategically secure market position and gain an advantage. Cloud solutions increase the chances of market success and are the tools for competing. They are simply technologically much more efficient, stable, secure, and forward-looking.

In addition, many of the offered tools are too difficult to be built independently. They are too sophisticated and require too large financial investments.

By being able to use them on the cloud platform, you can get ahead of your competition.

Criterion of business goals

The desire to solve business problems using the most appropriate, reliable, and effective tools is equally important. Having regard to their order of priority and the strategic importance for the business growth, you should select the provider according to their priority and role.

The simplest and most popular tool for setting business goals is the SMART method. The acronym stands for the characteristics of business goals.

According to this method, business goals should be Specific, detailed, and unambiguous. They should also be Attainable and Measurable, so they should allow you to determine whether they have been achieved or not.

Business goals must also be Relevant. Achieving it should produce a quantifiable change in the organization. The last characteristic is the possibility to translate and express business goals in terms of time (Time-defined).

By moving an application to the Cloud, you can very easily find metrics for individual business goals defined by means of the SMART method. The offered solution should allow you to select, define, measure, and compare them to the results before the migration.

Criterion of security and data protection

The possibility of encrypting the data stored in the Cloud, to which only the customer has the key, should be reassuring to all. Especially those who are not convinced about the prevention of third-party access to data.

You don't feel convinced? Then I recommend thoroughly checking the specifications used by the provider. In particular concerning:

  • protections
  • data protection standards (e.g., backup).

It is also worth remembering that cloud service providers do not operate in a legal vacuum and must adapt their offer to the requirements and recommendations of organizations and state institutions. In the case of Cloud Computing services, it is important to meet the requirements of:

  • CISPE (Cloud Internet Service Providers in Europe)
  • EU-US Privacy Shield
  • GDPR (General Data Protection Regulation).
migration of applications to the cloud - companies, services
Members of Cloud Internet Service Providers in Europe (CISPE), the coalition of cloud service providers who have introduced the code of practice in the field of data protection.

And to adapt the provider company to quality standards:

  • ISO 9001
  • ISO 27001
  • ISO 27017.

The application infrastructure truly protected by trustworthy standards, tools and measures represents a viable value and benefit for its users.

Criterion of significance and problematic nature of applications

Companies usually look for cloud solutions for existing applications characterized by high load or for applications being produced and tested. Both variants are different sets of needs and problems requiring different solutions.

The sequence of an application moving to the Cloud should depend on the importance of the application and to what extent its unavailability will have critical, significant, and secondary consequences for the organization. Speed, troubles with integration, and consequently, the possibility of unexpected and undesirable interruptions should also determine the selection of a particular provider.

Criterion of workload, amount of time, and expenditure of resources

A common criterion is also the time consumption and labor intensity of the changes needed to adapt an application to the new environment. Therefore, the profit and cost account is an indispensable tool for selecting applications whose operation you ultimately want to base on cloud services.

Be aware that every migration may or may not result in an interruption of application operation or a change in its functionality. Proper planning and effective implementation of migration prevent undesirable downtimes. They can also be remedied by equipping the application with diagnostic tools and monitoring systems. After the migration, they enable you to detect errors quickly.

Criterion of external requirements and limitations

When selecting a cloud service provider, you should also bear in mind the legal standards for a given industry as well as the requirements imposed by external institutions and all limitations to which the organization and its application are subject. Requirements for, e.g., security and the documentation of events must be reflected in the functions of a given cloud solution.

Criterion of costs

Interesting Fact: In some cases, costs are charged for downtime, not for the operation of a service. Contrary to what you might think, it is not a disadvantageous solution.

Measurable financial profit, its amount and difference, can be determined after the precise specification of costs before and after. Most cloud offers charge costs for the resources you actually use. However, it should be established whether and under what conditions additional costs are charged.

They may concern matters that are not obvious from the customer's perspective (e.g., communication costs). You can make estimates and comparisons when you know all the cost options.

However, for them to have a comparative value and enable you to determine the actual difference, you must equally meticulously calculate the costs of maintaining your infrastructure.

But remember that the cost of hardware, software, electricity, and network maintenance is only about 40% of all costs.

The remaining 60% are the costs related to the rooms where hardware is located (server rooms). In particular, this applies to the costs of maintaining a constant temperature and humidity.

And don't forget the costs related to the employment of the employees operating the infrastructure, the costs of rental, taxes, lighting, labor, depreciation (also hardware incompatibility of different generation components), and risk.

Criterion of necessary changes

Depending on the specific case, moving an application to the Cloud means code changes. Their scope and complexity vary and are very individual. However, such work cannot be ruled out.

The need results from different configurations, functionalities, and environments of a company's Data Center and Cloud Computing. But above all, it is the result of the quantity and complexity of the provider's native solutions that are to replace the solutions in your application.

The change of the model of operation at the same time necessitates the need to adapt the procedures, instructions, policies, tasks, and responsibilities. In particular, this concerns security issues, ways of responding to hazards, and risk definition.

Stages of application moving to the Cloud

In most cases, cloud service providers offer extensive substantive support and help with the Cloud migration process. Remember that the process involves procedures, stages and tools, and instructions.

The solutions available as part of a given offer usually include consulting related to their adapting to business goals and processes. When making a selection, you should also think about the model and form of migration.

The customers usually choose one of the three most popular:

  • Rehosting (Lift and Shift)
  • Rebuilding & Refactoring.
Stages of application moving to the Cloud
AWS Amplify is a tool stack for creating web applications in the Cloud.

Rehosting (Lift and Shift)

Rehosting usually involves minimum application code interference during the migration to the new environment. The infrastructure is adapted to the application. This model is very often used by companies employing containerization and virtualization.

They aim to reduce the costs related to hardware maintenance and depreciation. The desire to have access to state-of-the-art technology and hardware is equally important.

The major advantages of the Lift and Shift method include the following:

  • Minimum or zero amount of code changes
  • Easier management of key application components (e.g., security)
  • Quickly noticeable change (reduction) of financial loads related to the application
  • Migration speed and fewer resources needed for migration.

Rehosting is a method recommended to less-experienced users with lower technical competencies. However, this method has its drawbacks. The major ones include:

  • Lack of possibility to use the entire Cloud potential
  • Lower application performance due to the lack of full adaptation to the new environment.

Rebuilding & Refactoring

Did you know... Almost half of the US government agencies use the Cloud. The pro-cloud policy has even received its own name: Cloud First!

In the descriptions, both models are separated, but in practice, the differences between them are not so significant. Let us not go into academic terminology disputes but proceed to the essence of the work.

In practice, Rebuilding and Refactoring mean more or less comprehensive rebuilding of an application or its building from scratch. It allows you to maximize the possibilities offered by cloud solutions.

Migration involves application redesigning for compliance with the requirements of the new environment. In particular, its functional adaptation. It does not mean changing the application functionalities but adapting to the cloud functionalities.

These solutions offer the following benefits:

  • Technological upgrades, especially of older applications, and removing the problem of Technical Debt and Design Debt
  • Access to all native and advanced Cloud functionalities
  • Better protections
  • Improved performance and quality of operation without the need for expensive long-term adaptations
  • Greater flexibility and availability
  • Considerable return on investment (ROI).

The disadvantages of both solutions are:

  • The need to interfere with the code
  • The need for testing to check the correct operation (the issue of functional regression)
  • The risk of errors at different levels of application operation
  • Time consumption
  • The need to use more resources.

Post-migration activities & Cloud Economy

Did you know... Cloud mail services do not have any limitations. 25MB is no limit for them. They allow you to store and share large files.

Moving an application to the Cloud does not mean the end of the work related to its maintenance and development. As in the On-Premise environment, in the Cloud, the application requires constant supervision, code updating, and performance management.

It is also worth ensuring multifaceted testing to eliminate any errors. In particular, it is necessary to check whether the application:

  • Works correctly
  • Is available to all users
  • Contains complete data
  • Components communicate with one another correctly.

You can also optimize the costs related to cloud solutions. By moving an application to the Cloud, you can continuously improve the financial performance of your infrastructure.

On the basis of such activities and practices, Cloud Economy has developed a rapidly growing specialization which is the practice of creative cloud service cost reduction and service provided by highly qualified specialists.

Cost allocation, resource monitoring and utilization optimization, and adapting the amount of resources to periodic loads are the most popular activities offered by Cloud Economy.

Another possibility is a creative approach to cloud functionalities, checking different configurations. Constant experimenting with infrastructure brings tangible benefits.

Summary

Moving an application to the Cloud is a process of varying complexity. On a very basic level, it can be performed without the involvement of extra specialists. The migration process can be completed with the support of the provider’s dedicated consultants.

Cloud solutions are successfully employed by organizations from various industries of all sizes and with various business goals. Also, by small and medium-sized enterprises that use the Cloud state-of-the-art software, technologies, and data centers to increase their competitiveness.

A company utilizing the environment and resources and achieving its business goals through the Cloud can (at significant ROI and relatively low cost) gain access to highly advanced tools.

The selection of a specific provider (Amazon AWS, Microsoft Azure, Google Cloud, Alibaba Cloud) should include multiple aspects and be conducted thoroughly based on diverse criteria enabling you to see the benefits and limitations of a given offer.

Migration or application moving to the Cloud can be performed in several ways that allow you to achieve different goals and involve different needs. At the most basic level, moving an application to the Cloud does not have to involve interference and code and functionality changes.

How you like that:
Journal / JPG / Jarek - avatar
Author: Yaroslav Shatkevich
A programmer with 17 years of experience. Co-founder and CTO of The Story. Fascinated with planning programming works, author of numerous IT and DevOps specifications. Honored by Awwwards, awarded iF Design Award 2018. He works in Python, PHP, React and JavaScript technologies. He created over 90 web and mobile applications and dedicated systems.

Do you want to migrate your application to the cloud? Ask us how!