Serverless: Evolution of Software development

Anuj Agarwal
3 min readNov 19, 2020

--

Microservices and the Serverless Architecture have changed the way we think about web applications and partitioning logic.

Key features of Serverless:

  • Non-Complex code blocks (i.e. small, useable building blocks).
  • Auto Scales based on usage
  • Pay-only usage. Only pay for services that are used not which are hosted (customers only pay for the time using services).
  • Built-in availability and fault tolerance (i.e. NoOps).

Serverless is deprecating so many things at one time. The serverless development arena is a different world altogether, containers enable you to take the existing code and applications and move it forward, whereas serverless is an evolution of software development, an entirely new paradigm.

Serverless enabled us to build a complex system with the ability to accommodate every changing business requirement with on-time delivery of features to our customers. The development team doesn't need to manage infra, start solving the business problem, which means ROI is always high. Time to delivery value is reduced significantly.

Serverless allowed us to use a combination of different technologies( python, java, Nodejs), features, and teams( inhouse teams and freelancers) with their own contexts and competing priorities. We started hiring for the right attitude and expertise in any one of the key technology. New team members get productive from day one, they don’t have to understand the complete system, start with one function, and start building in the technology of choice.

Serverless lets you build software fast and continuously. Time to market is a deal-breaker in this hyperactive and volatile market.

Serverless ( Function as a service) enables us to build write a smaller chunk of code that is easy to understand, manage, deploy, and release. New team members get productive from day one.

There are 5 different types of Serverless design patterns:

  1. Event-driven data processing.
  2. Web applications.
  3. Mobile and Internet-of-Things applications.
  4. Application ecosystems.
  5. Event workflows.

Based on use-case architect can use any of the above serverless design patterns. We used the Event-driven and application ecosystem.

Now when we look at our application, it looks like a lego structure. Each function is like a logo block which is working in tandem to deliver value to our customers.

Our design helps us to scales and use freelancers whenever required without the risk of sharing data or code with temp staff. The architecture which we used for our fintech product is given below. Feel free to reach out to me in case of any queries.

You can read about how I built the fintech architecture: https://medium.com/@anujagarwal_CTO/building-fintech-on-aws-aws-centric-solution-architecture-for-fintech-d12fdfd11f41

If this was helpful, hit the ❤️ and follow me.

--

--

Anuj Agarwal
Anuj Agarwal

Written by Anuj Agarwal

Director - Technology at Natwest. Product Manager and Technologist who loves to solve problems with innovative technological solutions.

No responses yet