Cheats for business migration to the cloud

Cheats for business migration to the cloud

https://blog.csdn.net/wangzan18/article/details/107253505


Copyright
1. Why migrate to the cloud?
At present, many small and medium-sized enterprises place their business workloads in their local data centers. Facing the increasing business volume, the local data centers are slowly showing some shortcomings, which are difficult to satisfy. The new business needs of enterprises, and the purchase and update of equipment require enterprises to spend a large amount of money in advance. Many small and medium-sized enterprises cannot withstand the pressure. By migrating to the cloud, we can avoid some of the problems faced by local data centers.

Reduce construction and operation and maintenance costs: Hosting your own server infrastructure requires a lot of investment in hardware, software, power, and personnel. Migrating to cloud solutions significantly reduces capital expenditures.

Reduce hardware update costs: Whether it is hosted locally or hosted by a hosting provider, replacing the hardware will be a tedious task, and it also requires the enterprise to invest in all hardware costs immediately.
Solve the problem of software support termination: applications may rely on other software or operating systems whose support is about to end. Migrating to AWS can provide extended support options for these dependencies and minimize refactoring requirements.
Simplify maintenance work: The maintenance cost of many systems even exceeds their development cost. After adopting the cloud mode service, the basic platform is maintained by the cloud service provider.
Effective control of investment risks: The system may fail at any stage of the development process, but hardware investment must be made at the early stage of development. Once the investment fails, the initial investment cannot be recovered, and the trial and error cost of using cloud services is low.
Agility and efficiency: experiment freely and develop faster.
Flexibility: The cloud is flexible and scalable, and supports online expansion. According to the size of the load, it is flexible and scalable.
Globalization: It is very convenient to migrate business to another region in the cloud.
Diversity: Experience the most advanced technologies for the first time, such as artificial intelligence, machine learning, big data, Internet of Things, etc.
Security: The cloud platform adopts a redundancy and multiple copy mechanism, a dedicated enterprise-level firewall for the cloud platform, and can be deployed with a custom security level. There are various security services on the cloud platform to ensure the smooth progress of our business and the cloud services to meet the needs of different regions. Laws and regulations.
2. Migration planning
When an enterprise uses AWS, it can run resources efficiently and securely on demand. In just a few hours, the enterprise can achieve innovation with far superior efficiency and agility without waiting for months. When enterprises go to the cloud and want to migrate their original services faster and better, what issues should be paid attention to when making a migration plan? This article will discuss the AWS migration model with your system.

Migration process
In many cases of migration to the cloud, everyone slowly summarized a relatively standard migration process. According to these processes, business migration can improve our migration efficiency and avoid some detours.

Resource assessment: It is necessary to have an overall understanding of local business resources, make a business list, and record the physical and virtual servers in the environment.
Discovery and analysis: Analyze the sorted out resources to determine whether they are suitable for going to the cloud, and there is corresponding service support for use in the cloud.
Planning and design: If we meet the requirements of going to the cloud, we must develop a migration strategy.
Migration, integration, verification: perform migration, verification, and business switching.
Operation and maintenance and optimization: use cloud services to manage and optimize our business.
Migration evaluation
Set the priorities and goals of cloud migration before starting planning to ensure that the migration is more successful. In addition, automated cloud migration tools can provide insights about the environment and dependencies to help plan cloud migration projects. In the stage of enterprise planning migration, multiple factors need to be systematically evaluated, including business factors, compliance factors, security factors, platform factors, and personnel factors. These are the basic considerations for migration.

Business factors: need to consider whether all major stakeholders support the business case and commitment to the migration, and whether there are funds to invest in the migration work;
compliance factors: need to see whether the company has applications that meet compliance standards;
security factors : Need to consider the company’s main challenges in data confidentiality, and what control measures have been taken;
platform factors: a series of pilot applications need to be determined, and the workload owner’s commitment;
personnel factors: need to verify the company’s skills and Ability, whether the roles and responsibilities of operations are defined.
With the help of AWS's cloud migration assessment tool Application Discovery Service, it can automatically identify the applications running in the local data center, their related dependencies and performance profiles, allowing you to develop your own cloud migration plan.

