Why serverless newbies should use a deployment framework

Paul Swail on November 01, 2018

As a developer building your first app with a new technology, successfully deploying a working end-to-end solution can be highly satisfying. But ... [Read Full]
markdown guide
 

You should check out Architect arc.codes
It is hands down, the fastest at serverless deployment.

 

Yes, Arc has been on my radar for a while now but haven't yet been able to carve out a few hours to check it out. On the face of it, it looks really nice.

Have you used Serverless framework also? If so, what does Arc do better for you?

 

I have tried Serverless framework and found it configuration heavy and really slow at provisioning and deploys.

 

Idk, seems a lot more convoluted than installing Postgres, uwsgi, nginx, Django on an Ubuntu server. And if I don't like the defaults or Amazon pricing I have ways out.

 

Suppose you have a small subset of endpoints in your Django app, and periodically traffic spikes drastically. For instance ingesting events based around an unexpected event (some real world event that's unpredictable). This traffic is 10x to 50x your max threshold traffic and you don't know when it might happen. What would you do in this case? Vertically scale your server to 5 - 10 times it's need for a single instance that is idle 75% of the time or more. Fail your users while you are manually scaling up. Horizontally scaling the full app across multiple VMs.

In the case of a serverless platform, this single endpoint can sit idle not costing anything then automatically scaling to the size needed and auto scale down to zero when not needed. Sure autoscaling groups can help with that, but you'd have to scale the entire app if not split out in architecture. Multiple developers working independently can deploy different endpoints at will as opposed to merging and deploying the full app. I'm still a bit unsure of serverless in production for a full application in a small team, but there are instances where there is no better option.

 

you need to learn the fundamentals of the tech.

A good first step is to not adapt marketing speech ("serverless") for technical solutions ("stuff running on servers you don't own"). :-) We developers should learn to speak clearly.

 

The first time I heard about this, I wondered how they managed to do that, that sounded impossible ... no server? where do you connect to? Where is the site coming from?

When I researched this and saw that it's hosted on 3rd party server, I was confused on the naming to say the least ...

 

Indeed. And Amazon naming their 'serverless' technology 'Lambda' was a horrible piece of marketing speak.

Should have called it 'Hat'.

code of conduct - report abuse