K&C’s serverless architecture consulting service is here to help you understand if serverless architecture is the lean makeover your applications need. And if it is, to get you on track and re-focused on code, not servers.
‘Serverless’ architecture of course doesn’t mean there is no server involved at all. It means you do not have to manage the server that you will put your application on. A serverless framework uses a cloud platform to host various aspects of the things you would traditionally need server-side code for.
Serverless architecture also involves using 'off-the-shelf' ready code for common components and functionalities that many applications have in common. User authentication, for example, would not be coded from scratch but a component, such AWS Cognito (the different Serverless vendors offer platform native Serverless components) used with configurations simply adapted to the particular requirements.
Just a few of the workloads that applications with serverless architecture are ideal for include:
Sitting between a front-end and database facilitating the API’s activity.
Running individual functions eg. Compressing and storing images in folder and sending them to a database.
Serving static content.
ETL (extract, transform, load) jobs.
Some of the main advantages of adopting serverless architecture for your applications include:
You don’t have to administer your own server
Cloud-based serverless platforms can be quickly scaled to meet demand spikes
Connecting to different cloud platforms is easy.
A Serverless platform can sit between native app, mobile app etc.
Availability is automated – using serverless architecture automates availability and fault tolerance. The Cloud services running the application provide them by default.
Pay-as-you-Go. You pay only for throughput or execution duration and not per server unit.
Google Cloud Platform
IBM Cloud Functions
Check out our indepth article on Serverless providers performance and cost comparison. We summarise an academic study that reverse engineers the technology strengths and weaknesses of AWS, GCP and Azure and then look at cost structures and point you in the direction of the best price calculators.
In Serverless Architecture for Modern Apps: Stacks Providers & Caveats, we also take a more granular look at some of the key differences between the main providers.
Serverless architectures reduce operational and development budgets, streamline operational management and most attractively of all, minimise the feedback loop for new app components. It’s no surprise they are rapidly becoming the hot new trend in DevOps. But there are also drawbacks to serverless frameworks. Scalability and deployment effort gains are balanced against monitoring and debugging pains.
Serverless architecture is a great approach to some problems but not to all. Which category do your problems fall into? Our serverless consultants can help you find out.
Some of the questions on serverless architecture K&C’s consultants most commonly encounter:
Vendor independent: We are vendor independent so won’t push you towards any particular Cloud platform. We’ll assess your needs and any existing infrastructure or platforms used before making a recommendation.
Communication: we work with third-party service providers ourselves and understand that strong communication is just as important as technical expertise. We promise you’ll never be left wondering when and what our experts are doing, provide prompt responses to any queries and make sure you we are zealous in our adherence to agreed reporting structures.
We Get Our Hands Dirty: Our serverless architecture consulting service is not just about sending a presentation that tells you what to do. We’ll do it for you as a dedicated team or work alongside your own team as an extension in your preferred format.
Integration testing is undeniably a challenge of serverless. Units of integration are much smaller when using Faas (Function-as-a-Service), which means the integration testing process is more demanding. Deploying functions as a group isn’t an option. There are also other challenges around deployment, versioning and packaging.
Moving to a serverless stack often results in substantial cost efficiencies but serverless architecture is not necessarily cheaper for every workload. Only looking at FaaS charges per function invocation will not give you a realistic picture of total costs.
It’s not even the biggest expense. Executing functions also takes up resources which serverless platforms charge for, such as the combination of memory resource and time required for a function to execute and these can mount for certain applications. With memory allocated configurable, the cost per 100ms execution time can vary by up to a double-digit multiple depending on selected specification.
Exposing the functionality to the end user through a web application, API or form of data persistence also uses chargeable resources.
In most cases serverless architecture, particularly well optimised serverless architecture, offers significant cost efficiencies. But there are certainly circumstances in which you could be stung, especially if loads are high. Avoiding these pitfalls is, however, often achievable through careful assessment and planning.
Serverless costs are very much back-loaded so begin to build up when large volumes of function requests come through. This makes a Serverless architecture a particularly attractive solution for start-ups, MVPs and new new applications generally. It very much keeps initial infrastructure cost down to a minimum so is ideal for proving market demand for new concepts or products.
Workloads that require substantial computing resources may not be suitable. A preliminary estimate can be reached using a serverless cost calculator.
For a more detailed rundown of all of the pros and cons of Serverless architecture check out our dedicated article.
While details may be adapted to the circumstances of our partners, our serverless consulting methodology follows the following stages:
Preliminary Assessment Workshop: the first stage is always a workshop with one of our senior serverless architecture consultants. Here we will detail your organisation’s current IT infrastructure and capabilities and where serverless would offer efficiencies.
Or, if we are specifically looking at serverless in isolation for a new application you plan, we’ll assess suitability based on workload requirements and cost.
Choice of Vendor/Set-Up: K&C’s DevOps consultants will work with you towards a choice of the best vendor for your serverless requirements. We will also manage your configuration set-up.
Build: depending on your requirement either our developers or your own will build your application.
Integration Testing & Deployment: we now have to test and deploy your serverless application on the platform of the selected vendor.
Ongoing Updates & Maintenance: based on need, our serverless consultants can also help you with future iteration updates and maintenance of your application.