One of the protagonists of the Serverless architecture is the Function as a Service(FaaS). With FaaS, you get to deploy a single function (written in JavaScript for example) that will be executed depending on some kind of event, e.g. using a scheduled plan that executes the function periodically or when an HTTP request is made to a designated URL.
With FaaS, you get the provider managing the servers running these functions, you are charged only when these functions get executed and it can easily scale to accommodate for a large number of requests or executions.
The following companies use AWS Lambda Functions to provide FaaS services with a layer of abstraction and an user-friendly interface that makes both of them really good candidates for developers that want to dive into FaaS quickly and easily:
Serverless refers to a category of web services where the provider of these services takes the responsibility of managing and allocating the servers required to run them.
Some of the advantages of this approach are:
You do not need to maintain any servers and you only get to pay for the time that you are actually running code on the serverless providers’ servers (quite a paradox here, huh?)
Automatic (and much, much easier) scaling
Easy deployment and updating
Major providers for the serverless architecture include:
Amazon Web Services
Microsoft Azure
IBM (OpenWhisk)
Google Cloud
Serverless means that there are no servers you have to manage to run a particular service or an app. Usually, in Serverless architectures you rely on services that are managed for you. Be that function-as-a-service, storage-as-a-service, and others. Using managed services means that all the maintenance and operational tasks are abstracted away. Yes, there are still servers there, but they are no longer your responsibility to manage. Source: Webiny
Why serverless is the future of development?
Serverless removes complexities around managing infrastructure and frees up developer resources. Developers no longer need to deal with configuring and installing different tools that their application requires, as those are now abstracted away as a managed service. In return, developers spend more time building business logic and less time on installing, configuring and maintaining infrastructure. This also means that products get faster to market and cost less to develop. All these advantages are driving the adoption of serverless and, over time, serverless will be the standard of how all applications are built. Source: Webiny
Watch this next video for a great introduction to Serverless by Jame Q Quick.
Cold Starts (The phenomenon that functions which haven’t been used take longer to start up.)
We can now do things on the front-end that used to require a back end. When we do need a back end, our front-end skills can be put to work, giving us some surprisingly powerful new abilities. Join Chris Coyier on a whirlwind tour of the tools, tech, and code that puts more power than ever into our front-end hands. The All Powerful Front End Developer – Chris Coyier
Closely related to the Serverless Architecture and its services is the JAMStack architecture which creates fast, secure and scalable sites and web apps without the complexity of a server. It builds on traditionally static workflows and adds dynamic elements with modern techniques like serverless functions and webhooks.
Read through the material below to get a good understanding of this modern stack that is taking the web developer community by storm.
What is JAMStack?
JAM stands for Javascript API & Markup. The term JAMstack was popularised by Mathias Biilmann (CEO & Co-founder of Netlify) to describe “a modern web development architecture based on client-side JavaScript, reusable APIs, and prebuilt Markup”. Source: Pedro Duarte
Want to dive into more details about why would you choose JAMStack? Here’s Why JAMStack?
Take a short break, grab yourself a coffee and read through the next article that describes the JAMStack in full detail. Estimated reading time: 30~45 minutes