What is serverless?
In the context of cloud services, serverless means fully managed service. There is still some server running somewhere, it’s just not managed by you. Having a serverless architecture means you can build your own applications and services without having to manage the underlying infrastructure.
Advantages of AWS serverless services
- With fully managed services you eliminate the operational overhead. Your teams can focus on core competencies and higher value business logic.
- Serverless services can scale much better than any traditional offering. You can rely on maximum performance under peak demands, and cut costs when the workload is low.
- The built-in service integrations make it easier to create distributed applications.
Example case: AWS Aurora
Cloud native managed databases such as AWS Aurora have changed the way we think about database deployment architectures. Backups, multi-AZ writes, failovers, and load balancers are all managed. The larger the instance, the more performance you get out of the box; not just CPU and memory, but also IO and disk IOPS. With the possibility to push this database service to its limits, you can consolidate your database servers with AWS Aurora on your serverless architecture and expect cost savings of up to 70%.
How easy is it to go serverless?
Going partially serverless can be fairly easy. In fact, in many cases you can migrate from traditional database offerings to AWS Aurora without changing the application. If you are looking for a recommendation engine, you can integrate AWS Personalize with minor changes to your application.
However, if you think about converting a monolithic legacy application, here are some additional considerations:
- Developing new distributed applications with AWS is much faster than working with legacy development platforms. You can set up new CI/CD pipelines and deliver frequent releases with higher quality.
- You can replace a legacy project with 1M+ lines of code with a distributed serverless application with 5-10K lines of code. It will be faster to create a new project from scratch than trying to salvage any legacy code.
- Going serverless is the perfect opportunity to innovate. Put your legacy application in maintenance mode and enjoy the benefits of modern application development.