Loading...

Microservice Architecture and Development

Small services, done for the right reasons

Microservices let separate teams ship separate parts of a system on their own schedule, and let you scale the busy parts without the quiet ones. They also add network calls, deployment pieces and ways to fail that a monolith does not have.

We design, build and migrate to microservices when the trade is worth it, and we will tell you when it is not.

Contact us

What we do

1

Decide whether, and where

We look at your system and your teams and say which parts would benefit from being split out, which should stay together, and in what order to do it.

2

Build the services

Each one owns its data, has a clear API, can be deployed alone and fails alone. We are strict about the boundaries because that is where microservices go wrong.

3

Split the monolith, carefully

One seam at a time, with the old code still running until the new service has proven itself in production. No big-bang cutovers.

4

Make them talk properly

Synchronous APIs where you need an answer now, queues and events where you do not. Getting this wrong turns a microservice system into a distributed monolith.

5

See what is happening

Tracing across services, per-service metrics and alerts, and dashboards that show a request's whole path. With thirty services, this is not optional.

6

Move it to the cloud, if that helps

Kubernetes on a cloud provider suits microservices well. We plan the move so it does not disrupt the business, and we are honest about the bill at the end.

7

Keep it running

Pipelines, rollouts, rollbacks. We help deploy, we stay on call at first, and we offer maintenance afterwards.

Microservice components

What you get when it is done right

The right tool per service

The reporting service can use a different database from the ordering service. Nobody has to argue about one stack for everything.

One service down, not the site

Recommendations can be broken while checkout keeps working. In a monolith they go down together.

Scale the busy part

Run twenty copies of the service that is under load and one of everything else. Cheaper than twenty copies of the whole application.

Teams stop waiting for each other

Each team deploys its own service when it is ready. The release train, and the meetings about the release train, go away.

Two honest notes

First: a small team with one product usually does not need microservices, and we will say so. Second: we have merged services back into larger ones when a split turned out to be wrong. Neither direction is a failure; the goal is a system your team can run.

Write to us about your system and we will give you a straight opinion.

Have a question? Ask an engineer.

info@techufy.com
Top