Elysium Spacestation (from movie Elysium)

An uncoupled way to build ASP.NET Core Services that can be Micro or Not.

Breno Santos
VexPro Blog
Published in
2 min readJan 12, 2019

--

A long as you don’t choose, everything remains possible.
(Mr. Nobody — 2009)

Things change. Or don’t. But you have to be always prepared.

The concept of microservices it’s not complex in its essence, but the implementation details can bring some big challenges, like Aram Koukia show it off in: https://koukia.ca/a-microservices-implementation-journey-part-1-9f6471fe917.

To attendee possible infrastructure changes and modularization we created Elysium Service. Is a small (but ambitious) library to create “plugable” and decoupled AspNetCore Services.

It consists in a host service with other services inside. Each one of this services are inherited from the base class “Service”, they have their on IServiceCollection configuration, IApplicationBuilder app etc.

A test service from .NetStandart library

And this is how you plug this services inside you host

Note: Host is a Elysium service too!!!
Initialization from WebHost

This approach delivery uncoupled services that can be mapped in one host per “branch” or deployed in different hosts.
Why this is important? You can start develop your services uncoupled and deploy they in one host with some infrastructure, then, whenever you need you can transfer this service to another host with almost no effort.

You can start develop your services uncoupled and deploy to one or N hosts.

Here at VexPro we used this strategy to develop modular solutions and services and be able to client infrastructure adaptation.

You can start now, just install the nuget package in your project and take some samples in the github repo.

https://github.com/ElysiumLabs/Elysium-Service

The documentation and roadmap is planed in the next few weeks.

As always you are welcome to contribute in any way.

--

--