Source Allies Logo

Blog Insights

  • Teammates sitting together and looking at code

    Node Reference - Cognito Setup

    Cognito setup In order to secure our application we are going to leverage OpenID Connect{:target="_blank"}. Each request to our application from either another service or a logged in human user will contain a JSON Web Token (a.k.a. JWT){:target="_blank"} as a "Bearer" token in the Authorization{:target="_blank"} header{:target="_blank"}. This token not only proves...
  • Teammates sitting together and looking at code

    Node Reference - HTTPS

    Prerequisites This article builds on the prior article: Node Reference - HTTPS/DNS{:target="_blank"}. HTTPS and DNS In this post we are going to add a friendly DNS address that can be used to invoke our service so that clients do not have to use the auto-generated AWS load balancer name. We will also need...
  • Teammates sitting together and looking at code

    Node Reference - Application Load Balancer

    Prerequisites This article builds on the prior article about AWS Fargate. Add an Application Load Balancer For a long time, AWS has supported an HTTP(S) load balancing service in the form of an Elastic Load Balancer{:target="_blank"} (now called a "Classic load balancer"). When paired with ECS, a classic load balancer suffers from a...
  • Teammates sitting together and looking at code

    Node Reference - Fargate

    Prerequisites This article builds on the prior article about AWS CodePipeline. Fargate History With an automated build process underway, it is now time to switch focus to the application's runtime environments. We will be creating two environments: Development (aka. Dev) and Production (aka. Prod). Consider wether your project needs more than two environments. Talk...
  • Teammates sitting together and looking at code

    Node Reference - Code Pipeline

    Prerequisites This article builds on the prior article: CloudFormation. Continuous building via AWS CodePipeline Not only are we going to manage our application environments with Cloudformation{:target="_blank"} but we are also going to manage our deployment pipeline in the same manner. CodePipeline (Not to be confused with CodeDeploy{:target="_blank"}) is the Continuous Integration and Continuous...
  • Teammates sitting together and looking at code

    Node Reference - Cloudformation

    Prerequisites This article builds on the prior article: Dockertize. Introduction In the articles leading up to this one, we've created a docker image of a minimal tested NodeJS microservice. Our next step is to deploy the docker image into a container running in the AWS cloud platform. AWS CloudFormation allows us to create...
  • Teammates sitting together and looking at code

    Node Reference - Docker

    Prerequisites This article builds on the prior article: Koa. Dockertize Now that we have a simple application running and testable locally, we need to figure out a way to package and deploy it to other machines (i.e. Development and Production). We could install NodeJS on a machine and copy the code there. But,...
  • Teammates sitting together and looking at code

    Node Reference - Koa

    Prerequisites This article builds on the prior article: Unit Testing. Shift Left DevOps Before we write code, we look at first principles. A key principle is: "shorten feedback loops". We can acheive this by automating the steps leading up to validating what we're building. This is one reason we focus on continuous integration...
  • Teammates sitting together and looking at code

    Node Reference - Unit Testing

    Prerequisites This article builds on the prior article: Introduction. Unit Testing We plan on using Test Driven Development so we need to set up some sort of unit testing framework. For this task we're turning to Jasmine. Mocha/Chai/Sinon and Jest are also popular options. They are all similar but the thing that we...
  • Teammates sitting together and looking at code

    Node Reference - Introduction

    Summary Most AWS microservice articles only show you the tip of the iceberg. We certainly can't blame the article authors. For starters, the SAM squirrel mascot is so darned cute! But more importantly, we all know that standing up a production web service involves far more considerations than you could ever cover...