There is a process we need to follow when designing Microservices architecture. We must not forget that designing Microservices architecture should be methodical. The worst thing that can happen when designing Microservices architecture is to rush into development. It should be like “Plan more, Code less”.

The more you plan, the more you think about the overall system mapping, the more you know what you are going into, the less you will code later.

And of course, the less we code, the fewer bugs we create and the less maintenance we have.

Following this process is critical to the project’s…


I will be listing down my articles about K8s best practices here, so we will have one stop place to access all as I write more in future.

More to follow :)…


Photo by Markus Spiske on Unsplash

Here is the series of articles related to Software Security.

I hope you enjoy reading them and learn something :)


Photo by Markus Spiske on Unsplash

There is a clear difference between Software Architecture and the Software Design. As the developers, we should know little bit about the software architecture and lot more on Software Design.

Software architecture will be defined by usually experienced developers who have good knowledge on existing implementation, and have understanding on the existing issues. It will convert software quality attributes such as scalability, manageability, modularity, extensibility, testability etc.. in to solutions which will meet technical and business requirements.

This is why different architecture patterns like Microservices, Even-Driven, Server-less etc.. exist to solve common architectural problems.

Just because we follow good software…


Before we discuss its pros and cons and whether it is bad as many people told, let recall what is Singleton Pattern.

What is the Singleton Pattern?

Intent of the Singleton pattern is to ensure a class has only one instance and provide a global point of access to it. But what problem will address in the case will have only one instance of object in our app.

In some cases, we do not need to create a new instance of the class each time we need. Imagine below simple example.

We have a type called order management service. The objective of this class is…


I wrote series of articles related to Microservices Architecture during the last few months.

I hope you enjoy reading them and learn something :)


Lets recap Test Driven Development or TDD process.

RED- A new test will initially fail.

GREEN- We work to get the test to pass. In other words we write minimum code/business logic required to pass the test.

REFACTOR- We finally optimize our code/ business logic and run tests again.

So what should we consider when we write a test?

Rule #1

Each test should test one item of functionality only. This means test methods should normally have a single assert. …


One of the main reasons to go with Microservices Architecture is to roll out upgrades with minimum to no-impact for the running system and rolling out upgrade more frequently with Agile way. This could be daily or weekly or may be many times per day depending on criticality of the system.

If we are following Microservices guidelines to architecture, we can embark on more agile release management process. Moving release process to Microservices continuous delivery when each service is ready will speed up the things and help to increase scalability and productivity aspect of the development process.

If you are…


There are two main things we talk about when we say this is good code, but before I further discuss, what do you think good code is? Think about that.


Transitioning to the cloud is one of the most important things happening in IT today.

Let's talk about an organization without cloud computing.

It is a typical organization with a headquarters and some number of branch offices with users in them. Users rely on applications that run directly on the hardware that belongs to their organization.

Probably running in some on-premise data center, those applications could run on bare metal servers or run inside virtual machines. …

Ishan Liyanage

Passionate Technical Lead, Senior Software Developer and free and open source software advocate. Based in Singapore.

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