AquaJS is an open-source project, developed in-house at Equinix, to provide a quick and organized way to start developing Microservice-based application development. Our main goal is to enable developers to focus on writing reusable application or business logic, instead of spending time building software infrastructure (framework and modules).
AquaJS is built leveraging open-source modules (and a few home-grown, as well).
AquaJS components can be grouped into three sections: Microservice, orchestrator and plug-ins.
Microservice component enables developers to create Microservices based on service definitions in YAML. It scaffolds and stitches together the entire service infrastructure, including database connectors. This way, developers can focus on the business logic and need not bother with the routing and validations.
Orchestration is used to orchestrate the Microservices based on workflow defined for each API contract request. Orchestrators are excellent at handling the requests in a generic way, establishing a set of rules that allow fully customizable API contract for each channel-like portal, mobile and API. To support the variability in our request/response contract, we need a different kind of architecture.
Orchestrator design embraces the differences across channels while supporting those differences equally. To achieve this, Orchestrator platform allows each channel to create customized endpoints. So the request/response model can be optimized for each channel to account for unique or divergent requirements.
AquaJS developers can extend the capabilities of the framework by loading plug-ins (node modules). All the AquaJS core features are developed as plug-ins and developers can extend any third-party node modules as a plug-in.
The framework also provides Microservice/API catalog.
AquaJS scaffolding generates api-doc endpoints as described in the YAML. Using swagger, users can try out the API endpoints in just a couple of clicks. The sample swagger form is below.
Node.JS & AquaJS at Equinix
Using AquaJS enables consistent architecture in the enterprise and unifies the engineering specialties into one team. This allows us to understand and react to our customer’s needs at any level in the technology stack.
Register for beta @ http://www.aquajsio.com/