Use this information to map the server to present your local application. This will help determine the dependencies or communication between the servers, allowing you to include all the necessary application components in your cloud migration plan, thereby helping to reduce risks and ensure a smooth migration. Then, the servers are logically grouped to present applications, and the best cloud migration strategy is selected for each application according to its requirements and migration goals.

Migration strategy
After determining the evaluation factors, we started to discuss the most important migration mode issues in the planning stage, which is very important for the enterprise. In this regard, the AWS system summarizes the 6R migration theory to provide references, including: Retain, Retire, Rehost, Replace, Replatform, Refactor, different We can use different migration strategies for business applications. Enterprises choose different migration strategies based on application evaluation.

Retain: Some applications cannot be migrated immediately, or are not allowed to be migrated to the cloud. We continue to stay in the local data center.
Retire: During the evaluation process, we find that some services that are no longer needed can be deleted from the data center.
Rehost: This no-code option is often called "direct migration" and allows you to quickly migrate existing applications to AWS. Each application is migrated "as is", which not only takes advantage of the cloud, but does not need to bear the risk or cost of changing the code.
Replace: Replace the existing application. For example, using SaaS services in the cloud to replace our applications.
Replatform: Change the platform as part of cloud migration, such as replacing Windows with Amazon Linux.
Refactor: Refactoring the application and then migrating to the cloud, such as changing the back-end database, middleware, etc., is relatively complicated.
In the migration process, we not only use one migration mode. Even in an application stack, companies may encounter 2~3 "R"s. We must fully analyze the applications and combine them to achieve the lowest level. Cost and highest value.

3. Migration services and tools
After understanding the process of migrating to the cloud and some strategies used in the migration process, then we began to migrate the applications in the local center to the cloud. We know the three most important items in the cloud data center Infrastructure resources are mainly computing, storage, and network. Then we will mainly introduce the respective migration methods and related precautions in these three parts.

Network Migration
Local data center networks are generally private networks, most of which are flat networks. For some large-scale enterprises, they have their own network engineers to plan relatively complex networks. The complexity of network migration mainly depends on The network complexity of the local data center, as for how to migrate the local network to AWS, we also need to consider different situations.

In the AWS cloud, we use VPC to achieve private network construction. The functions of VPC can basically meet the needs of enterprise networks. How do we design our network?

Complete replication: The private IP of the server is embedded in the application, the overall migration does not modify the code, and there is no plan to use the hybrid cloud mode. For this part, we can build a network exactly like the local data center in the VPC, with the same IP address block, but it should be noted that some security settings in the VPC may not be available in the local center, such as NACL, Security group, etc.
Hybrid cloud model: Some enterprises migrate part of their applications to the cloud, and plan for a hybrid cloud model in the future. In response to this situation, the IP address block of the network we designed in the VPC cannot overlap with the IP address block of the local data center. Since it is a re-planning of the IP address range, we try to allocate more IPs per subnet.
The network redundancy and high-availability solution of the local data center requires engineers who are proficient in advanced network configuration and maintenance. After the network is on the cloud, all these are maintained by AWS, and the maintenance personnel of the enterprise have simple network knowledge. Maintenance lowers the threshold of network management and saves money for enterprises.

Workload migration
We call some of the resources that support the operation of the business workload. We can roughly plan virtual machines, databases, applications, etc. at the workload level. Below we mainly focus on these parts to talk about the situation during the migration process. , This is also the most important part of our entire migration.

Virtual machine migration
Moving virtual machines to the cloud helps avoid update cycles that can cause huge financial stress. When ready, we can use the direct as-is migration strategy to migrate in two simple ways. We use Rehost as our migration strategy.

