What is Serverless?!

...

Perhaps the biggest controversy associated with serverless computing is the name itself...


Perhaps the biggest controversy associated with serverless computing is not around its value, use cases, or which vendor's serverless frameworks are the right fit for specific serverless applications, but rather the name itself.


There are most definitely servers in serverless computing. The term "serverless" persists because it describes the customer's experience of servers: They're essentially invisible, because the customer doesn't see them, manage them, or interact with them in any way.


Serverless is a way to describe the services, practices, and strategies that enable you to build more agile applications so you can innovate and respond to change faster. With serverless computing, infrastructure management tasks like capacity provisioning and patching are handled by the provider, so you can focus on only writing code that serves your customers. Serverless services come with automatic scaling, built-in high availability, and a pay-for-value billing model.


Move from idea to market, faster


By eliminating operational overhead, your teams can release quickly, get feedback, and iterate to get to market faster. It enables developers to focus on code, not infrastructure. (It's also a polyglot environment, enabling developers to code in any language or framework - Java, Python, node.js - with which they're comfortable.)


Adapt at scale


With technologies that automatically scale from zero to peak demands, you can adapt to customer needs faster than ever. Serverless computing runs code on-demand only, typically in a stateless container, on a per-request basis, and scales transparently with the number of requests being served. For certain workloads, such as ones that require parallel processing, serverless can be both faster and more cost-effective than other forms of compute.


Lower your costs


With a pay-for-value billing model, you never pay for over-provisioning and your resource utilization is optimized on your behalf. Serverless computing enables end users to pay only for resources being used, never paying for idle capacity. Customers pay for execution only. Pricing is done on a per-request basis, meaning customer pay only for the resources they use during execution.


Build better applications, easier


Serverless applications have built-in service integrations, so you can focus on building your application instead of configuring it. The serverless model requires no management and operation of infrastructure, giving developers more time to optimize code and develop innovative new features and functionality.


Serverless is commonly used in conjunction with terms such as architecture, computer, and services. In brief, serverless architecture refers to the solution architecture of software applications built using fully managed third-party services (serverless services) as core dependencies. At its core, serverless computing provides runtimes to execute code, which is also known as function as a service (FaaS) platforms.


DevOps is a collection of practices and tools that increase the ability to deliver (build, test and deploy) applications and services more efficiently. DevOps requires more automation and eliminating overhead in setting up the infrastructure as well as in the build and deployment of code. DevOps does not only affect the technology; DevOps is also targeted at people and team structures.


Continuous Integration (CI) and Continuous Delivery (CD) tools are used to build, test and deploy code and are often done using build automation Tools that provide fast resolution of errors and bugs are equally crucial.


In addition to using FaaS, fully-managed Docker containers as a service are also evolving. For example, technologies such as AWS Fargate allow to run these Docker containers and scale them without needing to provision and manage any underlying infrastructure. This is useful for DevOps since the containers can also be used to build, test and deploy applications.


Serverless DevOps goes beyond how IT organizations can achieve greater business agility. It’s geared towards the rapid delivery of business value and continuous improvement and learning. Organizations can deliver new products and features quicker and cheaper to change the culture in the process.