Sharing Our Passion for Technology
& Continuous Learning
-
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... -
Building AI You Can Trust
At Source Allies, we excel in integrating Generative AI and Large Language Models (LLMs) into our solutions to optimize error-prone and time-consuming manual processes. However, the real power of Generative AI lies in creating domain-specific solutions that truly differentiate your business. Why Custom AI is Important AI is often described... -
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.... -
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... -
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... -
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... -
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... -
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... -
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... -
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...