vision of a microservice revolution

Download Vision of a microservice revolution

If you can't read please download the document

Upload: jolielang

Post on 16-Apr-2017

2.946 views

Category:

Software


0 download

TRANSCRIPT

Vision of a microservice
revolution

The Jolie Team

How microsevices were born

Microservices emerged from the need to fragment existing software monoliths into different parts that can be scaled and replicated independently. It is a disruptive force in the way that software components are made and linked to each other.

Two roads to microservices

Programming: from the point of view of programming, the challenge is to find new languages that capture the essence of microservices and allow us to compose them easily.

Language is the keyword.

We say that this road follows the linguistic paradigm.

Systems: from the point of view of systems, microservices are independent applications able to serve different requests. They are deployed within artifacts called containers.

Container is the keyword.

We say that this road follows the deployment paradigm.

Deployment paradigm
vs
Linguistic paradigm

The linguistic paradigm is based upon the unification of microservices foundations into a unique linguistic artifact. It is based on the idea that:

it does not matter how a microservice is deployed, the most important thing is that every single programmable unit is a microservice.The deployment paradigm, based on containers, starts from the idea that:

it does not matter how a microservice is developed, the most important thing is that it is deployed in a container that can be easily moved, replaced, and scaled.

Software production chain

DESIGN

Deployment Paradigm

Linguistic Paradigm

DEVELOPMENT

PACKAGING

DEPLOYMENT

The designer thinks in microservices

The designer thinks inmicroservices

The developer programs with a known paradigm (object-oriented, functional, etc.)The developer programsdirectly in a nativemicroservice languageThe developer transforms a not microservice artifact into a microservice using an additionallayer (frameworks, etc.)The developer deploys the microservice (usually in a container)The developer deploys the microservice (usually in a container)

(not necessary)

The boundaries of a microservice

Deployment paradigm

Linguistic paradigm

A microservice can always be the composition of other microservices

A microservice is a packaged artifact from a specific set of technologies (Java, Erlang, Javascript, etc.)

Microservices are atomic

Inside a microservice, there can always be other microservices

The Architecture

Deployment paradigm

Linguistic paradigm

A microservice architecture is a network of containersA microservice architecture is a composition of microservices

The Architecture

Deployment paradigm

Linguistic paradigm

A microservice can be easily moved from inside to outside of a container (and vice versa)

In order to bring an internal component out of a microservice, a specific programming task must be carried out

X

Containers

Deployment paradigm

Linguistic paradigm

The container is a deployment facility

The container is the key element of the architecture

Advantages

Deployment paradigm

Linguistic paradigm

Technology agnosticismArchitectures can be easily changed by re-composing servicesEasy, scalable deploymentThinking in microservices translates directly to software (native programming)Compatible with CloudComputing stackCompatible with the deployment paradigm

The microservice revolution

Linguistic paradigm

A revolution in the making: the combination of these approaches.

Deployment paradigm

The Jolie Team

Jolie

We are pioneering the linguistic paradigm with Jolie.Keep in touch!