Now that you've chosen to go the serverless route, which vendor option should you go for? That's one of the major questions that anybody asks themselves when they make the switch.
Should you choose Amazon Web Services (AWS), which is a mature service that will serve you well, or should you go with Google's younger Firebase?
Before the comparison of AWS vs Firebase, we should understand what serverless really means.
What Is A Serverless Architecture?
A traditional server usually features a single server, that needs to be maintained in-house and has a variety of responsibilities within its codebase. When a request goes in, the server executes some processes and a response is given.
This one server can be responsible for several different functions. This could include authentication, writing files, watching users, etc. You can see why this might be a hectic model for running a server.
Serverless architecture is essentially a microservice architecture, meaning you build your infrastructure from different components in the cloud and send them to managed servers -- in this case, either to AWS or Google Firebase, who will run your code for you whenever it's triggered by an event. This makes it easy for your application to scale when needed and you only pay for the runtime. Whenever an event occurs, a code or function is executed. The server runs when something happens. The code only wakes up when it receives a request. It's not persistent and running all day, all week.
It only uses resources when it needs to. The benefit of this is that each function has its own responsibility, and none of it overlaps, making things cleaner and less finicky.
Pros and Cons of AWS
Amazon Web Services as a whole is stacked. They have so many different services that it really is an all-in-one solution.
AWS Lambda's performance is also very strong. All of their Cloud solutions are beginner-friendly and they make it easy to set up. The service is reliable and customer support is there (It's Amazon, so of course their customer support is superb).
AWS Cost
It's also a pay-per-use service so that your cost is dependent on the type of traffic you receive. In general, their entire ecosystem is made to be all-inclusive. If you don't want to bounce around with services, AWS is a great choice.
AWS could also be a difficult choice to recommend. There's a slight learning curve, especially considering they have such a large suite of products on hand. To get started, make sure to check out the 5 Serverless AWS Core Services Everyone Should Have in Their Starter Toolkit. Their infrastructure is also geared a little more towards larger teams. If handled incorrectly, AWS could end up costing you more money than you originally anticipated.
Read more about how to reduce cost on AWS Lambda
Pros and Cons of Firebase
Firebase, although younger, is a little more advanced in its technology. From image, text, and voice APIs, they have a lot more unique services to add.
Google's Firebase includes services that make it easy to scale. It also features traffic management services within their suite.
Firebase Cost
They also boast low IT costs. If you're a small team setting up, Firebase might serve you better than a heavy AWS setup. It also has a lower learning curve than AWS.
On the flip side, Firebase makes it difficult to query larger datasets. Their database also doesn't provide relational data, which could spell trouble for some newer companies.
AWS vs Firebase; Which One To Choose?
The question of choosing AWS or Firebase is a loaded one. It really comes down to preference and your situation.
If your situation calls for a more mature service that has an entire suite of services at your beck and call, AWS should be in your sights.
If you're a newer team that's prepping to set things up quickly, Firebase could serve you well. Regardless, you'll need to monitor your serverless setup. That's where Dashbird comes in. If you're going to choose AWS, we're here to make sure you're running smoothly: save you hours on debugging on the daily, give you customized Well-Architected insights and advice to further improve your infrastructure, and provide a quick and easy to understand real-time overview of the health and performance of your serverless infrastructure.