The first: We can use AWS Server Migration Service (AWS SMS) to directly migrate virtual machines from local or other cloud platforms to AWS. AWS SMS is a free service. It can help us incrementally copy local virtual machines into cloud-hosted Amazon machine images (AMIs) that can be deployed on Amazon EC2. During the entire copy process, we only need to pay for everything during the migration. S3 buckets, EBS volumes, and data transfer fees used, as well as the EC2 instance fees used.

The second: We can also use the VMWare Cloud on AWS solution to directly migrate your VMware virtual machine to AWS. This means that your existing VMware-based workloads can benefit from the performance, scale, and security of the cloud without the need to rewrite during migration.

Matters needing attention
Because it is a whole relocation server, it is necessary to consider whether the bandwidth is sufficient and whether it is necessary to increase the temporary bandwidth.
Some temporary disks may be used during the copying process. Is the storage sufficient?
Firewall replacement, there is no physical firewall in the cloud, you can consider using AWS security group instead.
Value manifestation
You can enjoy lower prices and more advanced configurations.
Multi-region node selection.
Improve employee efficiency and shift from traditional IT operation and maintenance to business.
Database service migration The database service of the
local data center is generally on a physical machine or a virtual machine. It is deployed by operation and maintenance personnel. For database migration, we mainly have the following precautions and solutions:

Migration strategy: For the database, the migration strategies we can choose are Rehost and Replatform.

For Rehost, we can directly use AWS SMS to migrate.
For Replatform, we convert our local self-built database services to AWS database services. AWS has a rich database, basically covering all databases on the market, including relational databases and non-relational databases.
Matters needing attention
Compatibility requirements, such as: file format, character set compatibility requirements, and engine compatibility requirements.
Restrictions on data migration, such as reserved words for service provider database name/table name; whether it affects the business and its extent; whether it is necessary to stop the service and the time for the service stop.
Convenience of migration tools, service provider guidance. A good migration plan & tool should be as few manual operations as possible, step by step, and automation.
Data integrity verification, data integrity verification must be performed before data migration is completed to ensure that the data is migrated correctly and completely. For example, some service providers cannot provide integrity verification, or cannot provide specific information when there is an inconsistency in the verification, and cannot actually locate it.
The value reflects
the high performance, high reliability, scalability, and flexibility of cloud databases.
Large-scale innovations.
Both backup, expansion, migration and other functions.
DBAs no longer need to maintain database installation, operation, high availability, backup, etc., and focus on The database optimization business above.
For Rehost migration, we can easily use AWS SMS tools to complete, but there may be data delays, because the data is not synchronized in real time, so I generally recommend that you use a database in the cloud, which has our traditional self-built Some advantages that the database does not have.

AWS Database Migration Service (AWS DMS) is a cloud service that can easily migrate relational databases, data warehouses, NoSQL databases, and other types of data storage. You can use AWS DMS to migrate data to the AWS cloud, between local instances (through AWS cloud settings), or between a combination of cloud and local settings. Using DMS services can ensure that our source database and The target database data is synchronized in real time and runs continuously. Using this mode can ensure zero downtime for our database migration.

For some users, he wants to change to a database engine after going to the cloud, such as converting Oracle to Aurora MySQL. In this case, we can use the service of AWS Schema Conversion Tool to help us complete it. When using SCT, It consumes more memory, and improving the memory performance can increase the conversion speed, but it will take up more memory resources of the desktop computer.

Application migration
In the process of implementing application migration to the cloud, there are generally two scenarios in which existing business systems are transformed and new business systems are built. The new business system only needs to perform architecture design, research and development, coding, and testing in accordance with the standard requirements for application to the cloud, and the implementation is relatively simple. The migration of existing business systems to the cloud requires the transformation of existing business systems.

Migration strategy:

