Serverless: Technology Simplified, Value Amplified
This is a blog series that focuses on the revolution in the building and running of modern applications. By the end of this series, you will be fully equipped with the knowledge of serverless technology, as well as the present-day individual products that make it to the serverless technologies list.
To set the context, in this blog we will focus primarily on how the journey of serverless began i.e. the evolution of serverless and also discuss some basic architectural approaches.
My other blogs in this series will cover common business and technology scenarios, opportunities for implementing serverless solutions using leading cloud providers like Azure and AWS, and some of my key findings after a quick qualitative analysis that I am sure will help many organizations.
Serverless Technology: Setting the Context
Regardless of whether it’s the real world or the technology world, evolution has consistently been made according to the need of humans. Whenever we encounter challenges, we work thereon until the time we close the loophole.
In the past three decades, we have witnessed an amazing evolution in Silicon space as well as in the software world. Businesses have also evolved and transformed, thereby giving us new dimensions of value.
Let’s have a quick look at the timeline:
When we needed more storage and computing capacity, data centers came to our rescue. When we focused on optimal utilization of available resources, virtualization technologies served the cause. Now, with external service providers making focused investments in niche market segments, the evolution took the next leap.
With hosting infrastructure and data residing with external entities, this arrangement had to be underpinned by contractual agreements and obligations. This situation led to the establishment and subsequent evolution of global standards, with governments and enterprises having a major share of the standards’ definition and implementation.
Today, we have many standards that focus on compliance, security, privacy, and so on. Standardization continues to be an ongoing effort as we mature and discover new opportunities/threats within the operational landscape.
In the early days, monolith architectures provided us a simplified way of building software products and solutions. Progressively, applications started being deployed on servers connected via dumb terminals. Later, client-server architectures, connected, and disconnected systems. Many more development styles were introduced to the mix. We were experiencing an overwhelming phenomenon with many combinations of tools and technologies ready to serve the market.
Serverless Architectural Approaches: A brief look at the patterns
In laymen’s terms, an architecture approach is the most practical strategy used to achieve an efficient and sustainable design cost-effectively.
Understanding existing approaches to architect enterprise applications help clarify the role played by serverless. There are numerous methodologies and architectural approaches that advanced over many years of programming development, and all have their upsides and downsides. Most of the time, an arrangement may not include choosing a singular methodology; rather, it may incorporate a combination of few chosen methodologies.
As a result of continuous advancements in both hardware, software, and business models, an organization may experience more than once either an architectural overhaul or a Greenfield exercise that typically involves multiple complex scenarios. These often involve shifting from an existing architectural approach to a newer one to incrementally add value. Some of the prominent architectural styles that we have seen include The Monolith, N-Tier, Microservices, Event-Driven, and Web-Queue-Worker.
Serverless Solutions: Some Technical Considerations and Stakeholder Expectations
Stakeholders play a major part in the success or otherwise of a technology. What do you think their major concerns can be with a wonderful technology like serverless? I’ll start and you can follow suit, it’s like peeling an onion, it only gets worse.
But all the same, to put their concerns to rest, I first need to address them:
- Lack of transparency of IT costs i.e. the distributions, contributions, and performance
- Unclear definitions of IT services and associated business value
- Absence of consistent reporting for chargebacks of the full cost of IT services to the business units and consumers
I wouldn’t blame them, all they were asking for was better transparency, quantifiable costs which could be predicted, the ability to defend the cost of internal IT services, accountability for investment decisions, better inventory and asset control, as well as an improved way of change management particularly when it came to business units that consumed IT resources and were responsible for the underlying unit cost.
To maintain the trust and faith of stakeholders, increase agility, and lower the total cost of ownership, new individual market products, such as those in the Azure and AWS lines, were launched.
Truth is truly liberating! While we are at it, here are some technical considerations with regard to serverless technology.
This blog was all about technology evolution, architectural approaches, business-related issues faced by organizations, and the different advancements made. In my next blog, I’ll talk about my take on modern day cloud architecture, why the world actually needs serverless tech, and also give you a peek into the world of Azure Serverless.