By Shantanu Kaushik
The evolution of cloud computing has made way for more productive and agile ways to build applications and services. Serverless Architecture describes this shift perfectly. Rapid innovation and faster response to development practices is the prime mover behind every technological paradigm shift.
With Serverless Architecture, infrastructure management operations, such as resource provisioning and patching, are taken care of with Alibaba Cloud Function Compute. The remaining coding part is left for the developer. With Serverless Architecture, you can also quickly move from the drafting board to the market. With lowered costs for operations, finances can be managed for more revenue gains with a faster and more efficient code release cycle.
Peak demands can be met easily when you can scale to match demand within milliseconds. Integration scenarios automatically adapt to platform changes and let the developer focus on code.
How Has Serverless Evolved?
The initial idea behind the serverless architecture was to keep infrastructure management (O&M) at bay and save costs for the businesses to expand rapidly. When businesses expand, the economy expands with them. Virtualization has played a key role in this process.
Virtualization | Serverless
In every development cycle, testing scenarios play a crucial role in rolling out applications to the world. Sandboxing has allowed the developers to mimic the deployment environments for faster and more efficient debugging to release ratio.
Virtualization has enabled a more convenient server resource allocation than ever before. Individual VM resources can be allocated and scaled easier compared to physical server allocation. With the evolution of the cloud and virtualization tech, the serverless practice has automatically evolved. Virtualization clusters account for simpler orchestration service scenarios, leading to less O&M.
Containers | Microservices | Serverless
DevOps has been the center of evolution for both microservices culture and Continuous Integration (CI) scenarios. Using Docker containers with Alibaba Cloud lets you cut down on operational costs even further. Why Docker? Function Compute can work as the core operational platform for applications built with Docker. These applications are management independent and do not require any external runtime environment.
The data processing flow associated with web applications that run Function Compute aligns with the request-process-request-delivery scenario. When a user visits a website running the serverless backend resource with Alibaba Cloud Function Compute, the Content Delivery Network (CDN) places a request to retrieve the requested information from the storage space.
The Alibaba Cloud storage, Object Storage Service (OSS), or the Network Assisted Storage (NAS), works with the model that isolates static content from dynamic content and uses the content delivery network to optimize the delivery of content for a seamless experience. The static content is delivered using the cache storage, and the dynamic content is linked for delivery using the backend resource. This example uses Function Compute.
Function Compute retrieves the information that is sought after and delivers it back to the CDN. With that, it records this information to the log service and uses the Table Store to read and write the meta-information while processing information that will be sent back to the CDN. Then, the metadata is fed to the search engines for indexing.
Real-Time Processing | IoT | Serverless
Serverless Architecture with Alibaba Cloud Function Compute can be applied to scenarios where real-time processing needs to take the driver’s seat. This scenario purposefully focuses on event triggers from multiple sources or devices. It could be a large decompression, mobile phones, Internet of Things (IoT), messaging services, or a multimedia operation.
It could be an Object Storage Service trigger when a large file is sent for decompression, and the resources need to be adjusted for the process to complete successfully. After the trigger, Function Compute receives the event notification and uploads the relevant information to the respective services for processing, scales up to meet the task requirements, and scales down back to normal operating parameters after the processing is complete. Thereafter, updating the log service and table store with relevant information.
When it comes to IoT, the devices that are applied to work with the configuration are smart devices. Function Compute is used to process the device status. APIs are used for communication between Function Compute and the IoT enabled device. Events are triggered based on device-level interaction and request scenarios.
As a developer, you are expected to write code that simplifies event communication between Function Compute and the IoT device. The flow of information is not limited to the device and Function Compute. It gets stored and retrieved for further processing, so the architecture here is needed to operate and update the workflow to achieve a better trigger-delivery scenario.
AI Reasoning | Function Compute
Function Compute comes with an abundance of resources. It can be scaled quickly as per demand and to meet traffic peaks. When utilizing Artificial Intelligence, the engineers can solely focus on the business logic development and training models. Function Compute also performs O&M operations to improve work efficiency and to eliminate any bottlenecks to computing resources utilized for AI reasoning.
Sandboxing is an important module for AI training. Function Compute provides support for multiple version testing. This reduces the risk of model launch failure. The Sandboxing technique provides the replica environment for the developer to work with and compare results between versions for more efficient release cycles.
With that, Function Compute utilizes local debugging using third-party libraries. Alibaba Cloud supports TensorFlow and PyTorch to enable one-click deployment on Alibaba Cloud.
Video Transcoding | Function Compute
Function Compute provides the best architecture for video transcoding and broadcasting. The model below represents the video transcoding architecture with Function Compute. Here, the Serverless Architecture provides a custom transcoding processing logic that incorporates multiple functions and logic for a low-cost and enhanced user experience.
Function Compute provides support for parallel processing of multiple video files and can provision multiple instances of Function Compute resources for uninterrupted processing. Function Compute also supports direct processing of commands, such as FFmpeg, given that the FFmpeg based service is deployed on VMs connected to Function Compute.
Order-Delivery | Real-Time | Function Compute
Food and grocery delivery applications are booming in the market right now. Even in a post-pandemic world, getting deliveries at home is still the safest option. With no-contact delivery services and staff monitoring provisions, these applications are proving to be a vital link in the delivery chain.
This order-delivery process can leverage the serverless infrastructure easily. It is the most suited architecture for such mechanisms. Alibaba Cloud Function Compute can be used for such systems, as most data is handled in real-time, and resources can be scaled on-demand to meet traffic peaks.
In this scenario, order placement via an API is the event. This event is managed by the API Gateway and forwarded to Function Compute. After this order reaches the processing center, a trigger function enables scaling, logging, processing, and notifications using Function Compute.
Function Compute can interact seamlessly with other Alibaba Cloud services, such as the API Gateway or the Content Delivery Network (CDN). It utilizes the table store, OSS, NAS, and log services to achieve a better integrated and connected system. This collaboration in-turn accounts for a more productive system. Function Compute is useful in many real-world scenarios, and as cloud computing evolves, more scenarios for Serverless Architecture will arise.
- Alibaba Cloud Storage — Selection and Implementation