test it. code it. ship it.

How Is Your Microservice Architecture Doing?

Posted on | Comments

It all started when my new boss stepped into my door and asked me if I had a clue how our system was working. In an ideal world we would have teams and developers who work on a isolated context with clear boundaries. They develop, test, deploy, monitor and operate everything by themselves. They are on 24/7 call and therefore they do everything possible that nothing fails. The system is stable and brings in the money.

In my world however, things are a little different.

Migrating a Monolith

Posted on | Comments

If you start, a monolith is much easier to begin with. Everything is in one place, it’s fast and all team members understand the code. If you plan your application from the start as distributed system in a microservice like style, you add some significant overhead. Don’t do it, monoliths have their advantages at some point. If another team start with the same project or more functionality is added, splitting up the monolith might be a way to go. Looking at ways to migrate, you maybe can do some better design decision to for you monolith.

A Monolith Could Be Good for You

Posted on | Comments

Everybody says monolithic applications are bad. I usually hear things like:

  • Tiny changes need full redeployment (maybe even with downtime)
  • Limited agility
  • Easy to get a big ball of mud

So why would you like to have a monolith?

How Failing Tests Can Be Green

Posted on | Comments

Imagine this conversation:

Friend: “We have an integration system where we deploy every two weeks all commits and run hundreds of end to end tests on it.”

Me: “And if everything passed it goes into production?”

Friend: “Yes.”

Me: “How often do they fail?”

Friend: “Uhmm, well like every night. But we just take the failing tests and run them again and after that or the next run they will be green.”

Me: “And then it goes into production?”

Friend: “Yes.”

Me: “Uh?”

Doing a Sprint Review With a Review Fair

Posted on | Comments

I’m working in an organization where we do synchronized sprints between all teams. This means every two weeks all meeting rooms are booked for retrospectives and sprint plannings. If you have around 10-20 teams distributing knowledge what’s happening in the other teams is tricky. No one has the time to go to all reviews.

Enter ‘Review Fair’.