Serverless and Headless
Headless software (eg “Headless Java” or “Headless Linux”) is software that can work on a device without a graphical user interface. Such software receives input and provides output through other interfaces, such as a network or serial interface, and is common on servers and embedded devices. The concept is hardly new and is generally referred to as decoupled architecture.
For example, the content of a website may be accessed through a web service API, typically RESTful and in a mashup-friendly format such as JSON.
In practice, this adds an extra level of abstraction between your end user and your website, extending an existing trend.
The decoupled model is already being used today by developers in modern systems, and future releases will deepen support. The systems typically include a built-in JSON REST API. Serverless computing abstracts servers, infrastructure, and operating systems. When creating serverless apps, you do not have to provision or manage servers, and you do not have to worry about infrastructure issues. Serverless computing is controlled almost in real time by the response to events and triggers – in the cloud. Because it is a fully managed service, server management and capacity planning are invisible to the developer, and billing is based exactly on the resources used or the time that the code was actually executed.