Sharing Our Passion for Technology
& Continuous Learning
  • a black silicone chip with silver traces entering it from all four sides on top of a blue motherboard.

    Navigating Agentic AI Reasoning: ReAct vs ReWOO

    Navigating Agentic AI Reasoning: ReAct vs. ReWOO In the evolving world of generative AI, agentic AI systems are gaining prominence for their ability to perform tasks, make decisions, and interact with their environments autonomously. Two popular approaches to implementing agentic AI reasoning are ReAct (Reasoning Acting) and ReWOO (Reasoning Without...
  • boots walking over a wooden bridge in nature

    Meditation on Backwards Compatibility

    Meditation on Backwards Compatibility Product versioning teaches us some unique lessons on software design. While it reinforces some important practices–such as using layers (repository, service, business, etc)–to organize functional pieces, some best practices make versioning more complicated. For example, “Don’t Repeat Yourself” means that multiple versions of the product will...
  • Successful Feedback

    Formula For Successful Feedback

    A Feedback Formula for Success If you are like me, giving feedback doesn’t come naturally to you. I have been in search of tips and tricks to help me structure feedback in a way that was clear and valuable to the recipient. After many years of research and practice, I...
  • An artistic representation of a graph.

    A Unified Approach to APIs with GraphQL Federation

    Introduction At Source Allies, we have a variety of internal services for managing Teammates. Many of the services’ data are related to one other and each consumer needs a different subset of this information. Consumers need to contact a variety of services and process the information before it is usable....
  • watering plants with a green and blue watering can.

    The Samaritan Engineers

    Over my career as a software engineer, I’ve worked with numerous engineers with varying levels of experience and influence. The ones I looked up to and wanted to follow in their steps were what I like to call the Samaritan Senior Software Engineers, or Samaritans for short, who truly lived...
  • 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...