This is a translation of the article Manjunath M, which was published on
Bits and Pieces . We suggest reading it to those who have already overcome the preparatory stage for migration and proceed to the next step.
Typically, companies are considering different ways to transfer applications to the cloud storage during portfolio assessment and planning - in the second stage of migration. They are also thinking about which applications will be easier to migrate and what their migration will entail. It is at this stage that the developer understands how complex and interdependent the components of his development environment are. From his point of view, much can go wrong.
To prevent potential difficulties, a company must develop a migration plan, find the most efficient way to migrate applications and prioritize them.
')
The complexity of the transfer depends on the application itself, in particular on license agreements and architecture used.
It is better to start with the least complex application. The reasons are obvious: the cloud user who transfers the data will immediately receive the result, as well as gradually become familiar with the system.
Below you will find some tips to help you develop a robust strategy for migrating applications to the cloud storage.
Build applications faster by working with their components.Bit turns components into building blocks that you can work with as an architect. Easily send components to the cloud, move them from one project to another, or within an application — on your own or with your team. It's free, try it.
Cloud Security: Use HTTPS
SSL in a web application is of paramount importance as it is about security. If we ignore encryption, anyone who tries to intercept the transmitted information will achieve its goal.
Alibaba Cloud is an example of a service that provides SSL certificates. Its services are quite expensive, and certificates are more suitable for enterprises.
There is another option - the popular free SSL-service of
the certificate authority Let's Encrypt .

In order for Certbot client to generate client certificates for applications, the user's server must meet the domain requirements.
Most companies that provide cloud services offer domain names that include Whois data protection.
Cloud Security: Protect Your Credentials
Your cloud account is the result of a business agreement between you or your organization and the cloud service provider. Credential protection is one of
the biggest problems associated with migration to the cloud. Take, for example, AWS (Amazon Web Services). Since you are managing AWS related resources and services from your root account, you need to give it full access to all data, including those subject to administrative rights. It should be borne in mind that the risks increase.
Tip: When using AWS, do not generate an access key to your root account, and do not do it at all unnecessarily. It is better to use the AWS IAM system (Identity and Access Management), create accounts and give them the necessary rights for daily use of the AWS system.
All this applies not only to AWS. You will encounter similar problems and risks using any cloud service. So, data transmission is not regulated by anything. Users can share their credentials - for example, with employees, if they have lost them.
To solve the problem in this area, you need to establish rules regarding the loss of credentials and the exchange of them, as well as describing the procedure in case of their theft.
Cloud security: back up and check resources for recovery
If your credentials and applications are securely protected, you as a user can not worry about the possibility of unauthorized access to them. However, it would be nice to have
a data recovery plan just in case.
Below are a few recommendations.
- Backup your database instance regularly using snapshots or another recovery tool.
- Place the most important components of the application in different availability zones and, if necessary, duplicate information.
- Develop your applications so that they support dynamic IP addresses when you restart the database instance.
- Track events and respond to them in time.
- Make sure you can cope with any failures. At a minimum, you should be able to manually connect the network interface or elastic IP address to the backup database instance.
- Regularly test the recovery of Amazon EBS database instances and volumes to identify potential problems.
Choose a suitable hosting environment
Regardless of whether you are transferring an existing application or creating a cloud-based from scratch, you will need to choose the right cloud infrastructure. Characteristics that it should have:
- vertical and horizontal flexibility and scaling;
- support access in different countries;
- One-click data delivery
- the ability to track information on the use and financial turnover;
- redundancy and data backup.
There are many software providers who offer their services in various public clouds. Google, Azure and AWS are just some of them. Often, users have to require independent software providers to work with multiple cloud platforms, because it provides scalability, data redundancy and improved availability.
By reducing the total cost of ownership, the use of cloud technologies brings benefits not only to consumers of software vendors, but also to the vendors themselves, to whom a subscription-based SaaS model provides a steady income.
Formulate a migration strategy and develop a roadmap
Once you have evaluated the application, technology platform, and correlated the result with the goals of your business, choose a migration strategy. This can be done quickly if important components and applications for the transfer, as well as deadlines, are identified.
If you are an independent software vendor that deals with enterprise-level applications, a phased cloud migration strategy that minimizes user inconvenience will suit you.
Given the data requirements of your application, as well as important factors such as security, resource utilization, total cost of ownership and control, you can choose the appropriate cloud platform. In addition, you have a choice between private, public and hybrid clouds.
The public cloud is probably the most economical solution, especially if you are working with a SaaS application with growing infrastructure requirements. A private cloud, on the other hand, would be the best option if control and security are most important to you. As the name suggests, a hybrid cloud is a mixture of public and private cloud infrastructures. This type of clouds is rapidly gaining popularity, as it combines the flexibility of both types, while providing the necessary services.
Choose gradual migration
If your application has extensive baggage of work that is difficult to transfer, start with the deployment model on the hosting.
It is provided in the form of a dedicated architecture (single tenancy) and allows you to use the application using a virtual desktop, local hosting services, or through service providers. This method addresses your customer’s needs for infrastructure, maintenance, support, and upgrades.
By resorting to a gradual migration, most independent software vendors can easily achieve the first results before they start migrating more complex applications.
Use cloud architecture
The next logical step is to reorganize or refactor the application architecture to offer it as a service. The qualities that this service should have:
- API and service-oriented architecture;
- extensible data model with built-in protection;
- ready support for multi-tenancy;
- flexible configuration;
- compatibility with common for the industry cloud platforms and the use of services from third parties that can extend the functionality of the key product.
findings
If you have not yet decided how to proceed directly to cloud migration, our proven and comprehensive advice should help you with this by becoming a guide to the first step.
Migration to the cloud does not occur simultaneously. However, an understanding of the likely complications and proper preparation will make the migration process as smooth and painless as possible.