Cloud and DevOps | 20 Nov 2020 | 12 min
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 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.
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 ComputeAzure Functions, API ManagementServerless StorageStorage Accounts & In-MemoryServerless DatabaseStructured – Azure SQLSemi Structured – Cosmos DB, Timeseries, Graph||Serverless Enterprise IntegrationsLogic Apps, Azure Data Factory, Event/ IoT Hubs, Event GridServerless Identity & SecurityAzure Active Directory, Azure Key VaultServerless DevOpsAzure DevOps, Azure MonitorServerless Analytics, ML & AI, CognitiveCognitive Services – Vision, Speech, Language, Knowledge, Search, BotsAnalytics – Databricks, Power BIML & 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.
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.
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.
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 Infotech’s customized Product Modernization services.
we'll keep you in the loop with everything that's trending in the tech world.