Microservices is an architectural style that describes software design as independently deployable, loosely coupled services which are modelled around particular business domain.

Extracting different business domain capabilities from a single process monolith application and creating a system design that contains smaller service processes enables you to scale and deploy each service separately.

The fact that each service needs to be deployable separately requires and also enables application deployment automation, Continuous Delivery.

Martin Fowler describes pre requirements of microservices in his articles and emphasises the importance of DevOpsCulture.

You must be this tall to use microservices.

I have been mostly working…


Observability of the system in production comes as a requirement when we design complex systems. Some says being able to monitor your system in production is more important than testing all of it’s functionality during development. To me, they are not really comparable things or you can give up one of another.

Traditionally, if you have IT operations department in your organization you probably have people who does blackbox monitoring with tools like Nagios. What this tools give you are signals like system is down, server/service is down, CPU consumption high etc.


Observability of the system in production comes as a requirement when we design complex systems. Some says being able to monitor your system in production is more important than testing all of it’s functionality during development. To me, they are not really comparable things or you can give up one of another.

Traditionally, if you have IT operations department in your organization you probably have people who does blackbox monitoring with tools like Nagios. What this tools give you are signals like system is down, server/service is down, CPU consumption high etc.


Microservices is an architectural style that describes software design as independently deployable, loosely coupled services which are modelled around particular business domain.

Extracting different business domain capabilities from a single process monolith application and creating a system design that contains smaller service processes enables you to scale and deploy each service separately.

The fact that each service needs to be deployable separately requires and also enables application deployment automation, Continuous Delivery.

Martin Fowler describes pre requirements of microservices in his articles and emphasises the importance of DevOpsCulture.

You must be this tall to use microservices.

I have been mostly working…


It’s been a very long time since I blogged. I was meaning to start again for the last a couple months, here it is I’m kicking it off.

I joined Hepsiburada 10 months ago after working at Thoughtworks as a consultant and a developer for six years. It has been a quite a good journey so far, I am working with passionate individuals and great teams. I am facing different challenges that helps me grow as a leader, architect and at the roots of it as a developer.

Image for post
Image for post

I am currently working with data streaming and search systems heavily and…

Cengiz Han

@trendyol / ex-@awscloud / ex-@thoughtworks

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store