About the Author

Zach Gardner

I am a HTML5/JavaScript Consultant for Keyhole Software in Kansas City. I help large enterprises with Single-Page Application architecture as well as consulting on full stack development. In my spare time, I read anything I can get my hands on when I'm not playing Dad to a 1-year-old girl, or playing husband to my wife.

Integrating Azure Functions with Cosmos DB SQL API in .NET Core 2.2

Zach Gardner .NET Core, Azure, Technology Snapshot, Tutorial Leave a Comment

I am working on a project that leverages both Azure Functions as well as Cosmos DB. In trying to get both of these components wired together, I found that there are very few examples that work with the most recent versions of these components. I also saw examples that could work at a small scale, but don’t show industry-standard best practices, and would lead to performance issues if deployed in an environment with any meaningful traffic.

To that end, I put together this blog post showing how to set up an Azure Functions project in .NET Core 2.2 to integrate with Cosmos DB’s SQL API using its native tooling.

Building a Java Cloud Native Spring Microservice Application on Azure, Part 1

Zach Gardner Azure, Cloud, Java, Microservices, Technology Snapshot Leave a Comment

The big three cloud providers (AWS, Azure, and Google Cloud, in that order) have their various strengths and areas of expertise. Most large organizations though typically pick one cloud provider for their cloud computing needs. This works well if you’re a Java shop that’s on AWS, or a Microsoft shop on Azure. But what if you’re on a large Java project in an organization that wants to use Azure? You’re in luck.

Microsoft Azure has come a long way, and is very supportive of non-Microsoft technologies. The proof though is in the pudding. Which is where this blog post comes in. I take Josh Long’s Bootiful Microservice Services, a great starting point to get a cloud native Spring microservice application up and running, and show how it can be run on Azure.

This first blog post will be all about setting up our basic microservices by walking through the various parts of Josh’s example application, with some best practices and patterns that I’ve found to be effective. Rather than a simplistic ToDo application, we’ll be basing our application off of my favorite bagel shop in New York, Original Bagel Boss in Hicksville, to manage its orders, inventory, etc. If we can run a bagel shop on a Spring application running on Azure, and keep customers happy and full of carbohydrates, then it proves out for applications of a similar size and complexity.

We’ll be staying mostly inside the familiar Java confines, then slowly start working our way out to getting our application deployed to Azure. Then we’ll start introducing additional complexity like Spring Batch jobs, a React front end, etc. A setup this complex will show that Azure is ready for prime time when it comes to running applications in production, even if they are built on non-Microsoft technologies…

The Jury is Still Out: Blockchain in Healthcare

Zach Gardner Blockchain, Hyperledger, Opinion Leave a Comment

Blockchain has gotten the software world buzzing about its potential applications in different business areas. With the US spending 17.9% of its GDP on healthcare in 2017 per CMS, many companies are considering how to enter into a market that has such potential for growth as well as the potential to positively affect patient’s lives.

Keyhole Software stays ahead of the curve by investigating new trends in software so that when clients come to us asking for advice we can provide an informed opinion. We do not want our clients to be guinea pigs, and we help provide guidance so that the solution they choose is the best one regardless of the trends of the day.

Blockchain is something we feel could be a good fit for the right use case, which we’ve elaborated on in our Blockchain Case Study. It is, at the end of the day, just a tool, and should only be used when it is beneficial to do so. Healthcare is an incredibly complex industry, so it is important to understand what Blockchain is, what it is not, and what needs to be considered before using the technology.

The purpose of this blog post is to think through how Blockchain can be applied to healthcare software applications. This blog post does not dive into the technical implementation of Blockchain, only its application in healthcare. A technical deep dive into Blockchain can be found in our Blockchain White Paper.

Web Development Business

Improving Performance in Enterprise Web Applications

Zach Gardner Opinion, Programming

Every team that builds a large web application can generally pick from the following: delivering application functionality on time, with high quality, or high performance. Teams can pick one or two of the options, but they can’t pick all three.

Most teams opt to only focus on performance if and when it becomes a problem. This, unfortunately, can be far too late for some projects. Anyone who has been in the industry can empathize with both sides of the equation – choosing to defer performance concerns, as well as seeing the negative impact it can have on the success of the product as a whole.

It is a lesson I’ve learned from hard experience, so I want to make sure others can learn from my mistakes. In this post, I suggest a handful of principles that help to find a happy medium for delivering high-quality software applications while focusing on performance.

Significant improvements can be realized even if only one or two of the principles are applied. Applying all of them, of course, will produce the best results.

Security in the Microservices Paradigm

Zach Gardner Architecture, Microservices Leave a Comment

One of the least glamorous aspects of implementing a Microservices architecture is the security. It’s not fun or cool when compared to things like the circuit breaker or service discovery, yet it is a critical piece of the ecosystem especially in an enterprise setting.

I’m working on a large Microservices project for a healthcare enterprise on the East Coast. One of the first pieces of the infrastructure we assisted with was security, which has turned out to be a lifesaver for everything that has come after it. I was able to see what security works well as well as what does not work so well in a Microservices environment. In this blog post, I will share a medium to high-level look into how security can be implemented in Microservices.