Backend development tooling for microservices

API Design

Start designing your new backend API by defining the microservices and the methods for each of those in the Dactory web application. Once the design is ready, you can export it as a OpenAPI YAML file or as human readable API design documentation.

Once you have the API defined, you can also generate code for a HTTP REST client that can be used in your favorite frontend framework (Javascript or Typescript)

Develop

Once the API is designed, you can also generate the boilerplate code for the implementation of the backend using Golang. You can then download the generated code to your PC and start on the implementation of those cool features.

Deploy

You can easily develop and test your backend on your local PC using Docker and Docker Compose. We generate all the scripts to get your up-and-running in no time.

Once you are ready to move to production, you can take the Docker containers and deploy using for example Docker Compose or Kubernetes.

Microservice architecture

Dactory projects are based on the following architecture:

  • 1 HTTP-to-GRPC gateway. This microservice is the link between the external world(e.g. Internet ) and the other microservices. Because the other microservices only speak GRPC, this gateway makes the translation between HTTP and GRPC. This enables the use of standard REST interfaces on the outside and efficient internal communication using GRPC. This GRPC gateway uses https://github.com/grpc-ecosystem/grpc-gateway
  • Microservices are implemented using Go (also known as Golang) and have an interface based on GRPC, specified in a Protobuf file. This prevents inconsistencies between client and server, because they are both generated from the same interface specification.

Why Golang?

Golang is a modern programming language designed for scalability and ease-of-use. It is fast and efficient and compiles to static binaries, which makes it easy to deploy your application to the cloud.

Some examples of applications that have been build using Golang are:

For more information on Golang check out their website.