Decision at Evojam about Azure Functions, Firebase, AWS Lambda, Serverless

Avatar of nowaq
Co-founder at Evojam ·
Azure FunctionsAzure Functions
FirebaseFirebase
AWS LambdaAWS Lambda
ServerlessServerless

In a couple of recent projects we had an opportunity to try out the new Serverless approach to building web applications. It wasn't necessarily a question if we should use any particular vendor but rather "if" we can consider serverless a viable option for building apps. Obviously our goal was also to get a feel for this technology and gain some hands-on experience.

We did consider AWS Lambda, Firebase from Google as well as Azure Functions. Eventually we went with AWS Lambdas.

PROS
  • No servers to manage (obviously!)
  • Limited fixed costs – you pay only for used time
  • Automated scaling and balancing
  • Automatic failover (or, at this level of abstraction, no failover problem at all)
  • Security easier to provide and audit
  • Low overhead at the start (with the certain level of knowledge)
  • Short time to market
  • Easy handover - deployment coupled with code
  • Perfect choice for lean startups with fast-paced iterations
  • Augmentation for the classic cloud, server(full) approach
CONS
  • Not much know-how and best practices available about structuring the code and projects on the market
  • Not suitable for complex business logic due to the risk of producing highly coupled code
  • Cost difficult to estimate (helpful tools: serverlesscalc.com)
  • Difficulty in migration to other platforms (Vendor lock⚠️)
  • Little engineers with experience in serverless on the job market
  • Steep learning curve for engineers without any cloud experience

More details are on our blog: https://evojam.com/blog/2018/12/5/should-you-go-serverless-meet-the-benefits-and-flaws-of-new-wave-of-cloud-solutions I hope it helps 🙌 & I'm curious of your experiences.

6 upvotes·1 comment·10K views
oallouch
oallouch
·
January 6th 2019 at 11:03pm

Remove the vendor lock by using parse-server. It's an open source serverless express.js middleware.

·
Reply