Author Archives: Mathew

Taming your Microservice & Container Envy

It is hard not to be affected by the constant chatter on Microservices Architecture and Container technology. Both are leading the discussions nowadays and they combine to provide new ways to Architect distributed systems and provide agility in delivering business value. While they do bring in big benefits when implemented successfully, the path to success for most enterprises (other than startups/product/tech firms) is going to be difficult and having a level of measured caution would be good.

Continue reading

Serverless Architecture Style

To discuss Serverless Architecture we need to understand how we got here. From using physical machines we moved to virtual machines (somewhere in between a few brave folks also used linux/solaris containers). The current trend is container technologies such as Docker or CoreOS RKT which allow even more efficient use of resources. Regardless of which you use, we are often required to plan our application infrastructure needs upfront and permanently keep the “servers” running.

Continue reading

Spring Boot + Spring Cloud (Eureka + Hystrix) to run API/Micro Services

Spring Boot and Spring Cloud are relatively newer additions to the Spring portfolio. Boot makes it faster to spin up your project with less configuration (and an opinionated programming model). Spring Cloud brings in techniques and tools to efficiently standup distributed applications. In a previous blog I had noted my ramblings on API/Microservices style. If you take that path and have more than a handful of API’s then you will need some of the capabilities of what Spring Boot and Spring Cloud offer.
Continue reading

Running ElasticSearch in Production

(Updated version. Originally Published on: Nov 3, 2013) Here are some things to keep in mind as you go about designing your ElasticSearch cluster. Many of these are from real life experiences and IMO are the basic common sense items you should consider. In addition to these settings noted here, there maybe other settings that are relevant to your use case.

Continue reading