With microservices outer architecture the gateway pattern is something quite popular, which is also elaborately explained at nginx blogs. In summary, linking your microservices directly to the client applications is almost always considered a bad idea.
You need to keep updating and upgrading ur microservices and you should be able to do it transparently. With a larger services based ecosystem microservices wont always be HTTP bound, its probably be using jms, mqtt or maybe thrift for their transports. In such scenarios having a gateway to deal with those complexities is always a good idea.
Proving the concept I created couple of microservices (ticket listing/catalog service, ticket purchase service and a validate service) which get deployed in their respective containers. WSO2 Gateway act as the microservice gateway in this PoC and the routs are defines in it. Gateway also deploys in a container on its own.
To build the microservices I am using MSF4j the popular microservices framework and the ticket data is stored in a redis store.
The PoC is committed to github with setup instructions, do try it out and leave a comment.
Recently I had to draw some solutions architecture diagrams, and searched some good tools for diagramming. I have used Visio, long time back, nice tool, but I wanted to stick to Ubuntu and didn’t like switching back and forth. I tried Dia and Umbrello but they couldn’t really content me.
What I really digged in a nice architecture diagram is mainly its simplicity (Simple way the complex scenarios are drawn), fresh, elegant and rich look, as for a diagramming tool, it has to be simple (don’t have to be an artist) and flexible (should be able to draw new shapes if needed etc)
Sometime back I have used “Pencil” to draw some wire frames for a web app I was creating, I really liked the tool, and the final look and feel of the diagram it created. Non of the advance diagramming tools generated such a rich look and feel. So I thought of creating few custom stencils to graduate Pencil from a wire-framing tool to a full fledged multipurpose diagramming tool.
I created Three stencils to draw most of the enterprise architecture diagrams, following diagram is a sample solutions architecture diagrams I created using Pencil, and the custom stencils I created.
The stencils I have created are,
So if you are interested go ahead download the stencils, and install them in “Pencil” and if you still haven’t tried “Pencil”, I highly recommend it.