Sharing Our Passion for Technology
& continuous learning
  • Data flowing from a datacenter to the cloud.

    Database Migrations at Scale with Fargate and Step Functions

    As holders of the Migration Consulting Competency from AWS, we are often deeply involved in cloud migration projects. We recently tackled a seemingly straight forward migration of an on-premise Postgres database to AWS Aurora. This database was a data warehouse that was shared by many teams and contained more than...
  • kubernetes logo on a blue background

    A Hands-On Tour of Kubernetes: Part 4 - Deployments and Replication

    Deployments So far we’ve been deploying pods directly. This has been a great way to gain familiarity with Kubernetes, but typically, we’ll rely on some other workload resource to create our pods for us. In this section, we’ll look at the Deployment resource. Creating a deployment isn’t too different from...
  • Kubernetes logo, in blue, on a blue to black gradient background

    A Hands-On Tour of Kubernetes: Part 3 - Communication and Services

    Pod Communication Our “applications” haven’t been too exciting so far. We’ve created some nginx pods and sent a few HTTP requests, but these pods aren’t talking to each other. Kubernetes complements a microservice architecture, but even if you follow a monolithic application design approach, we can anticipate there will be...
  • kubernetes logo on a blue background

    A Hands-On Tour of Kubernetes: Part 2 - Namespaces and Labels

    Namespaces We’ve only created one pod so far. Kubernetes wouldn’t be very special if we could only run one pod, so let’s try running multiple pods. $ kubectl run app-1 --image=nginx:1.24 pod/app-1 created $ kubectl run app-2 --image=nginx:1.24 pod/app-2 created $ kubectl run app-3 --image=nginx:1.24 pod/app-3 created It seems like...
  • kubernetes logo on a blue background

    A Hands-On Tour of Kubernetes: Part 1 - Introduction

    Introduction Kubernetes is a divisive topic in the world of software development. There seems to be an ardent following of both promoters and detractors. For some, Kubernetes is a herald to the upcoming golden age of cloud native software. We are on the cusp of reveling in workloads and infrastructure...
  • Boats in a line

    Save Money by Scaling Off Hours

    Source Allies, like many organizations, has several AWS environments. In addition to production we also have a dev and a qual environment. An application deployed to all three environments will be running three copies of its infrastucture. If that architecture includes RDS databases, EC2 instances, ECS tasks, or other compute...
  • Example of mixed UI components

    Micro-Frontend Strategy

    One of the main advantages of choosing a micro-service architecture for the services that back a company’s web application is to allow multiple teams to independently own components of the system. These components can choose different tech stacks, architecture choices, and deploy features and updates on different schedules. When it...
  • Making a Market

    Material Market: Coordinating Distributed Events

    My son and I were talking about a game idea over the weekend. In this game players would build small economies and trade with each other to simulate a supply chain. That requires a way to trade items and materials (like copper, wheat, etc.) without both players needing to be...
  • Centralized Data

    Reference Data Without the Database

    The data model for most organizations is built on the back of some amount of slowly changing, mostly static “reference data”. For a retail organization this might be the list of Stores. For an equipment manufacturer, it could be the list of MachineTypes. In the healthcare space, this could be...
  • An image of a rollercoaster, representing the management of technology lifecycle

    Technology Lifecycle Management

    TLM Vision Source Allies partners with companies who want to adopt a long-term, strategic, methodology that aligns technology, services, and the management of the IT infrastructure to business objectives. Implementing a TLM process, beginning with a baseline of the current technology stack / Enterprise Architecture, leads to intentional cost savings and risk reduction...