The basics of Helm

May 30, 2018

What is Helm?

Helm calls itself the package manager for Kubernetes. That’s true, but I think I can help simplify: Helm provides a way to package multiple Kubernetes resource templates that can be released, upgraded and rolled back together. It allows you to define a much larger and cohesive atomic deployment unit as a collection of multiple resources and dependencies.

Read More

Accessing environment variables from a webpack bundle in a Docker container

May 18, 2018

So I have this React application bundled with webpack and containerized in an image based on an Apache httpd base image. I want the app to make synchronous HTTP requests, but I don’t want the container at build time to be aware of where it’s making that request - this should be a configuration detail rather than implementation.

Read More

How Kubernetes Ingress and LoadBalancer resources work together

May 12, 2018

In a previous post, I showed you how to create a reverse proxy container image for use in a Docker Swarm. If you’re using Kubernetes, you will still use a similar service for ingress (in that you use something like an nginx reverse proxy) but the nomenclature and how it glues together is a bit different. I’ll go into some specifics with some example resources and how they work in Azure AKS.

Read More

Creating a simple reverse proxy for Docker Swarm

May 11, 2018

In a microservice architecture, it’s common to split an API into multiple, independently-deployable applications. While technically the services that run in front of the application containers can expose themselves directly to the internet via ports, it’s best practice to serve traffic traffic from a cluster over ports 80/443 and route internally via DNS.

Read More

Lightweight images with multi-stage builds in Docker

May 10, 2018

Size matters. When you’re shipping code in containers, it’s important to remember that your container images are pulled on every node within your Swarm or Kubernetes clusters. This means that as you scale out your cluster nodes or schedule workloads on new nodes in your cluster, the size of your image becomes non-trivial for cold start time.

Read More

Creating portable development environments with Docker

March 26, 2018

The rate of change in software development tools has never been faster, which has allowed developers to continue to demand increased flexibility in how they deliver. Gone are the days of an entire development team sharing consistent hardware (PC vs Mac), and I have seen a massive uptick in once-Windows-only devs moving to MacOS. Enabling this change are the framework giants like Microsoft, who have been moving toward OS-agnostic frameworks - for example, .NET Core running on Windows, MacOS and Linux.

Read More

Dev standards: Source control guidelines

November 17, 2017

As technology companies continue to grow and project teams expand to deliver larger projects, it is important to reflect and make sure your organization’s foundation skills are strong. By no means would I say that learning Git will solve all of your problems, but I think it is fair to say that there are a few basic guidelines out there that keep your projects hovering at least closer to the “pit of success.”

Read More

Internet of Things: Enterprise Edition

September 8, 2017

The Internet of Things (IoT) is upon us whether you have noticed it or not – in fact, not only is Gartner predicting 8.4B (yes, that’s B for Billion) devices to be in active use by the end of this year, but the rate of deployment is accelerating. By 2020, Gartner has estimated 20.4B connected devices. There’s no doubt that those numbers are impressive, but what does it mean?

Read More

Running ASP.NET 4.6 web apps on both Windows and macOS

August 4, 2017

The .NET world is hot on .NET Core right now, and why not? As the next iteration of the framework, it also allows developers more freedom to use their device and hosting platform of choice. While I use a PC at work, I have a Mac at home and love the idea of collaborating on projects from either device. .NET Core is the natural, easy way to do that.

Read More

Reference architecture: Angular 4 and Web API on .NET Core 2.0 Preview 1 with Azure AD authentication

June 13, 2017

The more time I spend in the tech community and market these days, the more it has become clear that the appetite for newer, more cutting-edge technologies has gone up. Lately, the new kids on the block that we’re tending to build more apps in right now are .NET Core 2.0 and Angular 4, and since we typically build internal applications, I’m seeing Azure AD used a lot for authentication. Since I am seeing this type of application so often, I thought it would be a good idea to build a reference architecture to tie it all together as a quickstart.

Read More

Hosting Angular 4 in a .NET Core 2.0 Preview 1 application

June 8, 2017

For reasons I’ll detail in a later post, I prefer to host my SPA and API applications separately. Combine that with the fact that I prefer to stay on the Microsoft stack and it raises the question: what is the best hosting environment for my Angular (or any SPA) application?

Read More

Including custom configuration files in .NET Core 2.0 Preview 1

June 7, 2017

I’m doing some modernizing of legacy apps and decided to use it as an opportunity to play with some new technologies - in this case, we’re talking about .NET Core 2.0 Preview 1. While building a reference architecture to talk about on Github, I ran into a snag while trying to figure out how to hide my Azure AD credentials. I want to include a config section, but don’t want to commit it with the rest of my appsettings.json file.

Read More

Source control, development and deployment of Azure Functions using Visual Studio

November 13, 2016

In my last post on Achieving Enterprise Scale with Azure Functions, I gave a high-level overview why and when to use Azure Functions and some basics around how they work. As a continuation, I’d like to dive a little deeper and share some things I’ve learned around development process from within Visual Studio. Throughout this post, I will be referencing an example implementation I created on GitHub if you want to follow along.

Read More

Creating a scalable web store order fulfillment app powered by Azure

September 22, 2016

Modern technology as we know it has become analogous to automation, and its distance from the consumer is decreasing. What was once reserved for production lines and the like has quickly expanded to handle everyday transactional workloads. I recently had such a challenge from a client wanting to decrease the time and effort to notify their warehouse of completed orders on their Shopify eCommerce platform.

Read More

Takeaways from the 2016 Neo4j GraphDays: Chicago Conference

March 9, 2016

As a developer, my favorite part of my job is that I get (and am encouraged) to play around with all kinds of new technologies to test for instances where we could add a new tool to Rightpoint’s ever-expanding toolbox. One of my latest finds is called Neo4j, an industry leader in the Graph Database space. While technically the product has been around for nine years, it seems that they’re just starting to become broadly relevant within the mainstream technology market.

Read More

Windows Universal App Series - Extending XAML Controls to Bind with Prism 5.0

March 7, 2015


While I was completing a project for a client of mine, I was working with a ListView that we wanted to create interactions on the screen, such as displaying details of the selected item in bound controls. We were using Prism, however, which naturally (and very deliberately) blocks the developer from making concrete references to Views from ViewModels. The issue that creates is that you cannot subscribe to events generated from a control like a ListView, which is exactly what we needed to do.

Read More

Windows Universal App Series – Implementing the CQRS Pattern with a Segregated Data Model to Persist & Sync Offline Data to Azure DB via Azure Mobile Services

March 6, 2015


In the last post in my Windows Universal App Series, I talked about building a Line of Business app for an amazing client of ours that is used for on-site inventory management with their respective client(s). One of the major challenges that our client faced was that when they went on-site, it’s typically in large buildings whose structures aren’t conducive to 3G/4G signal, and therefore wanted an application that would allow their reps to download data to their devices before beginning their work – while they are outside and had signal. They wanted the device to queue all changes and synchronize at the rep’s request once finishing their service call.

Read More

Windows Universal App Series - Creating a Windows Universal App with Prism 5.0 & SQLite for Offline Persistence

March 5, 2015


I recently had the pleasure of working with a client who wanted to upgrade the platform of their Windows Mobile 6.5 Line of Business, inventory management app to something a bit more recent and cutting-edge. Their goal was to modernize their devices (the old device was a Motorola ES400), and update their software to something significantly more maintainable, scalable and extensible.

Read More