Sharing Our Passion for Technology
& continuous learning
  • Colorful HTML with a black background

    Cypress In Azure

    Problem Statement In order to continue delivering quality code and reduce human error in manual testing we want to automate high priority manual tests. Solution Our team is using Cypress to automate high priority manual tests in order to reduce human error and provide testing that would be done manually...
  • Three teammates posing for picture at AWS re:Invent 2019

    AWS re:Invent 2019 Recap

    AWS re:Invent is always an exciting time of year. For the past few years, Source Allies has sent a group of teammates for the annual event to come back and share all of the exciting things AWS is offering for the next year. We thought we would recap our experience...
  • Colored pipes in an industrial setting

    Event Sourcing

    Software development teams are responsible for building a wide variety of software to solve a wide variety of problems. Many of these software development projects implement business flows that have defined activities completed by specific parties. An architecture that implements these flows by mixing validation logic with record updates becomes...
  • Computers with green light

    Deploying Azure Function with Azure Active Directory Authentication (Easy Auth) Interaction

    Prerequisites This article requires a few things in order to get started: You have an ARM template params file here, we’ll call ours: deploy-parameters.json You have the core Azure template here, we’ll call ours: arm-template.json You have an api that is protected by Azure Active Directory Authentication (Easy Auth) You...
  • Close-up of hands typing on a laptop

    Breathing New Life into an Old Laptop with RancherOS

    While taking stock of my electronics graveyard I came across an old laptop. I had been looking for a reason to play with Docker containers and this laptop provided me an opportunity to do so. Since it was only going to be running Docker containers, I wanted a no-frills setup....
  • Teammates sitting together and looking at code

    Node Reference - Conclusion

    Prerequisites This article builds on the prior article: The “Join” Problem. Conclusion In this series, we walked the reader through the considerations of building a production-ready microservice. More important than the tools we used (e.x. NodeJS, AWS) were the questions we asked. You may choose different tools and libraries for...
  • Teammates sitting together and looking at code

    Node Reference - Change Events

    The “Join” Problem Modern applications no longer exist in a silo. They need to integrate with other systems within the organization. In a microservice architecture, this is even more valid since very few business processes can be completed by involving only one service. Let us suppose that our product service...
  • Teammates sitting together and looking at code

    Node Reference - Delete

    Prerequisites This article builds on the prior article: Node Reference - History. Deleting Humans make mistakes. Your users are humans, and sometimes they will create a product by mistake and will need to delete it. For that scenario, we need a DELETE REST endpoint. There are two main classes of...
  • Teammates sitting together and looking at code

    Node Reference - History

    Prerequisites This article builds on the prior article: Patch. Tracking History The way our service is currently built, all modifications (PATCH requests) happen in-place to records in DynamoDB. It is common in most production applications that someone will want to know the history of a record. A business user may...
  • Teammates sitting together and looking at code

    Node Reference - Patch Product

    Prerequisites This article builds on the prior article: Node Reference - Get Product by Id. Supporting Updates Sooner or later, there will be a need to modify a product. Except in the case of immutable data stores, rarely are there entities that are truely “insert only”. In order to support...