Errors and exceptions in the cloud: The business case for adopting containers and CI/CD on Microsoft Azure

October 10 2019

No matter which cloud environment you find yourself using, you need to consider how to solve application and networking issues. In the past, I wrote exceptions to log files so that I could analyze any problems that users reported. Later in my career, applications evolved from front-end architectures with a backend database—a Client Server Architecture--to a multi-tiered architecture with middleware servers in the middle. This new way of working with apps meant we had to log to a database in order to capture all of the events from all of the components.

Suddenly we had web service events, middle tier events for middleware, and database events. How do we relate all of these logged items together so we see a holistic view of the issue and solve it?

We recorded each call with a unique identifier that was common across all the processes. We would then search for the first exception, obtain the correlated unique identifier and any other records with the same unique identifier. This unique identifier is known as a "CorrelationID." In this article, I'll take a look at a few of the different ways to handle these issues as they crop up.

Microservice challenges for error and exception handling

In today's cloud environments, we have microservices, or small services that are very specific to the company's application requirements. These are often deployed in serverless containers such as Kubernetes or Docker, which are used to standardize items common to all applications such as error or exception handling. They log errors in the containers in a specified format and location. This allows the group that monitors apps to see all application information from across the containers in one convenient location.

Containers are built to operate on machines in all environments, including your local departmental servers, centralized data centers, and all of the major clouds. Thanks to this flexibility, the people in your organization can see all environments and all issues in one set of screens and alerts. This helps tremendously in issue resolution and gaining a deep understanding of what the issues are. In fact, it can even be used as a learning tool to prevent issues in the future.

Application and Development Operations (DevOps)

About Tracy Rooks

Tracy Rooks was born in Florida and is a graduate of the University of Central Florida in Orlando. He was passed the Uniform Certified Public Accountants examination and worked for such prestigious firms as Price Waterhouse in Jacksonville, Florida and Coopers and Lybrand in Ft. Lauderdale, Florida. Tracy has owned several successful IT solutions startups including T Squared Software which he merged into 11Binary in 2014. Tracy currently holds the position of Chief Cloud Architect with this organization.

Tracy has built software for some of the largest and smallest companies in the world including Northrup Grumman, Winter Haven Hospital, Home Shopping Network, Jabil Circuit, Petco, Promis Solutions, TKE and MGM Resorts. In the past several years Tracy has championed and programmed a Microservices Lightweight Messaging Architecture including a Universal Data Storage component capable of handling Petabytes of data, a Universal Logic Layer capable of designing  business rules and algorithms for big data situations and finally a Universal Analytics and AI platform for predictive analytics. These tools do not require software engineers and may be used my trained business analysts.

Tracy likes to fish in the St. Johns River near his home in the historic district of Sanford, Florida near Orlando. He often travels to visit his son and grandchildren in Las Vegas and Nashville.

More about Tracy Rooks

Azure Services