At Si Novi one of our founding principles was regarding the use of serverless technology. We firmly believe in the future of serverless systems and their ability to cut infrastructure costs and reduce server management overheads while providing a superior service to power web-based applications.
We work with various serverless technologies, particularly in AWS including Lambda, Lambda@Edge, DynamoDB, S3 and Aurora Serverless. We're keen followers of the 'Infrastructure as code' doctrine which allows you to define all your resources as code files for easy maintenance, version control and deployment. We use various Infrastructure as code tools such as AWS Serverless Application Model (SAM), the Serverless Framework and Architect.
In early 2024 we worked with Secure24 and Camio and developed a serverless AWS application to provide a data bridge between CCTV and access control systems, and the AI processing of the door entry data.
Built using Node.JS Lambdas and API Gateway, this serverless solution provides cost effective and scalable infrastructure that underpins the business.
A huge benefit of serverless systems is in the cost savings they bring.
In the traditional model, websites or web applications are hosted and operate one one or more “Servers”. These servers run 24 hours a day, every day. Of course, as a consumer of this hosting provision you're paying for the servers - regardless of whether the website or app is actually being used.
With serverless your website or applications are only 'served' when they are used by a visitor or user. The invocation of a serverless process is charged per run - usually in the thousandths of a penny, and often with generous free tiers from the cloud provider.
A static website or web page is defined as one in which is delivered to the browser without use of a programming language to generate the page first. Static webpages are delivered to the browser exactly as they are stored on the server - usually as HTML files.
Delivering static HTML pages to the browser comes with huge benefits of speed and optimisation, particularly when combined with cloud services such as AWS CloudFront for global caching and AWS Lambda@Edge serverless to perform necessary routing, scripting or payload modification.
But static websites have a perceived downside of being... well, static - unchangable. This might be seen as an unsurmountable obstacle any website or application that requires content changes.
However at Si Novi we leverage web and cloud technologies to build websites and applications that have both dynamic content management and static HTML and asset delivery, achieving the best of both worlds.
This website, hosted in AWS using S3, CloudFront and Lambda@Edge is an example of how a highly-optimised, high-performance static website can also be dynamic and regularly updated.
Traditional web applications are built as 'monolithic' applications - all the code and functions are within one codebase and hosted on a single web server. This is a perfectly reasonable approach for many applications, however it's difficult to scale an application like this. Scaling up the hosting provision is one option, but this is potentially expensive.
There are always opportunities to break out aspects of applications into discrete microservices - bringing benefits of performance, redundancy, scalability and potential cost savings.
If your existing web application has known high-load events - like document generation or traffic spikes to a particular feature - then migrating that service to a serverless microservice could reduce the load on the rest of your hosting infrastructure, and could allow you to scale your service without investing heavily in hosting.
Utilising serverless technologies naturally means building APIs into your web applications, which makes them more flexible and allows for future integrations with other systems and services. At Si Novi we're experienced at delivering API development and creating and deploying serverless applications in the cloud.
Breaking down web applications into microservices can often be performed slowly, one piece at a time - limiting your investment and risk at each stage.
If you'd like to know how serverless and microservices can cut your business's hosting costs, or you'd like to commission us to develop a serverless application, please contact us today.