Bringing a Microservice Into an AWS App Mesh

Brad Flood AWS, Microservices, Technology Snapshot Leave a Comment

Remember when Netflix first came out with its suite of distributed components? It included Eureka for service discovery, Hystrix for circuit breaking, and Zuul for intelligent routing. Netflix was running on an AWS infrastructure back then, but the infrastructure didn’t exist for Netflix to manage its microservice ecosystem. The industry has come to describe the Netflix components within the larger context of a service mesh.

AWS recently introduced App Mesh, a highly-available set of services that integrate with the AWS ecosystem and provide the capabilities Netflix was looking for back in the day.

In this post, we provide an introduction to AWS App Mesh and show a quick tutorial of bringing a reference microservice into an AWS App Mesh.

Part 2: Navigation​ Setup with Node + Express ​

Chris Berry JavaScript, Microservices, Node, Single-Page Application, Tutorial, Vue Leave a Comment

This is an in-depth learning series focused on a specific application: a JavaScript-based suite of single-page applications optimized for use in a microservice environment. We focus on telling the story of “why” and “how” it was built.

In part one, we reviewed how the base application was created by using the Express Generator command line tool. We also reviewed the folder layout, look and feel, and an overview of what each section of the application does. In this post, we’re going to dive in a little deeper to the application and explain the why and how of the navigation setup for this application….

Part 1: JavaScript Application Introduction

Chris Berry JavaScript, Node, Single-Page Application, Technology Snapshot, Vue Leave a Comment

Part of the Solid Foundations Learning Series
This is the introductory post to an in-depth series of articles that will tell the story of why and how a specific web application was built. In a nutshell, it is a JavaScript-based suite of single-page applications optimized for use in a microservice environment.

In this post, we will set the stage for the series and introduce the overall design and structure of this application. In future posts of this series, there will be technical discussions about certain parts of the application and there will be theory discussions for other aspects of the application.

The web application we will be talking about started its life as a simple NodeJS and Express application….

Microservices Anti-Patterns

Dallas Monson Agile, 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!