[ad_1]
Cloud computing has become a predominant IT operation platform in the past decade. Small and large companies have been migrating their workloads to the cloud, and serverless architectures, such as container and Function as a Service (FaaS), are among the popular choices for cluster software deployments. Within this context, autoscaling, the ability to dynamically adapt the cluster capacity based on the current demand is pivotal for maintaining Quality of Service (QoS) and optimizing the cost in the presence of workload fluctuations
Over the past decade, cloud computing has been consolidated as the main architectural model for building applications and services. This rapid growth in adoption is a direct consequence of improvements regarding cost, scale, performance and security that cloud systems often offer. This is because cloud computing providers eliminate the initial capital investment companies would usually spend when building their own on-premise data centers. In addition, the ability to dynamically adapt the service capacity based on the current demand is pivotal for many businesses that may experience exponential growth in their service demand. Autoscaling cloud resources can not only reduce the overall cost for their customers, but also preserve the quality of their services. Furthermore, public cloud providers often offer better performance and security compared to on-premise servers since they are regularly upgraded to the latest generation of fast and efficient computing hardware.
Cloud computing models can be classified into three categories: public, private, and hybrid. Large corporations usually have services on all three layers of cloud computing. Small companies, on the other hand, often rely on public cloud providers for deploying their services. However, hybrid clouds are the most popular model design, accounting for 42% of the deployments in 2020 [1].
Most cloud computing services fall into four broad categories: IaaS, PaaS, FaaS, and SaaS [2]. The first concept of cloud computing was introduced with the Infrastructure as a Service (IaaS) model. In this model, companies rent infrastructure, servers, virtual machines (VMs), and storage from a public cloud provider. Then, the Platform as a Service (PaaS) model was introduced right after the popularity of containers and microservices. In this new paradigm, developers were able to deploy web or mobile apps without worrying about managing the underlying infrastructure of servers or storage. Some services that were once part of the PaaS model evolved to create a new category of cloud computing named serverless computing. Function as a Service (FaaS) and serverless services are often referred to as technologies that enable programmers to focus only on building app functionality with almost no infrastructure management required. Some of the most popular cloud services of each category are shown in figure 1.1.
Serverless computing, also known as FaaS, has gained a lot of popularity in the last five years. It allows developers to build applications faster by transferring the respon2 sibility of managing the cloud infrastructure to the cloud provider. This means that the cloud provider is in charge of automatically allocating resources and managing the infrastructure required to run the code. By taking this approach, companies can focus on the core business logic while the cloud provider manages the scalability and security of their services. Cloud Functions are functions offered by Google Cloud where customers can deploy and run their code with zero server management [3]. Azure also provides their FaaS service named Azure Functions[4], and AWS has the AWS Lambda functions [5].
Edge computing is a distributed computing paradigm that brings computational resources closer to the sources of data. This recently introduced model enables low-latency applications to access computing and storage services deployed on-premises. Due to privacy and security reasons, companies may opt to process their data locally, and this growing necessity has driven tech companies to launch services dedicated to edge computing. One of the main concerns nowadays regarding distributed data across multiple nodes connected through the Internet is the risk of data leaks or cyber-attacks. Additionally, the increase of IoT devices at the edge of the cloud is producing a massive amount of data that needs to be processed and analyzed in real time in most cases.
A recent survey conducted in 2022 has indicated that 83% of organizations have improved their efficiency by introducing IoT technology [6]. Although most of the major cloud providers offer some services at the edge, only AWS and Microsoft Azure allow their customers to execute serverless functions on the edge. With the AWS Greengrass and Azure IoT Edge, IoT applications and sensors can send their data to be processed locally at the edge using serverless functions. However, scaling serverless applications at the edge remains an open issue to this day. This is because both AWS Greengrass and Azure IoT Edge are not able to scale serverless services in the core dynamically. Figure 1.2 shows some of the edge and core services offered by AWS, Google Cloud and Microsoft Azure.
Do you want to know more about this topic? If so, you can read my thesis here where I propose a novel autoscaling solution that uses burstable instances and perform some cool analysis with serverless functions (AWS Lambda) on both core and edge nodes.
I Hope you liked this post!
I’m a Software Engineer based in Canada with a master’s degree in Cloud Systems from York University. During the past decade, I’ve been working in several industries in areas such as software development, cloud computing and systems engineering. Currently, I’m developing research on cloud computing and distributed systems at the PACS Lab.
[1] A. W. Services. (2020). “Hybrid cloud the most popular deployment path — study,” [Online]. Available: https://datacenternews.asia/story/hybrid-cloudthe-most-popular-deployment-path-study (visited on 02/14/2022).
[2] M. Azure. (2022). “What is cloud computing?” [Online]. Available: https:// azure.microsoft.com/en- us/overview/what-is- cloud- computing/ (visited on 03/02/2022).
[3] G. Cloud. (2022). “Cloud functions,” [Online]. Available: https://cloud.google. com/functions (visited on 02/14/2022).
[4] M. Azure. (2022). “Azure functions,” [Online]. Available: https://azure.microsoft. com/en-us/services/functions/ (visited on 02/14/2022).
[5] A. W. Services. (2022). “Aws lambda,” [Online]. Available: https : / / aws . amazon.com/lambda/ (visited on 02/14/2022).
[6] D. Prot. (2022). “Internet of things statistics for 2022 — taking things apart,” [Online]. Available: https://dataprot.net/statistics/iot- statistics/ (visited on 02/14/2022).
[ad_2]
Source_link