Select Page

The ReleaseTEAM Blog: Here's what you need to know...

Cloud Native: Serverless Development Models

This post is the final installment of our Cloud-Native series, and we’re looking at serverless computing and how it’s an essential part of implementing cloud-native initiatives.

What is serverless?

By the name alone, you’d expect “server-less” to mean “without servers,” but that’s not the reality. There are still servers, but your developers don’t have to worry about them. According to the Cloud Native Computing Foundation, serverless “is a cloud-native development model that allows developers to build and run applications without having to manage servers.” In a serverless model, the cloud provider manages the servers while developers use containers for deployment. The cloud provider provisions, patches, scales, and monitors the servers instead of burdening your developers and Ops teams. Serverless is an event-driven architecture that launches functions and applications only when triggered by an event. The provisioning time is speedy: milliseconds. Not all cloud-native models are serverless, but serverless supports organizations’ cloud-native initiatives.

The benefits of serverless computing

The primary benefit of serverless is not paying for idle time. When your functions are not using resources, you’re not paying for them. In contrast, you pay for idle time when you own the servers in your data center or co-lo site or have dedicated Infrastructure-as-a-Service. Another benefit of serverless (and migrating to the cloud generally) is the ability to scale on demand. If you manage your own servers, you need to make provisions for peak capacity, which may be much higher than what you require during normal operation, resulting in higher capital expenses, higher periods of idle time, and more labor to manage and maintain your infrastructure. In a serverless model, scaling is automatic.

Drawbacks of serverless models

Third-party server ownership and maintenance is generally a benefit, but it’s essential to consider any limitations they impose on using their service. For example, they might limit the number of functions you can run simultaneously or set a timeout rule, which sets how long a function can run before it terminates automatically. For high-performance applications, another potential drawback is latency when calling a function after a prolonged period. Finally, it can be difficult to predict costs because the cloud provider’s resources are billed based on how often they’re triggered.

Related terms and architectures

Serverless implementations can vary, leading to different related terms: Function-as-a-Service (FaaS) and Backend-as-a-Service (BaaS) are both subsets of serverless.

What does this mean for DevOps?

Because developers can focus on code and worry less about provisioning infrastructure, serverless models reduce the burden on DevOps teams. Not waiting for fulfillment of provisioning requests leads to increased developer productivity, more time to focus on complex problem-solving, and an improved developer experience.

Join Our Mailing List

Please enable JavaScript in your browser to complete this form.
Name
=

Corporate HQ

1499 W. 120th Ave
Suite 110
Westminster, CO 80234
720-887-0489

Massachusetts

1257 Worcester Rd.
Suite 108
Framingham, MA 01701
866-887-0489

Canada

PMB# 604
1-110 Cumberland St.
Toronto, ON M5R 3V5
866-887-0489