Serverless development — the key to building products quickly

When you are building a product time is of the essence. You can minimise your time waisting with serverless.

Sam Williams
Complete Coding
3 min readJun 20, 2019

--

There are quite a few ways that serverless saves you time and this article is going to cover the most common.

Simpler code

When and you write code for Serverless applications, the code is usually broken into smaller chunks that work independently of each other. Multiple services are designed to interact with each other through APIs and libraries.

You should be writing your code in smaller chunks that have a single purpose, making them a lot easier to understand than a single monolithic system. The reduced scope and complexity of the code mean it’s quicker to write, and also to read, saving twice the time.

Incremental development

Isolation if the sections of functionality also mean you can build one bit at a time. Your MVP can be built fast and then more features added through new APIs, tables and services.

As each section of functionality should be able to function independently, the architecture is more flexible. This means that there needs to be less initial thought needed for the final architecture (not none, just less).

This also means that it is a lot easier to update some of the functionality of your code.

You could have an API that gets customer data from a range of sources and combines that into a responsive. You now want to refactor it so that you can also pass in the custom fields that you are wanting. Instead of having to carefully adjust the existing monolithic system, you can just adjust the code that deals with that directly.

If you want to rewrite or refactor the whole code, you can just create a new API for testing and then direct the endpoint to that code when it’s all working. Complete refactoring had just become far easier!

Quick and easy deployment

Deployment can be easy.

When you are first building your system, everything can be easily done through a GUI, reducing the barrier to entry and the learning curve.

When you need to deploy at scale, Serverless can make this easy and configurable. You define the resources you need and how you want them to perform from a single yaml file. This can be database tables, API endpoints, storage buckets, domain registration and much more all from a single file.

Your application code can be written in the same repo and can be automatically uploaded and updated with a single command. Deploying a whole system can take just a few minutes.

No DevOps

This is a big one so I’ll split it into a few subcategories.

Redundancy, scaling and performance

These three things are a pain for any traditional server system. Maintaining multiple servers, syncing them, calculating future server load, finding optimal hardware and loads more.

Redundancy, scaling and performance all come free with serverless systems. Your stored files will be duplicated across multiple locations. They can be duplicated in different locations around the world for increased performance too.

Whether you’ve got database tables, APIs or web hosting, as they get used more, they are automatically scaled and given more resources. This removes the need to calculate your future capacity whilst guaranteeing that every user will get the same seamless experience.

Hardware management

Running your own servers, or even just renting server space, there can be a lot of extra work to maintain the servers. Choosing or building the correct system, updating the system and installing patches, and migrating system egged the hardware needs an upgrade.

All of this is gone with serverless. The provider will deal with all of this and you just get to use the services they offer. This will save you days of time and remove a lot of the frustration that comes with owning and maintaining a software product.

Thanks for reading this article on the time benefits of building with serverless. If you want to learn more you can get a free PDF listing the 4 things you need to become a serverless developer.

--

--

Sam Williams
Complete Coding

I'm a software developer currently building Chat Bots for E-Commerce companies. Outside of coding I love to go Rock Climbing and Traveling.