For Rehost, using the AWS SMS service can easily migrate the entire application technology stack to the cloud. This migration is relatively simple. After the migration is completed, modify the back-end database information and switch the DNS service to go online.
For Refactor, this situation will take a lot of work. It requires users to refactor the application code so that it can be fully compatible with some cloud-native services, such as Lambda, API GateWay, Elastic Beanstalk and other services to improve The performance and security of our application.
Precautions

Are there any related application roadmaps
? What are the related costs related to this application
? What are the improvement options that can enhance service availability.
If this application is not changed, are there related risks? Is
this application consistent with the organization’s technical goals?
Value reflects
Some cloud-native services
can be used. DepOps tools in the cloud can be used to accelerate application testing and release.
Operation and maintenance developers no longer need to manage the configuration of the application environment and focus on the development of application code to improve efficiency.
For applications to the cloud, we generally It is to first establish a complete application environment in the cloud, wait for the program to be tested correctly, and then modify the DNS to complete the application to the cloud. After the application is stable, the application can be gradually removed from the local center in a planned way.

Container migration
With the popularity of containers in recent years, more and more companies will have some services running on the container platform. If the container is running on a single machine, we generally use the docker command to run it directly, or use docker-compose. For container services running on multiple machines, most of us use the popular container orchestration service kubernetes.

Because of the characteristics of the container, it can package the entire program running environment into the image. We don’t need to configure the running environment separately for it. According to this feature, it is much easier to migrate applications running in the container to the cloud. Users do not need to make any changes to the code to complete the migration to the cloud.

So which container platforms are available on AWS for us to choose from? Compared with the local self-built container platform, what are the advantages?

In the AWS cloud platform, there are two container orchestration tools for us to choose, one is Amazon Elastic Container Service (ECS) or Amazon Elastic Kubernetes Service (EKS).

If the application is running on a single machine, the best choice in the cloud is ECS. ECS is a highly scalable and fast container management service that can easily run, stop and manage Docker containers on the cluster, ECS and Identity AWS services such as Access Management (IAM), Amazon Virtual Private Cloud (VPC) and Amazon Route 53 are deeply integrated and extensively tested in terms of security, reliability and availability to support internal and customer mission-critical services .
If the application is running on kubernetes, the best choice in the cloud is EKS. EKS is the most secure, reliable and scalable way to run Kubernetes. The control plane provided by EKS is not only scalable and highly available, it can also operate across multiple availability zones to eliminate single points of failure. EKS can run upstream Kubernetes and is certified to be consistent with Kubernetes, so you can get all the advantages of open source tools in the community.
When running containers on AWS, you have two platforms to choose from. First, you can choose whether you want to manage the server. If you want to perform container serverless computing, please choose AWS Fargate. If you need to control the installation, configuration, and management of your computing environment, choose Amazon EC2.

Fargate is the preferred way for customers to run containers on AWS across ECS and EKS. Customers like Fargate because it provides serverless computing for containers, a service that allows them to focus on building their applications. With Fargate, you do not need to provision and manage servers, and you can specify and pay for resources for each application, and improve security by designing isolated applications.

Advantages of AWS container platform
Low cost: You can choose some spot instances as the underlying resources to save costs.
Enterprise-ready and
elastic expansion: Compared with the self-built kubernetes multi-Cluster Autoscaler feature, EKS in the cloud can expand the number of servers in the cluster according to the load. In ECS, capacity providers provide elastic scaling of the underlying computing resources.
More reliable: The control panel of ECS and EKS is fully managed by AWS, and the availability of the service is maintained by the AWS professional technical team.
Network: Use Amazon VPC CNI to enable container or pod to have VPC IP, save network packets and improve network performance.
Load balancing: By using AWS ALB, traffic can be directly sent to the IP of the container or pod, and the cluster can save the original service traffic distribution and improve forwarding performance.
Permission: You can directly grant IAM role level permissions to the container or pod to safely access other AWS services.
So in the face of so many services, how should we choose?

