Intershops Journey from a Monolithic Architecture towards Microservices

So you guys too?

Another vendor is following the hype trail you eventually thought while reading the headline. Sort of. I can’t deny it. Microservices are on a hype.

But why?

Where should I start? Almost 2 years ago we transformed our RnD organization towards the Agile Methodology as you may have done too.

Therefore we introduced the Scaled Agile Framework with smaller adaptions and called it Intershop Scaled Agile Framework, short ISAFe. The goal was clear. Small agile teams to boost their outcome. You may have guessed it. Didn’t really happen!

If agile teams aren’t the answer to more productivity what is it?

First we should take a closer look to the root cause. Over almost 25 years!!! Intershop has built a monolithic application for E-Commerce. Good thing, right?! Yes we have 25 years of expertise in E-Commerce but this is what you also see in the code. Strong dependencies where you never thought they have dependencies in the functionalities. And as a result when you change something on one end something crashes on the other end. Not mentioning that it gets more and more complicated to refactor code. And yes tests can help here but just to a certain degree.

What is the answer then?

Lets see. How about something more isolated, independent components? Decentralized, fail tolerance, strong performance, scalable and organized around decoupled business capabilities. Now the latest you should think of at least SOA and then Microservices should cross your mind. Exactly. But …

What is a Microservice actually?

Martin Fowler characterizes Microservice Architecture like this:

  • Componentization via Services
  • Organized around Business Capabilities
  • Products not Projects
  • Smart endpoints and dumb pipes
  • Decentralized Governance
  • Decentralized Data Management
  • Infrastructure Automation
  • Design for failure
  • Evolutionary Design

As you can see many aspects of Microservices are related to the problem we face with a monolith.

How far are we?

As you may have noticed we have automated our build and deployment process which is absolutely necessary for Continuous Integration/Continuous Delivery (CI/CD). And CI/CD helps us for the road ahead of us and tackles one aspect Fowler is talking about which is the automated infrastructure. Which comes in handy too as we want to orientate towards SaaS for B2B.
Therefore one team is preparing our infrastructure with Microsoft Azure to allow a one click setup of a whole Intershop cluster so you can have WebServer, ApplicationServer and Database as a production ready cluster within one hour.
And starting with Intershop Commerce Management 7.8.0.0 we will have some Microservices as a test balloon basically. But more of it in a later post …

 

Intershops Journey from a Monolithic Architecture towards Microservices