Webiny is built on serverless technology.
But what does that mean? What are the advantages that come to you as a business from using Serverless?
Here’s a brief introduction for the uninitiated.
Serverless architectures are quickly becoming the go-to solution for modern applications. As the name suggests, serverless means you don’t interact with servers, or even think about servers at all. Instead, your cloud provider manages all of that for you. You just upload your code and know that it will always be available when your users need to use it.
Your engineers tell your cloud provider (usually Amazon Web Services, or AWS for short) what code to run and when to run it, and they handle everything else: they run your code on servers, scale up or down as needed, and handle all of the operations required in running an application.
This means you get to focus on what you're really good at - helping users - instead of solving infrastructure problems.
Serverless platforms provide many benefits over traditional cloud services, including:
- Less infrastructure
- Quicker to build
- Easier to manage
- Usage-based pricing
Now let's dig into each point a little bit more.
With AWS managing the servers, they also do all of the networking, security groups, load balancers, and much more. This leads to a much simpler architecture overall with fewer components that could potentially cause problems down the road when scaling up or down in response to demand changes.
There's a lot of work that goes into building any application, but with serverless a lot of that work is already done for you.
The team at AWS has created serverless services that are ready to go right out of the box. If you're building an application or service on AWS, you can use these services right away and be sure that they're production ready.
With AWS offering these serverless services you have far less to think about. You can connect these different services in a way that works for your software and build your solution with far less infrastructure.
Since you have less infrastructure, it is quicker and easier to design and build. This means you can get features shipped faster and get feedback from your customers as quickly as possible.
We've just talked about how you have less infrastructure since AWS is handling a lot of the underlying work.
This has a knock-on effect that you can build serverless applications way faster because you don't have to worry about provisioning, managing, or scaling servers. You just write your code and push it. Your application will automatically scale up or down in response to demand, all handled automatically by AWS. This makes it easy for everyone on your team to get started building features quickly.
There are also a lot of pre-built features that come with serverless.
- Do you need authentication and user management? Use Cognito
- Do you need to send transactional or marketing emails? Use Simple Email Service
- Do you need to transcribe some audio? You can use AWS Transcribe
- You even have access to facial recognition with Amazon Rekognition
Add these to your solution and you can build incredibly powerful features really quickly.
With serverless, AWS handles most of the operations work to run your software. This covers everything from auto-scaling to rolling updates and redundancy. With traditional architectures, you often need to hire a whole team just to keep your software running smoothly.
It's also easier to maintain serverless applications than traditional ones because there's less complexity involved. With traditional architecture, you would probably need an entire Operations team dedicated solely towards keeping things running - and that is NOT cheap.
There are still a few ongoing tasks that you need to do to maintain serverless software, but they are far simpler and can easily be absorbed by your existing team.
There are also fewer complex parts in serverless apps, which means fewer bugs and performance issues compared with traditional architectures.
You only pay for what you use with serverless. This means when you don't have many users, your bills will be tiny ( or even $0.00 ). It also means you don't end up paying for a server that is just sitting there idle in the middle of the night!
Another benefit of using serverless is the pricing structure. Serverless computing is billed based on usage so you only pay for what you use. With the open pricing structure, you are able to work out exactly how much each request will cost.
Usage-based pricing means that there are no upfront costs or commitments which makes it more flexible than traditional cloud offerings. You can run a small, simple app and it costs you almost nothing, but then you can also scale up or down in seconds as needed.
Another benefit of usage-based pricing is that you can work out the monthly cost per user, and therefore the monthly profit per user. You can then use that in your advertising budget.
Serverless has been around for a while, but it's still growing. It's the perfect technology to build your next app with because of its scalability, flexibility and the fact that it lets you focus on solving your customers' problems.
Webiny leverages all of these benefits to give your engineering teams a solid foundation: it ties all of these services together into a unified framework that gives them the freedom to build business deliverables from day one.
This post was written by Sam Williams who consults organizations and individuals on both beginner and more advanced concepts of serverless. If you're interested in learning more you can check his courses out.