About the Author
Avatar photo

Dallas Monson

Enterprise Consultant building architecture and technology that work โ†’ for people, performance, and growth. Combine deep engineering expertise with communication to bridge executives, engineers, and end users with new technology roadmaps and business growth objectives. Deliver enterprise modernization and AI-driven solutions that reduce risk, strengthen trust, and drive measurable results across industries, transforming legacy environments into agile, cloud-native systems and building teams that perform without micromanagement. Technical Scope: Bring hands-on expertise across full-stack software engineering, cloud ecosystems, and enterprise modernization. Experienced architect in Azure and AWS with deep understanding of microservices, containerization, and DevOps. Proficient in languages and frameworks, including Python, C#, Java, JavaScript, TypeScript, .NET, and Node.js. Skilled in data strategy and analytics through tools such as DataBricks, Apache Nifi, Kafka, and MuleSoft. Designed and delivered AI-driven, secure, and scalable architectures spanning SaaS, PaaS, and hybrid environments. For free time activities I enjoy brewing beer, traveling - especially to the Caribbean, and spending time with my wife and three kids.

Intent-Driven Development: A Modern SDLC for AI-Accelerated Teams

Dallas Monson Agentic AI & AI-Accelerated Development, Agile, Articles, Artificial Intelligence, Development Technologies & Tools, Keyhole Perspectives Leave a Comment

The traditional SDLC wasnโ€™t designed for AI-accelerated delivery. When features ship in hours instead of weeks, detailed upfront documentation becomes the bottleneck in an AI-assisted software development lifecycle. As organizations accelerate delivery with AI, most software documentation strategies havenโ€™t kept pace. Practices built for slower, predictable releases struggle with rapid iteration. Modern software delivery teams need a lighter approach that …

Microservices in the Wild: Three Types & How to Implement

Dallas Monson Architecture, Articles, Cloud, Development Technologies & Tools, Microservices 1 Comment

Microservices has become a catch-all term in the industry used to describe anything from architecture patterns to actual service implementations.

With such a broad spectrum, it can be daunting to know what it is, what it isnโ€™t, and maybe more importantly, why we should care.

In this post, Iโ€™ll provide an overview of three kinds of Microservices that I have observed in client architectures: Domain, Integration, and Unit-of-Work. Iโ€™ll also discuss specific examples of their purposes and a method to implement each one.

Azure Severless: Functions and Logic Apps

Azure Serverless: Functions and Logic Apps

Dallas Monson Architecture, Articles, Azure, Cloud, Consulting, Development Technologies & Tools 1 Comment

This is a perfect opportunity for us to explore cloud serverless offerings as the ultimate contact-less development option. While COVID-19 continues to make face-to-face collaboration an impossibility, cloud-based applications and workloads provide a well-defined method for remote development and project deployment. Serverless offerings, like Azure Functions and Azure Logic Apps, take this to the next level while allowing us, as developers, to focus only on our application functionality and not the backing infrastructure or uptime of servers. These serverless solutions will be the focus of this blog.

Microservices Anti-Patterns

Dallas Monson Agile, Articles, Consulting, Microservices 1 Comment

Microservices? Yeah, youโ€™re doing it wrong.

Microservices is a silver bullet, magic pill, instant fix, and can’t-go-wrong solution to all of softwareโ€™s problems. In fact, as soon you implement even the basics of microservices all of your dreams come true; you will triple productivity, reach your ideal weight, land your dream job, win the lottery 10 times, and be able to fly, clearly.

While this sounds like a lot of hyperbole wrapped up in some BS, if you have been listening to anything around microservices recently you will most likely have heard something not too far from this exaggerated sentiment – especially if it is coming from sales folks.

As a result of this, you or someone you know will likely have been charged by management to implement a solution in microservices or refactor an existing application to take advantage of microservices to ensure that you get all the magic. With so much overinflation of the truth out there, chances are you may have also implemented a microservices antipattern. These antipatterns are actually more common in the wild than fully functional microservices architectures.

Overview
In this post we will cover the most common antipatterns that I have witnessed in the wild:

Break the Piggy Bank
Everything Micro (Except for the Data)
We are Agile! a.k.a. The Frankenstein

Each one of these results from a common misconception. We will do our best to define these patterns and their symptoms. After each, we will also show a way out of the mess so that you can recover and begin to move towards a better implementation. Letโ€™s get started!

Cucumber Testing in Spring Batch

Dallas Monson Articles, Development Technologies & Tools, Spring, Spring Batch, Testing 3 Comments

With the evolution of microservices and the scalable nature of modern distributed architectures, batch processing seems to be falling out of favor. In fact, the term batch processing itself seems to be unfavorably associated with monolithic mainframe applications and thus does not seem to have much appeal.

Unless, of course, you are working on a project that is being designed to replace or modernize one of those mainframe applications. If that is the case, then likely some sort of batch process has come up with a non-functional requirement that needs to be dealt with in the new system.

For this specific concern, a very powerful framework has been provided: Spring Batch. It has many of the same features of a mainframe batch process like restart/recovery, chunk processing, and error handling along with exit codes. This framework allows developers to create powerful batch processing applications in the Spring Framework and enjoy the rich backplane of capabilities that this provides.

Continuing with the modernization thread, you will likely be tasked with providing some assurances to the business that the new, modernized process will produce the same outcome as the one that is being replaced. Here is where testing comes in, and where Cucumber specifically shines.

Cucumber provides behavioral testing support in the Spring universe. This allows developers and business users to collaborate through a common set of conventions and verbiage to validate that the app is behaving how the business intended as well as how the developer coded it.

In this post we will cover the following:
Why use Cucumber with Spring Batch
An overview of Cucumber and an example Cucumber Test
How to start with Cucumber and Spring Batch…