Software Alternatives & Reviews

Database-driven realtime architectures: building a serverless and editable chat app - Part 1

Recommended and mentioned products

  1. Nuxt.js presets all the configuration needed to make your development of a Vue.js application enjoyable. It's a perfect static site generator.

    Nuxt aims to provide best-practice solutions to common web development problems like routing, state-management, code splitting, etc. It allows us to make use of various NPM utility libraries in a static site that can be deployed and used directly from a CDN, without needing a server, i.e. Following the Jamstack architecture.
  2. Build, deploy and host your static site or app with a drag and drop interface and automatic delpoys from GitHub or Bitbucket

    Netlify provides a serverless platform to deploy web applications. It also allows setting up git-based workflows to automate building and deploying new versions of a static site as changes are made to the repository. The Nuxt app is deployed using Netlify.
  3. Online shopping from the earth's biggest selection of books, magazines, music, DVDs, videos, electronics, computers, software, apparel & accessories, shoes, jewelry, tools & hardware, housewares, furniture, sporting goods, beauty & personal care, br…

    Postgres doesn't come with hosting, we'll need to make use of another service to host the database. Again, in light of keeping everything serverless, I've made use of AWS RDS for Postgres. Using AWS also gives the advantage of the accessibility of the data between other AWS services, like the Lambda function in the previous point.
  4. Automatic, event-driven compute service

    We use PostgresDB to store messages from the chat app. In general, any database transactions which change table data shouldn't be done directly from the front-end to avoid potential security risks. Hence, we'll make use of AWS Lambda functions to make changes to the database on the users' behalf. Given that we are aiming to make this app fully serverless, Lambda functions fit right in with this theme.
  5. AWS Fargate is a compute engine for Amazon ECS and EKS that allows you to run containers without having to manage servers or clusters.

    AWS Fargate is a serverless compute engine that hosts containers. The Ably Postgres connector has a dockerized image that needs to be hosted somewhere. We'll use AWS Fargate to do this, because it makes it easy and secure to manage the backend deployment and hosting on a single service like AWS.
  6. Amazon EC2 Container Service is a highly scalable, high-performance​ container management service that supports Docker containers.

    AWS Fargate works with AWS ECS which enables deployment and management of containerized applications. We use AWS ECR to upload the docker image so it can be stored in the registry to be used by ECS as needed.
  7. Amazon ECR is a fully-managed Docker container registry enabling developers to store, manage, and deploy Docker container images.

    AWS Fargate works with AWS ECS which enables deployment and management of containerized applications. We use AWS ECR to upload the docker image so it can be stored in the registry to be used by ECS as needed.