First of all, for non-distributed applications, that is, a single container service, I recommend choosing the ECS + EC2 platform. ECS simplifies container settings for us and lowers the threshold for managing containers. Users only need to set Task definitions according to the requirements of container operation. Yes, if you don't want to manage EC2, it is recommended to choose EC2 + Fargate.
For applications running on the kubernetes platform, the EKS + EC2 platform is preferred. You can also start a part of the spot instance mashup to save costs. You can run the yaml file used on the local kubernetes directly on the EKS without special modification. Migration is relatively simpler. Compared with ECS, managing an EKS cluster requires higher container orchestration skills for operation and maintenance personnel. For some applications with relatively large visit volume fluctuations, we can run on the Fargate platform to flexibly expand the underlying hardware.
Data migration
The data mentioned here is mainly static storage data and some archived data, which need to be transferred to S3. The choice of data migration tool mainly considers the size of the data and the bandwidth of the local data center. The migration tools used in the combination of different are not the same.

AWS DataSync is a data transfer service that simplifies, automates, and speeds up data migration between local storage and Amazon S3 or Amazon Elastic File System (Amazon EFS) or Amazon FSx for Windows File Server. DataSync uses a local agent to connect to the NFS file system and quickly migrate file data (10 times faster than open source replication tools) without the need to write and manage scripts. DataSync will perform a complete initial copy, incremental transfer, and verification of the transferred data. If you have available network bandwidth, then DataSync is the easiest way to migrate file-based data.
AWS Transfer for SFTP (AWS SFTP) is a fully managed AWS service that allows you to transfer files to and from Amazon Simple Storage Service (Amazon S3) storage via Secure File Transfer Protocol (SFTP). SFTP is also known as the Secure Shell (SSH) file transfer protocol.
The AWS Snow series can help customers who need to run operations in harsh non-data center environments, move large amounts of data out of the local environment, and encounter a lack of consistent network connectivity. The Snow series is composed of AWS Snowcone, AWS Snowball and AWS Snowmobile, which can provide a variety of physical devices and capacity points, most of which also have built-in computing functions. These services enable you to cost-effectively use the storage and computing power of the AWS cloud locally to efficiently transfer data and accelerate migration.
We can easily estimate the time it takes for data to go to the cloud through the database and bandwidth. Enterprises can choose different tools according to their ability to bear. For some data with relatively small amount of data, you can use DataSync, SFTP, and of course. You can also use aws cli to transfer the data to S3, and then for the huge amount of data and the time-consuming transmission through the network, we can use the Snow series to transfer the data.

4. Optimize the
use of AWS security management services to manage the cloud environment, so as to manage and monitor the applications in the cloud environment. Start using these services during the migration, and you can continue to use some of these services after the migration to ensure a consistent experience in the hybrid cloud.

Cloud cost management: AWS billing and cost management is a web service that provides functions that help you monitor costs and pay bills. Amazon Web Services (AWS) charges your account based on usage, ensuring that you only pay for what you use.
Use AWS products/services to save costs: purchase AWS RIs and Savings Plans services, and adjust the size of virtual machines with the help of Compute Optimizer recommendations to achieve the highest utilization rate and maximize value.
Accelerate application modernization: Use the saved resources to add more cloud functions, slowly migrate workloads in the cloud to a no-service mode, and realize application modernization.
V. Security and Management
AWS attaches great importance to the security of customer business. AWS has a large number of security services to ensure the security of our applications and data. Here is a brief introduction to a few of our commonly used services.

Industry-leading security: AWS Security Hub provides you with a comprehensive view of the security status of AWS resources. Security Hub collects security data across AWS accounts and services to help you analyze security trends, identify and prioritize security issues in the entire AWS environment.
Monitor and analyze cloud health: Use Amazon CloudWatch to track the health and performance, infrastructure, and data of cloud applications. Easily collect data from various sources and gain rich insights.
Effective management of virtual machines: With the help of Systems Manager, you can easily manage many virtual machines in batches, such as batch execution of commands, operation management, application management, operations and changes, instances and nodes.
6. Customer case The
author once worked in a data analysis company. The main business of the company is to analyze mobile APP data. The previous business was all in the Shanghai data center. The company's applications were mainly Java programs, the databases were MySQL and Oracle, and the big data processing platform was a Hadoop cluster built by multiple physical machines.

