Who wouldn’t love to have their cake and eat it too? Now you can, at least in the area of cloud computing. Cloud adoption has become a must-have in IT strategy for most businesses, disrupting the decades old on premise strategy for software and hardware equipment.
Today, most online services are delivered through Software as a Service (SaaS), evolving from traditional, hardware-centric Infrastructure as a Service (IaaS) and Platform as a Service (PaaS) applications. These services have inherent pros and cons, which are compelling organisations to choose a new, hybrid adoption strategy.
As a result of this evolution, a new application architecture paradigm has emerged. It will simplify some of the traditional challenges posed by traditional cloud models. Known as ‘Serverless Computing,’ the architecture is independent of servers and built using cloud managed services.
Drawbacks with Existing Cloud Services
The existing cloud service models such as IaaS, PaaS and SaaS promise optimum utilisation of resources. They offer a pay-per-use model and quick time-to-market, as key business benefits.
However, these cloud architectures fall short of delivering the promised advantages. Some challenges that IT executives experience or are likely to encounter while adopting cloud include:
- Monitoring and defining the infrastructure scaling methodology whilst deploying applications to the cloud.
- Being billed hourly even if the utilisation is in seconds or minutes.
- Operating system and computational resource selection is fixed at the time of deployment configuration, makes changes at a later stage difficult and costly.
Serverless, a New Cloud Architecture
Serverless architectures are aimed at overcoming the shortcomings of existing models (IaaS, PaaS and SaaS) and offer a novel way to implement cloud services. They provide a new paradigm for developing and deploying applications using cloud managed services for specific business scenarios.
Also known as FaaS (Function as a Service) serverless architectures can help senior IT executives optimise IT infrastructure budgets, deliver quick go-to-market and operational management with ease - delivering definite cost savings and architecture flexibility to deliver innovative solutions, as a result.
You could think of serverless architectures as a dynamic piece of code. They are allocated, executed and destroyed for an event/occurrence, which is triggered either by a human or through an automated process. You are billed only for the time that you invoke and execute an event.
Specific Business Applications
Some real life applications where serverless architectures can be put into play include:
- Implementing time-based or event-based serverless website features with unpredictable user base and data loads. Going serverless is an excellent way of optimising costs and saving millions, in this instance.
- Analysing information streams of texts and images. These could be captured via IoT devices, social media, smartphones and CCTVs on the cloud for immediate object/expression detection.
- Analysing documents and images using cognitive computing.
- Insight-driven, context-specific notifications via email/SMS to subscribers or customers.
Benefits of Serverless Architectures
Reduced maintenance and operational costs
Businesses will pay only for the managed services they use. Additionally, sub second billing calculations will reduce infrastructure spend.
Developers can concentrate solely on core business logic, enabling quicker development cycles and fast GTM. Infrastructure configurations and provisioning are taken care of by the cloud provider.
Serverless architectures support easy integration with other PaaS and SaaS services offered by cloud platforms (cognitive, ML & AI Services, alerts, notifications, etc.) as a result, enabling quick and easy ecosystems to build and integrate business applications.
Serverless architectures must be adopted as a pattern for specific applicable scenarios, not all. With limited control over hardware selection and the execution environment, potential drawbacks include:
- Vendor lock-in, as every cloud vendor has its own infrastructure and service provisioning, making switching difficult.
- Isolation of data to a particular region, security provided by third party tools and APIs could be potential security issues. Customising policies for specific needs should be considered to mitigate this problem.
Tools and Technologies
Leading cloud vendors offer managed services to build serverless architectures including AWS Lambda, Azure Functions, Google Cloud Functions and IBM OpenWhisk.
There are also some emerging cloud application frameworks, which support the development of serverless architectures that are independent of target cloud platforms such as AWS, Azure, Google and IBM. These frameworks include:
- Serverless (www.serverless.com): An application framework for building web, mobile and IoT applications on different cloud platforms. This could minimise vendor control and lock-in.
- Claudia (https://claudiajs.com/): Relatively new, it provides out-of-the-box features for automated deployment and task configuration to AWS Lambda and API Gateway.
Interested in benefitting from a cost-effective, scalable approach to cloud computing? Connect with us at [email protected] to find out how serverless architectures can help your enterprise.