6 Best Practices for Deploying an Application on Alibaba Cloud (Part 1)
By Shantanu Kaushik
A substantial increase in businesses and organizations have increased the demand of cloud services to a level where a quality and competitive solution brings about a trend in the cloud platform industry. A certain boost in cloud computing has been noticed in recent times, as these same businesses and organizations have undergone expansion in different regions, class of products or services they offer. Following the same trend Alibaba cloud offers many solutions that can cater to these changing needs and provide a platform to build cloud ready applications for better and productive business play.
While there are many other cloud providers in the market, we are focusing today on Alibaba Cloud and providing you with six best practices to follow while building or deploying your application on the cloud. We will be focusing on services like ECS, Web App Service, Simple Application Server, Alibaba Content Delivery Network (CDN) and Apsara DB RDS for MySQL.
We will discuss six industry practices to follow while deploying applications with Alibaba Cloud. This article is a two-part series containing three + three practices to follow.
Auto Scaling: Application Hosting
Traditionally, an application hosted online may require additional resources for a smoother experience. In such high traffic demands, adding more servers and where servers had to be removed due to low traffic, creates tedious conditions for the user. Although, by using Alibaba Cloud solutions that incorporate Auto Scaling feature, while using the Alibaba Cloud Elastic Compute Service (ECS), all of these upgrades and downgrades are taken care of by the cloud service automatically.
Auto scaling helps to add or remove resources based on demand and depending on traffic throttling. Auto implementation of additional servers or downward adjustment in low traffic situations in-turn saves cost for both provider and user.
Alibaba Cloud ECS instances are provisioned as per the demand. The server load balancer alongside Auto Scaling adds or removes the servers automatically and without delay. This automation provides impeccable reliability and elasticity features much needed in today’s world.
Let’s go through this diagram that illustrates the use of Auto Scaling:
Alibaba Cloud Auto Scaling feature lets the user set parameters to behave in a certain way. The best practice is to regulate when and how your service behaves based on the collected data. This data can be directly obtained via Alibaba Cloud Monitor service. Here is a standard practice to keep in mind when setting up Auto Scaling:
In the presented scenario and based on data provided by the Alibaba Cloud monitor, if your memory utilization crosses 50% and remains at the same level for 5 mins, the Auto Scaling service should come into force and balance the resources. Similarly, the same can be set for CPU usage and other resources. With that you can configure how many ECS instances should be in force depending on load times and requirements.
Accelerated Content Delivery: Application Hosting
In the previous article of this series, where we talked about Cloud application architecture and things to keep in mind while deploying an application with Alibaba Cloud resources, we discussed ‘How and what’ of application architecture.
In cases of high traffic situations, a CDN (Content Delivery Network), can help optimize the reliability and performance of your web application. Alibaba Cloud CDN along with Alibaba Cloud simple web application server serves a one stop solution to content delivery and application hosting needs.
Alibaba Content Delivery Network (CDN) consists of multiple data points that cache and stream content. Alibaba CDN captures the latest updated data from the Object Storage Service (OSS) and stores the cached content for delivery to the user. This cached data is stored in edge nodes that are at different locations, yet interconnected. The CDN then delivers the data based on the call from the location closest to an edge node. This process simply cuts down on content delivery time, keeps the servers free from extra traffic load, and keep the system resources up for further consumption.
Special Note: _Alibaba CDN also works with any other Cloud based server without having to configure any additional resources_.
Multi-Region Deployment: Application Hosting
Alibaba Cloud has been known to offer various solutions that provide data synchronization and replication scenarios panning different regions. Dedicated data lines are provided to connect multiple regions to provide cost-effective and easy solutions for companies who wish to connect across multiple regions.
This helps businesses and organizations to expand and operate globally without having to install resources in every country or region they expand to. Such organizations will need a scalable infrastructure that offers high availability and reliability. Alibaba Cloud ECS instances can work to operate and interlink different regions wherein data can be synchronized and replicated to provide a seamless application usage and experience.
This need for an efficient network is critical for such organizations, as delivery of application resources highly depends on a reliable network. Let’s take an example of an application called “Vande India”. This application is deployed in the Alibaba Cloud Mumbai region data-center in India. With that the same application has been deployed in the US region. Both the instances of the same application can interact with each other at data and service layers.
Here Alibaba Cloud Express connect comes into play. It seamlessly connects both the Virtual Private Clouds (VPCs) and enables a secure connection through the internet between ECS instance in both the regions. With that the RDS instances associated with both applications in two different regions can also talk to each other and sync data in real time. Alibaba Cloud Object Storage Service (OSS) enables large volume of data to be replicated via the internet connection.
This system is highly efficient and applications must be deployed using this scenario if multiple instances of an application has to be deployed across regions with high traffic requirements. Alibaba Cloud offers multiple data transmission solutions to cater different needs associated with different organizational scenarios.
Let us look at a diagram depicting a multi-region deployment to further understand it:
These three practices among the six that we have discussed today, should to guide you in the correct direction to understand the flow of information and procedures. This will also help you to understand how Alibaba Cloud ECS among other products can carve a path for better business excellence and productive cloud application hosting consistent with your needs.
Stay tuned for Part 2 of the “6 Best Practices for Deploying an Application on Alibaba Cloud” blog series. In the next article, we will discuss the remaining three best practices to follow while building applications with Alibaba Cloud. With that we will also provide some brief assessment of how DevOps can help revolutionize the Application deployment on Alibaba Cloud.