mu.semte.ch as the ideal playground

The mu.semte.ch framework is the ideal playground for the developer that wants to try a new language. Using the standards set out by the framework you can, in literally no time, get a (tiny) microservice up and running in your next favourite language. We are ever expanding the range of languages covered by the templates.

What are these templates?

Within mu.semte.ch a template is everything a microservice needs except for your domain specific logic. Take the javascript template (https://github.com/mu-semtech/mu-javascript-template) for instance: to start a new microservice you first create a directory and a Dockerfile. In that Dockerfile you specify the FROM as the template

FROM semtech/mu-javascript-template

and then you add a app.js file where you enter something like

import { app, query } from 'mu';

app.get('/', function( req, res ) {
  res.send('Hello mu-javascript-template');
} );

With this you have your first javascript microservice that will respond to the ‘/’ route with a simple hello world string (I know not entirely true, you will also need to configure the dispatcher but for that look at our docs on mu.semte.ch). After this you can go wild with javascript and you don’t have to worry about the boring stuff that make the webservice tick, allow you to write/read to the database, etc.

Other languages

If we compare this with the ruby template then we find that for ruby your FROM statement is slightly different (you guess what changes) and instead of a app.js file you now create a web.rb file and again the simplest form looks almost like the example above.

Suppose you want to go for python? Well exactly the same.

Doing this we ensure that you have a similar workflow where you know what to expect with every language that you try through a mu.semte.ch template. Allowing you to focus on learning and playing with your newest toy.

Just playing?

But wait there is more! You do not have to restrict yourself to just playing. Since the ideas behind a microservice are that they have a very limited set of responsibilities, they can very easily be replaced . If there is a necessity for it you can include your new pet language in a production system with little to no risk at all! This shows one of the biggest strengths of the platform. By standardising on HTTP, JSONAPI and graph databases we ensure freedom to use any tool or language and as such also the tool or language that is the best for the job!

Future

The set of templates is, for now, rather limited but check us out regularly because we hope to expand and add many many languages to our portfolio. Of course if you want to implement a template feel free to contact us. We will provide you with a simple set of guidelines that will help you develop that template.