$30 off During Our Annual Pro Sale. View Details »

The Evolution of Deploying Node on Servers and Platforms

The Evolution of Deploying Node on Servers and Platforms

NodeJS is a server-side representation of Javascript that can work well as an application's backend and can be run on various servers and infrastructures. In this talk, we'll be going through the journey of how Nodejs has been deployed over the years via various infrastructures from PaaS to Containers.

shedrack akintayo

February 17, 2022
Tweet

More Decks by shedrack akintayo

Other Decks in Programming

Transcript

  1. The Evolution
    of Deploying
    Node on
    Servers and
    Platforms

    View Slide

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

    View Slide

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

    View Slide

  4. Deployment
    ain’t easy

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide