A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.techtarget.com/searchcloudcomputing/tip/Evaluate-serverless-computing-best-practices below:

Evaluate serverless computing best practices

Serverless computing has gone through significant growth in terms of adoption, features and capabilities since its inception. The core concept of serverless computing is to use compute capacity for software applications without the need to manage the underlying infrastructure.

Serverless delivers a flexible strategy for application developers to launch new functionality in areas like the following:

From a developer perspective, serverless simplifies the initial development and testing of application functionality because it's not necessary to launch complex server-based infrastructure that runs multiple software components. Instead, serverless delivers an abstraction layer that is easy to launch, deploy and test in development environments.

However, the fact that serverless delivers ready-to-use compute capacity doesn't mean application owners don't have to focus on operational tasks, such as launch and deployment automation, capacity allocation and detailed monitoring, among others. It's a common misconception to assume that serverless simplifies operational tasks in production systems. This misconception often results in unforeseen challenges when launching live customer-facing applications.

While serverless simplifies the availability of compute capacity, it brings with it several areas that need to be configured and monitored in a detailed manner, just like any other cloud-based strategy.

Serverless delivers an abstraction layer that is easy to launch, deploy and test in development environments.

Compare serverless computing services

AWS Lambda is likely the best-known example of serverless computing, but the major cloud providers offer a variety of products. These products cover API endpoints, databases, front-end and back-end computing, workflow management, data processing and data analytics, among others.

AWS

As of now, AWS offers the widest range of services, including the following:

Azure

Azure services include the following:

Google Cloud

Google Cloud services include the following:

Although all cloud providers offer useful serverless compute services, customers should consider the number of existing components each cloud provider already deploys, in addition to the features an application requires. Maintaining a hybrid cloud implementation can be challenging, so it's preferable to use serverless options offered by the cloud platform where the rest of the architecture is implemented. When considering an implementation from scratch, AWS is likely the recommended option given its wide range of services.

Use IaC and automated CI/CD pipelines

Launching an application that relies on serverless technology often results in a large number of cloud components that need to be managed compared with a server-based deployment. These components include serverless functions, API front ends and messaging components, among others.

In a server-based environment, application functionality might result in the launch of a single infrastructure component. With serverless, however, that can translate into launching a larger number of serverless components and maintaining their code. This number can sometimes be dozens or even hundreds of components, such as Lambda functions.

Therefore, it's essential to use infrastructure as code (IaC) and automation tools to launch and maintain these components. Examples of IaC tools are the following:

It's also necessary to use automated CI/CD pipelines for code deployments. This is required because of the potentially high number of components that need to be updated when new code is released, compared with a server-based strategy.

It's a common practice to evaluate these tools by manually launching them in development environments. But users should also implement automation for test and production environments. Implementing automation is a best practice applicable to all types of cloud deployments, but it's even more relevant in serverless environments.

Evaluate costs

It's also important to evaluate serverless costs from an early stage. Cloud platforms charge for the following factors:

These variables often result in higher pricing compared to server-based counterparts capable of handling the same processing capacity, depending on usage patterns.

While serverless provides a cost-effective compute strategy for many applications, its cost advantages diminish once volume reaches a point where constant compute executions are required. Typically, serverless applications with a constant high demand of high-compute executions result in higher pricing compared to their server-based counterparts.

That said, applications with steep usage fluctuations can benefit from the dynamic allocation of compute resources that serverless options deliver. A key advantage of serverless is the ability to avoid the need to constantly provision servers with high-compute capacity.

Because pricing scenarios are specific to application needs, no ubiquitous answer exists when comparing pricing of serverless and server-based options. It's essential that application owners calculate pricing scenarios early in the design and implementation process.

Understand application use cases

Given all the intricacies of serverless computing, it's recommended that development and operations team members have a solid understanding of the applicable use cases for this technology, as well as its pros and cons.

Serverless implementations don't require significant training to get started. But it's essential for organizations to ensure team knowledge in advanced serverless features, deployment automation, pricing, and serverless advantages and limitations before launching production-ready serverless applications.

Ernesto Marquez is owner and project director at Concurrency Labs, where he helps startups launch and grow their applications on AWS. He particularly enjoys building serverless architectures, automating everything and helping customers cut their AWS costs.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4