Before going to the cloud, if a project is temporarily accepted, IDC's resources are difficult to support the corresponding services in a timely and effective manner. The company needs hardware procurement (including related basic hardware including servers, firewalls, and switches), equipment shelves, network planning, and system installation And configuration, and a lot of manual operation and maintenance. The entire cycle takes at least half a month to about a month.

Through a training session, I learned about the characteristics of cloud computing, and the customer began to evaluate some businesses on the cloud. After half a month, he sorted out the workload of the local data center and made a list, and gradually followed the migration strategy and best practices provided by AWS. Migrate business to the cloud. It should be noted that many businesses need to go to the cloud step by step to gradually replace the local data center business. During the go to the cloud, customers have optimized and refactored some applications to make them more suitable for cloud-native services.

After nearly a year of using AWS cloud services, customers have fully experienced the advantages of cloud services:

Save hardware deployment time consumption and improve service launch time: Customers no longer need to spend a lot of time on hardware procurement and shelf and system installation; equipment launching greatly shortens the time from the previous few weeks to less than one hour.
Simplified database management: We have all deployed databases in the cloud, including RDS and non-relational databases. For MySQL, we directly use Amazon Aurora Serverless database, so we don’t worry about estimating the configuration of the database. It will automatically expand and shrink according to the load of the business, which greatly reduces our maintenance pressure. DBA personnel no longer need to spend energy on database deployment, high availability, backup, and maintenance. These tasks only need to be recorded in the cloud. It can be done. The DBA optimizes the work technology in the business, which greatly saves us labor costs and improves work efficiency.
Improve application online efficiency: Before going to the cloud, our application deployment is relatively cumbersome, because we are a Java program, each time a new program is launched, we need to configure a tomcat, because the port is not public, we need to modify the configuration changes of each tomcat Ports, over time, tomcat is getting bigger and bigger, which is very inconvenient to manage. We refactored some applications and then went to the cloud. For some applications with simple functions, we deploy them on Lambda and trigger them through API Gateway, so you don’t need to pay attention anymore. The underlying server; another part of the application is directly deployed on Elastic Beanstalk, which can be directly deployed by developers, without having to spend time on setting up the environment, and some applications are placed on the ECS, and the use of container technology has greatly improved our Deployment efficiency.
Overall cost savings: After going to the cloud, the cost savings are also very significant. We roughly estimate that the cost savings can be as high as 40%. This is mainly due to the flexibility, flexibility, and low cost of cloud computing. There is no need to preset a large amount of hardware costs in advance. A lot of money, for some long-running services, we purchased reserved instances to save costs. Simply take our big data platform as an example. Before we were a cluster composed of dozens of servers. The utilization rate of the cluster was not high, but we couldn’t have it. After going to the cloud, we directly purchased the EMR service. We learned that AWS has one A kind of instance called spot can save up to 90%. In our big data workload, basically 80% of the servers are all purchased spot instances. After the analysis, all the instances are destroyed. This feature alone saves us a lot of money. Big cost.
The advantages in the cloud are far more than that. For example, in terms of security, various security services ensure the smooth progress of our business, and we can use the most advanced services for the first time, and can easily use other services such as machine learning. , It not only reduces our work, but also saves huge costs for the enterprise.
————————————————
Copyright Statement: This article is the original article of CSDN blogger "wangzan18", and it follows the CC 4.0 BY-SA copyright agreement. Please attach the original source link and this statement for reprinting. .
Original link: https://blog.csdn.net/wangzan18/article/details/107253505

Guess you like

Origin blog.csdn.net/z136370204/article/details/114934638