Category Archives: Service Oriented Architecture

The Two Faces of Microservices

Microservices (μServices) are a fascinating evolution of the Distributed Object Computing (DOC) paradigm. Initial design of DOC attempted to solve the problem of simplifying developing complex distributed applications by applying object-oriented design principles to disparate components operating across networked infrastructure. In this model, DOC “hid” the complexity of making this work from the developer regardless… Read More »

A Design For An Agile Cloud Management Platform

In the early part of 2013, EMC announced a new storage virtualization product called ViPR that delivers a software interface to block, object and HDFS storage services layered on heterogeneous storage. As part of that announcement there was an architectural discussion regarding how ViPR would be providing these services to applications that entails breaking out… Read More »

Scale is the Common Abstraction of Cloud Computing

In my experience, for there to be widespread adoption and agreement over a concept, the semantics surrounding that concept must be unique and discrete. If the definition is too broad, there will be too much opportunity for dissenting opinion. NIST’s definition of cloud computing doesn’t really answer the mail when it comes to delivering a… Read More »

Architecture: 1000 ways to skin the cat, either way, the cat’s till dead

Thanks to @jadkins for the colorful ending to that cliched saying, which really got me thinking. Sometimes we just make certain aspects of architecture too difficult for no reason. Good design is important and can have significant financial impact if done incorrectly, but chances are the negative impact comes into play during the engineering effort,… Read More »

The Reason Enterprise Architects Should Study Economics

Thus, it is here that Enterprise Architects, especially those we call Chief Architects, truly show their mettle. It is their experience, coupled with the ability to focus on the right set of variables, understanding the impact of change of those variables and being able to communicate that in a way that allows the business to make effective business decisions, which sets top notch practioners apart from Sr. Software Engineers that the organization placated with a title to keep them happy so they wouldn’t leave.