“Micro” Services in a minute
Simple and unified cloud service architecture

Gohan makes REST-based api server, db backend, CLI ,and WebUI from JSON

View on GitHub

SINGLE PROCESS for REST Based “Micro” Services

Traditional “fat” services are difficult to manage: subsystems become tightly coupled making it hard to introduce changes. Micro-service based architectures are meant to solve this issue; however they come with additional problems such as process management and orchestration.

Gohan enables you to define microservices within a single unified process, so that you can keep your system architecture and deployment model simple. Moreover, Gohan supports transactional management for microservices orchestration.

SCHEMA-DRIVEN Service Develoment

Typical Schema-driven development tools reduces number of code lines by automatic code generation. The downside of the code generation method adds complexity to code management.

In the Gohan project, we are delivering a powerful schema-driven development without those complexity.

A Single Place to keep Service-Related Policy, Configuration and Code

Cloud service management is not a simple task. Typical cloud architecture has three layers: Controller, Communication and Agent.. When you develop a new service on this architecture, configurations and codes will be distributed across three layers. By doing so, this gives insight into hard to diagnose issues and manages services.

In Gohan, the process can handle roles in each layer and a Gohan process can understand service definition files. Therefore, you can unify service-related configuration and code in one centralized place.

Gohan Architecture

Applicable Use Case

1. Service Catalog and Orchestration Layer on top of Cloud services

2. NFV MANO which manages both Cloud VIM and legacy network devices

FAQ

How to use Gohan?
You can download binary from here, or compile a github source code.
Please take a look at our getting started guide. or documents.
Another new "framework"?
We understand your concern for using new big framework. In the Gohan project, we try our best not to invent new framework but to implement useful components based on schemas
How to contribute?
For individual contribution, please sign the CLA and send a pull request for github. For bug report or feature requests, please open issue on github with tags. For company contribution, please contact info_cloudwan@ntti3.com
For developer communication, visit Gitter
Which license do we need?
Apache2