Slide 1

Slide 1 text

The Evolution of Deploying Node on Servers and Platforms

Slide 2

Slide 2 text

BIO. Shedrack Akintayo Lagos (Nigeria) Developer Relations Engineer ● Work at Platform.sh ● Technical Writer ● Community builder(Fb DevC Lagos, OSCA)

Slide 3

Slide 3 text

Table of contents ● Node Deployed on a Server in a Garage ● Node Deployed on Monolith Servers ● Node on PaaS ● Node Deployed on Containers ● Serverless/Cloud Functions

Slide 4

Slide 4 text

Deployment ain’t easy

Slide 5

Slide 5 text

Node Deployed on a physical server in a garage - Build your own server. Before everything else, Node used to be deployed on a physical server in a garage. Pros - Dedicated node server for just your application - Control your environment - Secured Cons - Too expensive to set up - technical know how, manpower - Stressful to manage - Harder to optimise Requirements - Node early versions - GPUs - RAMs - CPUs

Slide 6

Slide 6 text

Node Application/Serv er Deployed on Monolith Servers A monolith server consists of all parts of an application deployed on a single server, from the backend to the static part of the application. Pros - The entire parts application is in a centralized server - A great choice to deploy node as a monolith Cons - As the application gets larger, it becomes difficult to update. - Memory requirements increase overtime Requirements - A hosting server - Nodejs 12 upwards

Slide 7

Slide 7 text

Node Deployed on a PaaS PaaS aka Platform as a Service, it provides a broad set of cloud-based application infrastructure and middleware (AIM) resources via the cloud - Platform.sh - PaaS but deploy on Containers - Heroku - Vercel - Netlify - AWS Elastic Beanstalk Pros - NodeJS can be deployed faster and with various version - Easy to manage and control your NodeJS infrastructure - Adding external data services with your Node app is easier. Cons - Can be very expensive at scale - Vendor lock in Requirements to deploy Node on a PaaS are dependent on the PaaS provider.

Slide 8

Slide 8 text

Node Deployed on a Container A container is a lightweight piece of software that provides a runtime environment for your application. - Platform.sh - PaaS but deploy on Containers - Kubernetes - Docker Pros - It makes your Node app lightweight and resource efficient - Easy to manage and control your NodeJS infrastructure - Adding external data services with your Node app is easier. Cons - Can be very expensive at scale - Vendor lock in Requirements to deploy Node on a PaaS are dependent on the Container provider. You also get to control what node version, memory disk size for your application.

Slide 9

Slide 9 text

Serverless/Functi on as a service Serverless consisting of deploying applications without worrying about servers. Servers are still present but on a as-used basis. Function-as-a-Service (FaaS) is a serverless way to execute modular pieces of code on the edge E.g - Aws Lambda - Serveless.com Pros - Lower costs - Build faster - Simple Backend Code Cons - Vendor lock in - Unsuitable for long term tasks

Slide 10

Slide 10 text

Thank you! Shedrack Akintayo Developer Relations Engineer, Platform.sh fi[email protected]