DEV Community

Cover image for Why serverless newbies should use a deployment framework

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 ...
Collapse
 
kristoferjoseph profile image
kj

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

Collapse
 
paulswail profile image
Paul Swail

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?

Collapse
 
kristoferjoseph profile image
kj

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

Collapse
 
lauriy profile image
Lauri Elias

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.

Collapse
 
dave_albert profile image
Dave Albert

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.

Collapse
 
tux0r profile image
tux0r

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.

Collapse
 
kurisutofu profile image
kurisutofu

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 ...

Collapse
 
gypsydave5 profile image
David Wickes

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

Should have called it 'Hat'.