14-09-2015 Door: Guy Crets

Micro Services - Conway Law and Application Integration teams

Deel dit bericht

"Micro Services" is a new buzzword in world of IT architects. As it talks about application components communicating over a network and contains "services", it probably has something to do with SOA and integration. So I had to look into it.

Let's bulletize the description from the article by Martin Fowler and James Lewis:

  • The Microservices architectural style is an approach to
  • developing a single application < application architecture
  • as a suite of small services, < componentization, no libraries
  • each (service) running in its own process
  • and communicating with lightweight mechanisms, < over the network
  • often an HTTP resource API. < REST, message bus
  • These services are built around business capabilities < Domain Driven Design
  • and independently deployable by fully automated deployment machinery.
  • There is a bare minimum of centralized management of these services, 
  • which may be written in different programming languages and
  • use different data storage technologies < eventual consistency

Microservices are an architecture used by very large, modern IT systems such as LinkedIn, Netflix, Amazon and eBay. There's all sorts of interesting aspects to Micro Services, e.g. the GUI part, security, transactional integrity, versioning etc.

Conway law - Integration Competence Center
But there was one aspect that triggered me in particular when learning about Microservices: Conway Law: "any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure".

So this law states that an application architecture will reflect the way an IT department is organized. Microservices advocates refer a lot to it. 

Service boundaries reinforced by team boundaries (picture from article by Martin Fowler)

For Microservices to focus and align with business functionality, the teams developing (and maintaining) the Microservices should therefore be cross-functional, including the full range of skills required for the development: user-experience, database, and project management.

Orthogonal to the view of the Microservices architects, that Conway Law confirms my personal view and opinion that any IT organization that wishes to leverage a central integration platform to a great extent, requires a separate team developing on and managing that integration platform.

How did I learn about MicroServices?

PS: when searching for the term "micro service", I found the term also in the book "Java Web Services Architecture" back from 2003!



Guy Crets

Guy Crets is Business Integration Architect en Partner bij I8C, onderdeel van de Cronos Group dat meeer dan 3.000 medewerkers telt. Hij is toonaangevend consultant en spreker met meer dan 25 jaar ervaring op het gebied van integratie en SOA-gerelateerde oplossingen en problemen. Hij heeft op vele internationale congressen en usergroup-bijeenkomsten over de gehele wereld presentaties gegeven en workshops gehouden, of als moderator opgetreden. In België spreekt Guy regelmatig bij SAI (vgl. NGI in Nederland) en verzorgt daar ook seminars.

Guy was en is betrokken bij talloze SOA en integratie trajecten: screen scraping, mainframe integratie, JMS messaging, Tibco EAI en SAP Netweaver . Als consultant bij talloze bedrijven, varie?rend van Fortune top 500 tot kleinere ondernemingen, heeft Guy een enorme dosis praktijkervaring opgedaan bij integratie-trajecten. In België bij organisaties als Electrabel, Swift en Eurocontrol, in Nederland o.a. bij Akzo, Philips, Rabobank en Interpolis. Deze ervaring, gecombineerd met zijn deskundigheid op het gebied van intregratie-oplossingen en integratie-tools, komen goed van pas als u worstelt met applicatie- of data-integratie in uw organisatie. Guy verzorgt verscheidene trainingen bij Adept Events

Alle blogs van deze auteur