Introduction-to-Serverless

Introduction to Serverless (Part 2): Exploring the History and Idea behind Serverless Technology

Introduction

In our introductory post, we learned about Serverless as an opportunity, the way software and hardware architectures and constructs have evolved, the need for better governance, and some high-level stakeholder expectations.

In this post, we are taking this to the next level, where we briefly talk about serverless surface area, details on the architectural constructs, and some key findings aggregated based on the industry feedback.

Serverless Surfboard

Serverless is the advancement of PAAS. It is also a design philosophy complimented with solution design patterns that help us address these enterprise concerns while we achieve and realize benefits of using Serverless stack.

Serverless stack gets us closer to the business rationale and logic required to enable it, while isolating the underlying platform and infrastructure concerns. Serverless does not infer “no server” but instead, “less server”. In fact, there are many more servers that run in the background which make it happen.

The idea behind serverless starts with offloading the ownership and responsibility to our choice of provider, allowing us to focus only on the essential elements of the solution build-up required to remain under our exclusive ownership.

To achieve abstraction while being performant and truly scalable, Serverless code typically adopts certain solution design pattern e.g. EVENT DRIVEN i.e. responding to events in the ecosystem.

This also derives other characteristics of Serverless like being trigger based. Triggers can be of many types like an inbound http request, a message on the message queue an event in Azure Services or a user action performed e.g. uploading a picture or performing a transaction. Further understanding shows that there are more patterns and strategies that go along Serverless paradigm catering to various scenarios and concerns. Refer to image below.

 

 

Serverless makes TRUE SCALE possible, allowing us to go from ZERO to INFINITE and back to ZERO in terms of elastic capacity which improves the system availability of the constituent components as well as the overall solution.

Serverless gives a fine grain control on continuous integration and continuous delivery processes resulting in lesser turnaround time in realizing the business value and address changes to the business organization in a more agile manner.

Although the initial effort in terms of realizing Serverless from concept to real-life may appear a mammoth task, it has the potential for the rendered services to be SUPER LITE, SIMPLIFIED AND FOCUSED on doing ONE TASK in a great way.

To summarize, Serverless is a combination of good design architecture practices coupled with the advancement of Cloud such as infrastructure abstraction and per execution billing. Going serverless requires a deep understanding of the intricate details of a particular function/ action that is being performed along with the caller-callee specifics. While this new construct may be a perfect choice in a certain scenario, one must decide on cost, complexity, sustainability, maintainability, and value realization as an integral part of the solution design process.

Azure Serverless Highlights

In this section, we will get ourselves acquainted with the available technology options in GA (General Availability) on Azure cloud which can be implemented for business solutions. Subsequent whitepapers in this Serverless series shall focus on more details on the technology options, approach, and possibilities.

 

  • Serverless Compute
    • Azure Functions, API Management
  • Serverless Storage
    • Storage Accounts & In-Memory
  • Serverless Database
    • Structured – Azure SQL
    • Semi Structured – Cosmos DB, Timeseries, Graph
  • Serverless Enterprise Integrations
    • Logic Apps, Azure Data Factory, Event/ IoT Hubs, Event Grid
  • Serverless Identity & Security
    • Azure Active Directory, Azure Key Vault
  • Serverless DevOps
    • Azure DevOps, Azure Monitor
  • Serverless Analytics, ML & AI, Cognitive
    • Cognitive Services – Vision, Speech, Language, Knowledge, Search, Bots
    • Analytics – Databricks, Power BI
    • ML & AI – Azure Auto ML, ML Studio, Azure Notebooks, ML.Net

 

Key Findings – Serverless Cloud

A quick qualitative analysis leads to the potential finding that an organization can gain on both direct financial gains and indirect non-financial benefits by adopting a serverless theme for their enterprise build-up.

Financial Perspective

Increased revenue with the ability to better monetize the scalable infrastructure for external as well as internal customers of an Organization.

Ability to identify and attach a cost to appropriate business units not only yields greater visibility and better cost performance & management of the services and products but also provides valuable data point from the perspective of overall business performance and associated cost of IT.

The reduced cost attributed to management and maintenance of infrastructure combined with lesser time required to spin-up and tear-down the infrastructure across lifecycle stages and events.

Increase in efficiency and release velocity attributed to integrated ecosystem allowing seamless consumption of services across technology stack shortening the value realization cycle timeline.

Infrastructure ownership being with the cloud provider also serves a two-fold benefit where key information regarding security and audit trail is simplified and made available by the provider while less is spent on compliance and regulatory, limited to the scope of the application landscape estimated from an Organization embracing serverless cloud.

Based on our experience, we can be confident that a focused strategy with a well-structured adoption charter and benefit realization program, an organization, for its investments in serverless, typically experiences a payback over a timeline of SIX TO EIGHTEEN months.

Non-Financial Perspective

Ability to fail-fast and perform rapid prototyping experiments at a minimal cost gives the implementation team an edge to address long term concerns pertaining to application design, scalability, performance, security, etc. This, not only aides in improving the quality of the final solution but also results in increased confidence amongst stakeholders, both Business & IT as well as the ultimate consumers of the product.

With the power of cloud and serverless, innovation is a constant endeavor and implementation team as well as strategy teams look at this as an opportunity to create value for its customers.

 

Riding the Serverless Wave

It would be reasonable to say that our journey to serverless has just begun and the best is yet to happen. In this post, we have introduced to our audience, the basket of patterns that typically form the blueprint of a serverless initiative along with some of the aggregated key findings from the industry.

This post was a small incremental step to the introductory post. Serverless is a large subject with many dimensions and decision points, and we shall explore and experience the offerings in a few flavors, so stay tuned for our next blog which will acquaint you with Serverless Compute Landscape!

Technically we shall focus on the architectural concepts and their realization in the world of serverless while substantiating this using real-world business cases to help envision the power and value of serverless.

Reach out to us to know more about our offerings or if you wish to know how a North American software product development company upgraded to serverless technology and reduced code deployment delays by 40% with Nitor’s customized Product Modernization services.

About Aniket Shintre

Program Manager

  • Cloud
  • Product Engineering
Aniket, a Program Manager at Nitor, is as he puts it a ‘Software engineer by profession, artist at heart and entrepreneurial by nature’. He has over 18 years of success in varied business domain. A dynamic leader, Aniket is always on the quest for blending simplicity & excellence, empowering business & enabling people. He has a comprehensive technology experience of Azure Cloud Technology, Solution Architecture, Software Development Lifecycle and Engineering Best Practices essential for high quality and sustainable Product/ Service Delivery. He is certified & experienced in implementing methodologies such as PMBoK (PMP), ITIL V3 MALC, Agile, Azure Governance.