Microservice Toolbox

Video in TIB AV-Portal: Microservice Toolbox

Formal Metadata

Microservice Toolbox
Building blocks for your next microservice platform
Title of Series
CC Attribution 4.0 International:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date

Content Metadata

Subject Area
Thinking in small and self contained pieces brings wonderful benefits, but also a lot of new problems. In the last three years I had the chance to work on different microservice platforms. The challenges I faced in these platforms were more or less the same.

Related Material

Video is cited by the following resource
Word Service (economics) Computer animation Integrated development environment Cellular automaton Moment (mathematics) Similarity (geometry) Game theory Computing platform Form (programming)
Dependent and independent variables Context awareness Service (economics) Multiplication sign Connectivity (graph theory) Projective plane Bound state Independence (probability theory) Mereology Logic synthesis Computer animation Computing platform Metropolitan area network Physical system Computer architecture
Point (geometry) Functional (mathematics) Service (economics) INTEGRAL Connectivity (graph theory) View (database) Gene cluster Mereology Medical imaging Different (Kate Ryan album) Computing platform Physical system Form (programming) Computer architecture Dependent and independent variables Debugger Projective plane Database Evolute Arithmetic mean Computer animation Canadian Mathematical Society Whiteboard Figurate number Data integrity
Point (geometry) Presentation of a group Service (economics) Information Content (media) Replication (computing) Software maintenance Cartesian coordinate system Mereology Neuroinformatik Number Data management Computer animation Semiconductor memory Computing platform Vertex (graph theory) Website Information security
Demon Computer animation Block (periodic table) Real number Projective plane Mereology Theory
Point (geometry) Overlay-Netz Complex (psychology) Functional (mathematics) Service (economics) Overhead (computing) Projective plane Mereology Software maintenance Product (business) Hand fan Process (computing) Computer animation Personal digital assistant Canadian Mathematical Society Lastteilung Proxy server Physical system Asynchronous Transfer Mode Form (programming)
Scripting language Windows Registry Data management Computer animation Integrated development environment Token ring Digitizing Virtual machine Form (programming)
Computer animation Virtual machine
Computer animation Integrated development environment Personal digital assistant Digitizing Virtual machine Expert system Bit Line (geometry) Variable (mathematics)
Service (economics) Computer animation State of matter Content (media) Limit (category theory) Routing
Windows Registry Medical imaging Data management Server (computing) Service (economics) Computer animation Information Decision theory Content (media) Set (mathematics)
Default (computer science) Service (economics) Computer animation Software Instance (computer science) Office suite Traffic reporting Task (computing)
Data management Service (economics) Computer animation Virtual machine Right angle IP address Resultant
Service (economics) Computer animation Right angle 2 (number)
Web page Service (economics) Computer animation Letterpress printing Student's t-test 2 (number)
Game controller Service (economics) Block (periodic table) Multiplication sign Source code Login Rule of inference Formal language Medical imaging Mechanism design Computer animation Canadian Mathematical Society Configuration space Logic gate Proxy server Resultant Sinc function Computer architecture Reverse engineering
Domain name Token ring Block (periodic table) Code INTEGRAL Connectivity (graph theory) Content (media) Numbering scheme Cartesian coordinate system Fluid statics Computer animation Blog Configuration space Right angle Endliche Modelltheorie Proxy server Address space
Slide rule Service (economics) Block (periodic table) Uniqueness quantification Content (media) Process (computing) Computer animation Repository (publishing) output Configuration space Website Software testing Extension (kinesiology)
Service (economics) Computer animation Vector space Planning Configuration space Student's t-test Public key certificate
Slide rule Dataflow Service (economics) Code Connectivity (graph theory) Public key certificate Mathematics Computer animation Root Repository (publishing) Configuration space Proxy server Computer architecture Reverse engineering
Windows Registry Dynamical system Game controller Service (economics) Digital electronics Multiplication sign Source code Coroutine Set (mathematics) Bit Variable (mathematics) Mathematics Goodness of fit Computer animation Integrated development environment Different (Kate Ryan album) Personal digital assistant File system Configuration space Quicksort Proxy server Reverse engineering
Ocean current Medical imaging Mathematics Service (economics) Computer animation Integrated development environment Connectivity (graph theory) Quantum Configuration space Disk read-and-write head Metric system Service-oriented architecture
Web 2.0 Medical imaging Data management Service (economics) Computer animation Configuration space Mereology Event horizon Connected space
Service (economics) Computer animation Energy level Mereology
Domain name Service (economics) Computer animation Integrated development environment Root Rule of inference
Group action Presentation of a group Computer animation Inverse element Traffic reporting Routing Computer programming
Goodness of fit Service (economics) Computer animation Multiplication sign Workstation <Musikinstrument> Computing platform Bit Insertion loss Exergie
Service (economics) View (database) Projective plane Set (mathematics) Cartesian coordinate system System call Event horizon Type theory Cross-correlation Computer animation Personal digital assistant Video game Cycle (graph theory) Error message Row (database)
Service (economics) Theory of relativity Computer animation output Video game Iteration Cycle (graph theory) Metric system System call Event horizon 2 (number) Surjective function
Addition Computer animation Different (Kate Ryan album) Cellular automaton Bit Data structure Endliche Modelltheorie Limit (category theory) Metric system Mereology Event horizon
Classical physics Web page Slide rule Group action Mobile app Service (economics) Multiplication sign Content (media) Database Bit Water vapor Cartesian coordinate system Mereology Word Film editing Computer animation Personal digital assistant Linearization Form (programming)
Point (geometry) Scripting language Server (computing) Service (economics) Validity (statistics) Connectivity (graph theory) Direction (geometry) Debugger Source code Web browser Mereology Template (C++) Computer animation Universe (mathematics) Error message Fiber (mathematics) Library (computing)
Dataflow Service (economics) Computer animation Computer file Direction (geometry) Cellular automaton Content (media) Generic programming Software testing Subset Library (computing)
Axiom of choice Point (geometry) Web page Classical physics Metre Greatest element Context awareness Service (economics) State of matter Token ring Multiplication sign Connectivity (graph theory) Client (computing) Web browser Mereology Computer programming Number Product (business) Mechanism design Natural number Different (Kate Ryan album) Information security Isochore Identity management Computer architecture Algorithm Projective plane Content (media) Price index Cryptography System call Electronic signature Computer animation Integrated development environment Artistic rendering Object (grammar) HTTP cookie Surjective function Library (computing)
Service (economics) Quantum state Information Surface Software developer Projective plane Source code Execution unit Bit Line (geometry) Cartesian coordinate system System call Computer programming Word Message passing Computer animation Password Authorization Configuration space Software testing Data structure Information security Form (programming) Library (computing)
Medical imaging Default (computer science) Service (economics) Computer animation Software Multiplication sign Order (biology) Stack (abstract data type)
Service (economics) Computer animation State of matter Core dump Form (programming)
Dependent and independent variables Service (economics) Computer animation Set (mathematics)
Slide rule Service (economics) Computer animation Integrated development environment INTEGRAL FAQ Representation (politics) Plastikkarte Database Connected space Product (business)
Slide rule Group action Context awareness Service (economics) State of matter Connectivity (graph theory) Insertion loss Client (computing) Replication (computing) Event horizon Aeroelasticity Internet forum Synchronization Computing platform Ideal (ethics) Energy level Cuboid Error message Position operator Partition (number theory) Computer architecture Social class Condition number Covering space Dependent and independent variables Projective plane Data storage device Database Message passing Computer animation Logic Repository (publishing) Musical ensemble Reading (process)
Slide rule Computer animation Link (knot theory) Repository (publishing) Multiplication sign
Computer animation
to the speed of it I want to also say too many more words so I would just ask you what the next talk a cell from something like about what he learned uh which tools are songs from yeah he's give some moments to those of us few yeah thank you for being here at this late evening slot on Sunday evening was gone on the game from also seems to work environment to allow the race I will be and this is smaller so on In the last 2 years I had a chance to work on different markets service platforms on some private things some things and company or on customer side and i a k 2 in different forms to similar problems and solutions and I said came to the idea
to share some of them to you so it's so I hope it's still able you're able to follow my talk this time because I have very different topics brought together on which are essential for me when I but of a much of but from but the topics are sometimes not so so related so not just the Cuban datasource wall on 1 thing talk so what some
might serve as a a platform for me you know I mean my of for me and for me it's as especially something of having independent components man bidding safe contained systems and this is not totally clear because a lot of people are also my services but don't that serve contain and system of the of the services in mind so much for me it's very essential that the can bit independent teams in a bigger project which are able to work on their component on the service unable to ship their own parts without too much interfering with the other teams synthesis so it ends up in a vertical architecture when the services followed the bounds of log of 2 bonding context so they have a functional responsibility
and should be isolated among those functional responsibilities of course in this meaning they should be use loosely coupled and should not be too dependent on other services otherwise you you nothing of of this infrastructure but just have a distributed system which is very complex of the everything is tied together and have too much of the and the the most essential idea I think is that it's not not the way to build the components to reuse them after warts or someone someone sometimes but more at the idea of the components to be able to delete them through a replay them and the greatest problem replacements
which can be on the evolution of the platform so this is just just some some some points that you understand why choosing goes to it well most DA when I when I start a new platform and a new project I have in mind such an architecture so this is just take note of the the best project I was in and out just I live the draft on all this looks like so I want that from all of which the services so then generates a lot more than that so in the last Figure platform we had a board 56 the individual a container images so every 30 functional micro-services in there um but the general at the same yet the services you on both the have and something like an edge so others for the front end so something where you read can come in and you have to similar thing at to APEC and for of effort straighter stuff and you have a lot of integration from external systems and you have some internal services for in attaining some stuff having some non some forms of things like that for a maybe CMS of something like that and you have I a left alter databases for me to databases are from the viewpoint of part of the service but you also have such clusters on different views of the data and you need something to do data integration so
messaging system of and how we can do a lot of those foreign so during the the rest of presentation when you have
this on the use have to struggle against a lot of things you have a lot of challenges to massive but I divide them in infrastructure problems modification problems but it's and therefore most about the bunch of them I'm on infrastructure society and of course you know I have a problem you in a platform was distributed deployment so you don't have to should be 1 1 of the big applications but you have a bunch of small services which has to be deployed you have something to do with service discovery so of course they should all be I high available so a lot of them and they have to discover each other and open and saying and things like that you have to do is centralized logging and monitoring without checks and 1st thing so we have to do a lot in on infrastructure side to be able to maintain such a platform and I will government uh and to some solutions triggering on this part of solving this point from then on education sites the he also a lot of challenges when you want to maintain Europe vertical thinking and the independent of the services 1 is that you came to the U I and you I is the user 1 you eyes you that doesn't care what my services so you have and you i composition problem I mean you have to do something like distributed computing security content looking management you have not data replication so individual services which need the same information or a similar all overlapping information and here of course is the huge number of small applications so a former memory interview collection points it's a little different OK
but now this is the day I will end up with a theory could juridical part and just show some very practical approaches to how I am I varied solutions are to system and
so on the and endocarditis nonsense to an hour long maybe 3 years and in real projects and so am I started smoothly but no I since the you know so I'm very very hard on this on this trip so on for me each project which therefore might cited doc rise everything so those has nothing goes as a docket demon and if possible nothing else and everything can be easily doctor right so there's no need to tool to deploy deployed dancing without a fight against I why it's from me very easy to and everything is a small Microsoft was even if it's a really big blocks so in 1 project we had
tapestry CMS was a lot of gigabytes data and as would poses a lot of functionality in there so nothing like personas but we put it in the dock a container and from maintenance point it's it's just a service just shifted the and the other part is that the
requirement for the hostess very minimal so we are very easy in setting up new notes
and making a set of and currently a command it is is very popular at 1 but I'm still a fan or what we know still because of this form or this is a relatively new so I am a fan of the simple way of using docket without all the communities overhead and of course this heavily depends on on the project and the platform but in my case I most it can come to the point where we have a lot of projects in small teams so really big so that's not the but but yeah I like it not to have also the maintenance and complexity overhead of communities me and John curly took swamp so we were using it even with this form proxy mode of somebody remember so since when you're going to vary by anything but a also has doesn't job um Mendes form what nodes I guess and it's really good and therefore most use cases I have it's really is sufficient it's easy to develop of 40 because you can repeal the reciprocal compose and the same production system and it's very easy to deploy the the swung gives you everything you are not everything but a lot still originated from so was 1 you don't have to make the most a complicated it's very easy to make discovery there once gives you overlay networks between nodes you have the and as fall you containers which you deployed of load balancing between the containers so it's it's very easy you can introduce has taken a a fired swarm of 1 and so it's more the more
of Swan set up and make
some before I a set up some notes on the chosen just to show you things of the registry which we don't care about the manager node where the torment show was industry welcome nodes I mean but buttons I have a small script so it was very easy to set up this form environment it's just 1 1 1 of the chest above courses just is not connected it is just uh fast forms a double bond error-checking or anything so I create an initial swarm manager nodes with DOC machine and everything against the digital ocean IPI with the nexus token in then I a take joint token from the swarm master the and I created a some notes 3 notes
here and then let the nodes join the master so nothing more than that's just set up the talk a machine which is very nice for so for smaller things when you come to me got that and up machine we're not we're not so be flexible enough if we need 1 or things like that on the machines and then none I've
mentioned before could of course because it takes some ministers machines and then without the machines I can see all those machines there are some if you over others here but we see that the I can guarantee troops to chew ocean so here we have the master here and we have 3 nodes and I can select
knows took a machine it sentiment the such an environment variables
so that my doctor command small or mob going through the swarm environment in my local 1 so I cannot show you this note that as of that I and took a notice that I have not the that up to the cluster and it said that so in just a few lines of transcript I have set up so that in the winter
machines and digital ocean and created a small cluster the under modicum Anaitis expert but I guess it's a little bit more to do to have a limited set of in in most cases that sort in OK
said swamp can do a lot of things so you sold so I will deploy services renowned the having all 1 and it wasn't so I have
some rated very small they must service I quoted content the just shows the livesIn Contador wage so it should be nothing big justice more
goals krypton having 2 routes 1
should deliver and HTML Jim and 1 of is treating the is returned as a state and I can do post to make it
unhealthy and then it returns and 500 so just very small service which returns the limitation that and I can say again on healthy and returns and narrower just a
demonstrated after the doctor content all of that and
put into registry the and no
I can create a book compose 5 would have been example and to adjust deployed so this is the article post-fire who was well 1 service listed court content are I declare the image I want to use and
then most people would not know
from their composed of course it's song-specific specific gun I can write down some and
deployment the terrorists and and say gives formed information how to deploy so it's it's it replicates servers create 2 replicas of this and don't put it on the master on the manager note generate every remote in a smaller set of also could be a manager so that I don't have to make the decision would have to have a manager and worker nodes but and sorted out 1 manager and throughout the notes so want separated and of course a published
report the so how to deploy business 1
cluster that's a intervened you command commandment of a stack deployed the the on a give this to compose thought and the name and then it creates a default network for this and for its service so was don't there services and can this service and see OK 2 instances are running office think this talk of PS look a stake PS and also can I can say on the real task of 2 service so I've not 1 instance on new tool would not want and as you remember I have to port . 80 do and differ composed and is now all of
them brings to to possibility
to access the spot and the cool thing is that can access on each node so it's
currently running on not 1 and 2 so I can copy over the notes 3 IP address and get the result that sold the expect the same port is now available on all unknown nodes in on the manager node and this in turn eventually IP for service and
independent after after which a machine where access to ports distributed useful plants including the right 1 so on how to create a the kinase entry for
that most whom we could
go of it
was I how I they can so courses each year and I mention that I can change Delphinus so a post shows the data false there and I see so I guess what I'm not but that OK because to pick the right I has no use it's troubling the so sometimes I think that 1 knowledge stable again so no it has to use the self and how it does this is gone town stock appears i see ok I The formally running service on node 1 also Dong and there was doubt that the new 1 just running for 3 seconds ago which is already healthy for a healthier and this is done the by way the health check in the
dock a I've written done health check command which is also going to be new and just wanted to call command there to check the the next page and given that the effective there 500 called went on the Dr. a
money to other seconds monitored every 5th 2nd service and that's not healthy it's just drove away except you want and so the more printing itself OK student
movement that of the way for the next some of course I and
my architecture at the edge services for rooting in and rooting in from the back side so 1 of my biggest problems in might of architectures are the most time our HDP do things so I have different result this year and they have to be dispatched to different services so for example the D. to go to so this new my CMS looking at that and I have a block maybe your shop subsystem also and I have to arrange them in an API Gate awkward edge so however on 2 2 makes image refuting them I mean not different solutions of that all of you know I guess of seeing the reverse proxy configuration to his pension and in so on nothing to show here the 1 thing which is for me you know things that armories place friends and x is the Kenny that's over it's the the come relatively new very modern and that's overwritten going on its it's quite good it's very extensible and quite fast and already stable bond has a lot of features so if for example interest and support support and and the harm could reverse proxy log runs capabilities jet ability looking and access control features get shaky college UGU rule as to decide generate and mechanisms and since it's written go along and I actually prefer going on is my 1st source language it's very extensive for me and it's storing it should if be too in the beginning and also support fidgety people should feel like that so it's really really cute and 1 on global community bond that on so
let's make a proxy configuration with wizard and Kenny so can decompose and compose
fire let out there I have to kitty some of the lips or as a front-end proxy I have again my uh tokens with this content goal application and I had to others I've just a vanilla what press you which is not configured just to
show you this block resource and I have an engineer
makes it should be should deliver an esthetic that it's for example so code of static in charity
component but only is the simple
suggest model permits the uh I Donald it's and right on the applicant's I want to have what loading it and or nothing the cure and size the kitty side uh with the configuration there so this a many of integration is not going to be dynamic here and there I think to get the the domain names and the schemes she must I as I mentioned it is able to do automatic here a little trickier less so I say OK my address for a trip this month so and then I have some proxy configurations of proteases content content block to WordPress blog with gotten to oppress and and as a special thing I assure you the the
debates on some extension so it's able to adjust I'm going to go deep repository which is then dynamically input from cadaver service tool of directly have content from the repository and can be an updated and so on and so I
pull my slide test which I'm using here also into the service and on the 2nd configuration for another subdomain known for over the process configuration to this static and unique site that in mind a total composed so I end up with a
similar set up like here so this is the content this block and some static so OK so
course command is the same Decaestecker clause it's so it's a pity composed and when in the stack can the Christian services but most of us cook a 2nd as shows new this month vectors for services the and have can chose services see OK they all find
to to replicas because there a In this configuration I only 1 Rebeca forgetting students trips challenge for the automatic as as certifications and working with with open think there's an alternative plan so you can do Indian as challenge which all the possible but not so easy to to show so fast
but so not you see the slide that which
was pulled from the git repository no from KT so and then you also see notices it should be I
cannot change th fierce and the village and certificate era of nothing flow of lot to do that and of course all my roots also working so continent
are yeah Swiss-Prot of things like that or even this the the from Scotland that takes a few men pointed to the so nothing special just and made a reverse proxy configuration come In a B I might service architecture where I I want every team to ship their code independent the services to be independent of other components of course is not such a nice idea to maintain you reverse proxy configurations in wanting component costs you may end up
with a lot of them and yet sometimes sometimes not so nice that when you are that always when you want to deploy new services so change the routines of services that you that up on service changes also required changes in use in yes service in new singer configuration come and so it there is the idea of making this dynamic
time and then Katie is is all the way
um the proxy configuration also has some dynamical government possibilities but I want you the I've used I thought you lot values very on fast and very stable the reverse proxy which is able to discover the services dynamically and Khonsu which is the sort registry and then you can the creator or on each node you have to set up the registrated registrated service which discovers the upcoming and Dukkha services and you can mom but later their environment variables with the past prefixes and then end up in control and public picks them up father is very cool but limited to this constant approach with which is not so nice I think because you didn't need is registrated and submits that it has a lot of having this infrastructure than but has done a lot of good work for me what I prefer more now but I don't have much to do with this but it's so broadly used is traffic and traffic is the traffic 0 sorry I've written it's strong it with it's written with the Katie and so it's a French name then this is the reverse proxy with so rare dynamic reverse proxy with a lot of facts so it's able bit to put various proxy configuration of different sources so this the feature set is very big you can go to traffic I go and take a look at on all the features so it's also has of course with temperate Praat support filesystem circuit breaker us and you can do a lot of small thing with this I p but even this abuse cases are simple and it has a bacon for breakfast long so I
can use it to dynamically look up the services are bring up in my head of home environment and then with them and of course I will show it to
you some component some you
1st removed his kitty steak and so this
is the correct spelling of traffic
OK similar example but no traffic medical compose so I have again this quantum solvers I began this work press service and again in and in makes image metrical static here but instead of
k being on the traffic I used to
official image for that and then I give them some commanders say OK yeah pieces Dukkha as they can and you currents formal what not just 1 local broker I given based remained the same what so update you configuration whenever the from something changes let's say OK please someone to unite the QI then I publish some
parts which is the of course and the catered for the web UI at the I have to deploy traffic on the
manager because it needs the events from the manager of fault 1 cluster to see all the services and I'm I have to mount the doc controlled
intuitively the image because the traffic it's any way to connect to local of course i also would be able to use that it should be as connection to the and then my services can get labels some able to
give my Aswan services
labels for traffic and and traffic and scanned services which are deployed there is the labels and build up the configuration did you ever tried to
do this so be sure to pick the labels feature also the deployed part you to me sometimes
an hour because but you can
also use labels said to contain our level and then something something different 11 so I label it and say OK mine content should be up should be published 4 . 80 of these services should be you stand on this front end loaders should be available In this on the coast for WordPress similar say OK the same most but only at the stop prefix and and next of my different subdomain so I can just diploma services annotated with labels and traffic will pick them up
for the from the domain so we do again doctors tech deploy of environment so it seems to us so mostly put the Continental replica of us in the next so traffic and its forwarding those poets and but workers
and now I can not so is true 38 there's a traffic you I 3 9 so I can see that they have incoming roots and spec and for that so I can see filtering coming rules and this would become the around the year they on that he would roll back and services which are then used to local and think the so of course more hopefully this
also works yeah so of again my
different groups to traffic and now as soon as I scale something of sewage and took those k good you the yeah it and what this the traffic was directly to pick it up not only is this so as you know I have for bag and for that and traffic is not discouraging this route to all those against Trefusis this traffic dispatching it directly to the containers I guess it's not do you think the open and of to perform clustering that wants to his own of printing there'd picking up the inverse of no OK effective presentation so this our my solutions for a program and thing which I think it's very fine report you don't have to
change your infrastructure whenever you change something on a service next challenge next
challenges logging I guess most of you have from already already have something ball exergy losses combine or things like that and I guess it's really important to invest on a good logging infrastructure with distributed those platform and I don't like lot station last time I tend to use these a little bit better I'm not not happy with this you know with whom India also a lot of I would be better to have we octupole so that you can use look at look at uh docker local logging and then shipped after what's on but it's OK for the most cases and that the thing I want to mention here is the way how I prefer to log on because I think text Slovenians something from it is somewhat of something from data so it's all still OK but then I can think we can do better and so I tried to use structured logging where wherever possible and they give them some semantic and makes a good luck convention the so um the all
services so should rightist on on on error and this should be the best case so in jazz records and we have an all projects and moving conventions which they should follow so for example every social to excessive logging and with fixed shameful dead and education lots should be similar and call also fault going call so little of Texas lock or life cycle events so
just to show you some of them educational may look this way so a fixed set of how would the Netherlands describe it some types of application not and then a fixed set of contribute their we're going mention that means we always try to use correlation ID so that when an incoming requests that up to all the services you are able to trace it into services so and the thing is to have a credit correlation IDEA no autumn solvers and dispatched within a coherent without us to the next services so that you are able to future niche of going H 2 to be 0 incoming it should be replaced by its correlation and didn't Blum and each that is able to it on a logging long introduced different views may be user ID or things like the and
not look similar but of course the some it should pH then no 1 the song the method or things like that for example and a call looks very
important call up also of course in relation that ID and iteration so then you're able to very easily figure out which are my costs could expand the Microsoft why is this problem called taking 2 seconds on which of those maybe 20 services involved over 21 5 for consumers and all of the school in this
and what I like to imagine life cycle lots and so that every service reports some of the life cycle event I will start it all I was failing on somebody a given input signal onto minute not think that and the news before I thought it everything on for for monitoring to be should be metrics and has
resources and things like that but I'm from intense saw that it's sometimes up from 8 of its it's limits it's OK but that that sometimes a little bit too too complex to really get that data and and and well with that data so I also tend the way to to report metrics in their lobbying events and then do statistical occupy on us the OK
this all over the part and a on is the structure a thing
next thing you know on this on the unification part the infrastructure that cells that are already to avoid a model it's a little bit about and we can do to better and some of has different structures In addition to there and yet I want to
repeat just a few slides over talk that's done use before a here it was gone and wall-to-wall vertical thinking just so that you know why I chose this technical solution from the come come too soon so when I have a classical education approach this treaty application molva regarded as very crude of from the nineties it against the best as the cut and then we came to the sole idea while would it make services with those already in the water so on make the so a small are a gift and maybe their own data and and make business so and so then it is all of that but the most time thinking and that is a lot times also was OK and then at the end create 1 big application form of that all 1 of the the UIA and just useful services so long word was only a little bit better on for me and this is a way of thinking about them I guess there are a lot of people which have the same mind said them this center thing might so ways to have contains services which group thinking from the database up to the front and so Michael service should be may consist of some services even about Don there should not be a layout which already bonded everything together I didn't want that with the EC service and I don't want to have this bundling again and you Of course there are a lot of use cases where the mobile application also which words again possible because phonetic more litigation is a 1 and then you consume services so then you can use the word or if you craters uh singer page application which is also suitable for all of cases then you also again and most times with the monolithic you I and but in the end of that you still have the chance that the the growth I guess to to deliver silverside run pages which are at least pre-rendered and then at the dynamic and parts and content and I believe that in a month so those world at best every service delivers its own URI but of course linear reserves delivers the only i the user wants to add to its 1 URI so I need some some do something to put everything together I I think in the last row take
some we mean funded would approach on that and it's on
created the library I will show you and which is able to do such a URI composition and the goal is to have different components where each component just delivers a fragment from the thinking point just the fragment of HTML so that it is it the can build it up together it was the idea was portlets 10 years ago and I get every everybody here with borders as it but then of course the need of having different modules and bring the things together is is there is a need to so it was natural that that's using him of and this all of this problem and UI component in front ends JavaScript components stuff we've fairly is also the same I mean we we tried to solve it on on the server side so this way and we have created a library is also source colon library some
scored that compose and it's a fiber which is able to do this simple aggregation thank you the idea is that the each service mean now maybe here it's that the best at each service the universe is all fragments but it their fragments are nothing nice you can't you and in a browser so if you just put the fragment part roles and need scripts and title tag and things like that so we came up with the idea and not only we came out and so some came up with the idea that each service to just deliver and for the validation error when fragments it delivers of filled so what we hear created this the compose which is able to pass on like a template engine to spot of some special agent directives so that of fragment composition can be done there then then it composed of each of the composer's able to fetch the HMS from all the services in parallel 1 is declared that the LayoutMaster and then it can do the gregation template in there and and can take care all strips so duplication of diet or title tax also to put them in a hat from all these things and to duplication there to that that so just to show you a small
example um 1 service may deliver layout HTML and this is just the usual HTML file but has the and includes directives then the composer's able to understand and other services make delivered these fragments which are referenced year so for example 5 and include all flow of contents of the letter and content here and another
service may deliver this HTML with the content somewhere 1 the body is taken for the content but fragments may be a subset of SOL I became the so with this way I have this generic composition library that each cell is able to produce HTML and I can simply develop service because I consider fragments and I can extruded test that's individually and then I could put it together and the composer's able to such the things and make 1 which think of it additional of this money very very nice thing in
this approach fossils of rendering is that we introduced them fragment-based cashing in the book and so on when you try to do caching you on summer side you always have the problem with personalization so you generally want maybe want to catch layout onto Christian irrigation you want to pitch content part of a all at small slow semesters also but you have some parts which I use a specific so the shopping basket I can with the number of some items in there also and they are not cacheable so an interesting approach problem to to do partially caching their and um with this approach we can mimic compose introduced by fragment-based caching so that those parts which are a generic on the fragments side can be commodification only the specific things have to be on on its request OK so the composer from the documentation is not so nice this is a lot but I'm not sure that so understandable if somebody is interested in it and wants to take your monitor among very motivated to go to all of the ends to bring this forward somebody plus and here's some some
analyze and has a similar approach they call it Taylor and it's also component which may wasn't that difficult so perfect falls but it's very similar so if you like pick this up the thing is or dedication next and last topic of indication In this distributed environment you always come to the point when you use of a new to look in and all the services have to share this looking and the Security a Identity context and them 4 meter at a time of sessions is very old bull sessions of us at sessions classical thinking is nothing good think and there's some some drawbacks because of Somerset states on you have dependencies between services because maybe 1 services on of the session so that the most infrastructure saw architectures with the session which part of tend to become a session service so 1 so where all the other so that the dependency to to fetch the session data also so with the body to model that that nice profession as the solution for me is JWG your in general crypto tokens so on crater cryptographically aggressive Kelly token and put it to the browser or i did ability is a artsy stand so where you have adjacent payload and get and due to seek nature and this looks at the bottom in concluded this with 64 and put it may be in a cookie or a missing a page that on provided as and and there are a lot of sedimentation all this so you can because some of the different and again different than the plantation libraries for every program in which I I know um and you have 2 choices of the metric or isometric date and signature algorithms so you reflexible was just so the JWG approach that you want so others which is creating the JWG give it to the client and then the client can make calls the solver and each service can get this data token and because it's signed it can barely dates this the nature and no knowing and own and and dystopias trustable and is there uh the content of 2 token is valid without an additional call some protection so there's something thinking that so you I have a perfectly even coupling mechanism of of found because I came to the point where implemented similar ways of using could the token object identity and special in different projects I said OK this this was the last time now I created the a product of this and and the that
not sourced project Logan softened is some already introduced so iridescent starts and 4 thousand on top of the British people and so it and is serious and contribute of there so it's it's really really you stand on look surface is
a small like a service which is just doing the lot in so the standalone service very Ray limited very minimal and we just can have a look informal or for rest API for a service of risk lines and and on the and you just can't do look in and then you get the GWT took is available as a stand-alone like a service so and therefore contain I can use this call on library or a unit as candidate in so I should get it about some earlier and on my new official plug in all of this so you can directly use it can carry so that you have but in a form that and and you can use to explain as together with the KDD jw T but in which was already available there and then you can in KB security apart as 1 based on literature as in the test of and cancer from all of course you have to look in against something and uh some structure for parking back and some of this nation the and H T password fire in the or their message I don't amendment we focus on the development of and you can use on this simple configuration adjust and provide then it should be upstream as so was a contribution where you can just for words that authorization as to the edge to the excess to another application and um recently I introduced walls support for a bit of an but contribution program will also support so on my
would show you know them all on and
we're still this traffic stack in order perform well in so I'm not going on
to my Marcus service so I used to turn the concern of image and provided so if you this is an non-security remember this you have maybe 20 minutes time until only the the she's here we have the um so it provides look and so was the simple plug-in to say OK there's a user bopped that's secret and they are given the get up
walls credentials for the heat of API to look in this direction and as we saw earlier with the other services I have to traffic annotation so on that should be picked up from traffic than and um I declare that you because each compose phi defined by default its own network and I want to draw haven't joining the traffic network which was defined alleles so at the time this so
don't stay the 2 you come from so now I have to state
also let's see the traffic you I this thinking that I would say so in here so if money is not the uh the look service pick up from traffic so known to be a possible to close to flesh Logan and yet not similar in form that can say OK am not what secret the there's a chance to work there work come up you can go out and so can go to get up and say OK if authorized on but on this again so this was taken data was taken from the dump them so of that and if I want to say OK let's
let it cool will also I can just give it the was too lazy to
set of it correctly ch ICA what would have been able to do this we much this good here and uh good might result because it's very clear to to say what the responsibility of the services sometimes not tho you might have again the OK all right so that would allow us
to be but I think I would skip this 1
because some slides and its for on you can mean as I would give it but if you like to see you something whatever granted integration also I can but what so on
as i showed here I always have the data and the integration problem because when I have a vertical thinking each services should have its own data and I don't want to have to services with with his connection to the same database and I don't want to have 1 service calling another recall than its 110 depend on the other the of course it's
even if the opposite to say IAQ hard-liner on this aura you also consider the sometimes like Lotus went on the mosaic OK I don't terrible to cross depends is but in the way that you want to have independent data you have a representation problem because maybe every service need to know about the user wife you and shopping environment there are some services which need to have the product data that so maybe shopping card and product such overview or things like that and therefore Kafka has a very nice solution Kafka is the but i'm Kafka's
of a project which is widely used on distributed streaming
platform in so you you can
think of it like a like a messaging past but the missing combust normally as the ideal to invade going mess putting made message into the box and someone's taking a message and it is out of the vast Kafka the idea of the database centric ideas so put messages in there and they stay there for Allied just in mind of course you can Bruce retention time of Saudi going data so cover you have a topic the topic can have partitions which are able to use the them and shot them over a last solutes highly for tolerance and um picosecond cover consumer can stores offset and then read in this message loss and cover also gives possibilities tool and store that the read set the consumer so that you can easily have a replication of their merit which would consumers ever read all said and can fix the data and it's the thinking is relatively equal tool on to an SQL database lock which is also used for data base replication so well what events are just written down and others come up and take random Kafka's very groups and the class and the lower a scenario so you can have a cover class levels would of us and so topic with moderate positions chartered over the solos with their brick irectly cast and then you also on the client side can create more to that so different nodes which in as a consumer group can put all the data and Kafka takes care and the consumer group logic takes care that's each message if taken by a service and then and 1 1 service is going down on other services take over the responsibility to a position conditions of the because without like after you always on synchronization problem that when you have more to the clients fetching all the data that 41 should handle the messages so once you have to and then there we are using Kafka and some projects because of and so on and a lot of architectures and companies in this because it's a very very nice way 2 and robust way to have a lot of data the coupling of all those of us who have and the replication of the essential data also this in this context if you undress and this is the buffet CQ CQ RS this is on Pereira common currently where you just think event-driven just saw the events and liable to Restall the state and components OK this was covered in 3 minutes a again I think you have my slides are available at the top so my talk repository that you can find the slides also there is this generated books
and will not so the slides are online
here I guess that's the and I guess the link that is not a bunch of talks repository random this marked on so you can find everything you and also the examples of completely and thank you for the attention at the time the questions the
leads on the main things that you and I think the rhythms and you all