About the Author

Zach Gardner

Zach Gardner is Keyhole Software's Chief Architect with more than a decade of development experience. Zach has led numerous initiatives to modernize technologies and processes with real-world experience as an educator, architect, technical lead, developer, and mentor. He primarily lives in Microsoft Azure, leveraging modern architectural approaches to enable hybrid app modernization that meets business needs at an exceptional cadence. He also mentors new developers and provides architectural input to complement the existing talent of clients.

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

Zach Gardner Articles, Azure, Cloud, Development Technologies & Tools, Java, Microservices 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 Articles, Blockchain, Hyperledger, Opinion 1 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 Articles, 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, Articles, 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.

DeveloperWeek 2016 Retrospective

Zach Gardner Architecture, Articles, Community, Consulting, DevOps, Microservices, Single-Page Application 2 Comments

Attention: The following article was published over 10 years ago, and the information provided may be aged or outdated. Please keep that in mind as you read the post.I recently spoke at the DeveloperWeek 2016 conference in San Francisco, California about JavaScript Debugging Patterns. This conference was an amazing opportunity to see and hear from people in the industry about …