Micro Services

Video in TIB AV-Portal: Micro Services

Formal Metadata

Micro Services
Title of Series
Part Number
Number of Parts
CC Attribution - NonCommercial 2.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial 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
Micro Services Vertical thinking for a simple architecture! Micro Services are a new way of architectural thinking in web platforms. The key idea is strongly aligned on the unix philosophy: Create small services which are only responsible for one thing and make them work together. With this in mind, you get simple applications, which can be developed, deployed and scaled independent from each other. ······························ Speaker: Sebastian Mancke Event: FrOSCon 2014 by the Free and Open Source Software Conference (FrOSCon) e.V.
Keywords Free and Open Source Software Conference FrOSCon14
Type theory Freeware Inheritance (object-oriented programming) Web service Open source Knowledge-based systems Orbit
Functional (mathematics) Context awareness Run time (program lifecycle phase) State of matter Code Multiplication sign Connectivity (graph theory) Modulare Programmierung Mereology Sound effect Mathematics Software Physical system Area Information Run time (program lifecycle phase) Projective plane Moment (mathematics) Gradient Analytic set Complete metric space Software maintenance Software Function (mathematics) System programming Library (computing)
Point (geometry) Slide rule Service (economics) Presentation of a group Software developer Run time (program lifecycle phase) View (database) Content (media) Bit Sound effect Function (mathematics) Software System programming Software framework Software framework Right angle Data structure Writing
Distribution (mathematics) Functional (mathematics) Mereology XML Mereology Radical (chemistry) Process (computing) Kernel (computing) Right angle Selectivity (electronic) Software framework Modul <Datentyp> Table (information) Functional (mathematics) Reduction of order Computer architecture
Functional (mathematics) Software developer Maxima and minima Cartesian coordinate system Mereology Arithmetic mean Integrated development environment Different (Kate Ryan album) Telecommunication Vertex (graph theory) Service-oriented architecture Computer architecture Physical system
Domain name Functional (mathematics) Service (economics) Different (Kate Ryan album) Logic Web service View (database) Service-oriented architecture Mereology Computer architecture Physical system
Decision tree learning Coma Berenices Database Bit Line (geometry) Repetition Mereology Cartesian coordinate system Product (business) Product (business) Web service Message passing Web service Single-precision floating-point format
Context awareness Group action System administrator View (database) Multiplication sign 1 (number) Real-time operating system Client (computing) Mereology Medical imaging Mathematics Web service Different (Kate Ryan album) Decision tree learning Area Data storage device Electronic mailing list Database transaction Bit Complete metric space Product (business) Digital rights management Normal (geometry) output Summierbarkeit Arithmetic progression Resultant Point (geometry) Functional (mathematics) Decision tree learning Service (economics) Patch (Unix) Connectivity (graph theory) Student's t-test Web browser Scalability Product (business) Business object Goodness of fit Population density Term (mathematics) Software testing Domain name Scaling (geometry) Inheritance (object-oriented programming) Interface (computing) Projective plane Database Library catalog Cartesian coordinate system Subject indexing Uniform resource locator Personal digital assistant Logic Video game Family Distortion (mathematics) Library (computing)
Area NP-hard Decision tree learning State of matter View (database) Data storage device Independence (probability theory) Database Menu (computing) Function (mathematics) Line (geometry) Mereology Flow separation Computer icon Product (business) Product (business) Digital rights management Different (Kate Ryan album) Personal digital assistant Read-only memory Order (biology) MiniDisc output Software testing
Dependent and independent variables Service (economics) Population density Web service Mereology Computer architecture
Covering space Latent heat Multiplication sign Connectivity (graph theory) Moment (mathematics) Instance (computer science) Disk read-and-write head
Multiplication sign Forcing (mathematics) Connectivity (graph theory) Physical law Code Water vapor Flow separation Time domain Web service Root Flow separation Web service Software repository Library (computing) Domain name
Functional (mathematics) Code Java applet Connectivity (graph theory) View (database) Product (business) Time domain Business object Revision control Flow separation Causality Object model Software repository Authorization Endliche Modelltheorie Library (computing) Physical system Social class Theory of relativity Projective plane Code Root Web service Order (biology) Object (grammar) Data type Domain name Library (computing)
Implementation Freeware Module (mathematics) Multiplication sign Database Disk read-and-write head Number Formal language Medical imaging Synchronization Integrated development environment Process (computing) Implementation Rule of inference Enterprise architecture Service (economics) Axiom of choice Key (cryptography) Server (computing) Projective plane Price index Cartesian coordinate system Formal language Macro (computer science) Process (computing) Personal digital assistant Web service Software framework Functional (mathematics)
Axiom of choice Complex (psychology) Implementation Functional (mathematics) Service (economics) View (database) Multiplication sign Mereology Formal language Spring (hydrology) Web service Strategy game String (computer science) Vertex (graph theory) Implementation Physical system Java applet Content (media) Sound effect Database Cartesian coordinate system Spring (hydrology) Software framework Configuration space Booting
Vapor barrier Service (economics) Computer file Software developer Multiplication sign Java applet Parameter (computer programming) Cartesian coordinate system Frame problem Formal language Spring (hydrology) Process (computing) Spring (hydrology) Software Telecommunication Vertex (graph theory) Software framework Configuration space Software framework Summierbarkeit Bounded variation Row (database) Booting
Reading (process) System call Service (economics) Multiplication sign View (database) Database Mereology Semantics (computer science) Database normalization Medical imaging Goodness of fit Blog Different (Kate Ryan album) Computer architecture Service (economics) Link (knot theory) View (database) Relational database Cellular automaton Database Line (geometry) Replication (computing) Database normalization Auditory masking Read-only memory Key (cryptography)
Web page Presentation of a group Service (economics) Link (knot theory) Source code ACID Client (computing) Mereology Cross-site scripting Web service Goodness of fit Centralizer and normalizer Graphical user interface Bit rate Different (Kate Ryan album) Single-precision floating-point format Commitment scheme Scripting language Structural load Web page GUI widget Menu (computing) Client (computing) Web browser Query language Web service
Slide rule Context awareness Module (mathematics) Service (economics) Distribution (mathematics) Multiplication sign Mereology Electronic signature Time domain Independence (probability theory) Web service Cryptography Shared memory Formal verification Energy level Digital rights management Information security HTTP cookie Identity management Domain name Context awareness Service (economics) Login Cartesian coordinate system Electronic signature Digital rights management Commitment scheme Integrated development environment Web service Right angle HTTP cookie Information security Communications protocol Physical system Identity management
Game controller Service (economics) Server (computing) Interface (computing) Java applet Login Group action Mereology Product (business) Number Web service Software testing Digital rights management Communications protocol Sanitary sewer Extension (kinesiology)
Axiom of choice Service (economics) Axiom of choice Service (economics) Server (computing) System administrator Java applet Stress (mechanics) Login Group action Plastikkarte Mereology Bookmark (World Wide Web) Formal language Fraction (mathematics) Web service Resource allocation Telecommunication Telecommunication Interface (computing) Computing platform Software testing Abstraction World Wide Web Consortium
Area Service (economics) Event horizon Error message Causality Telecommunication Structural load Logic Data recovery Telecommunication Multiplication sign
Enterprise architecture Group action Service (economics) Distribution (mathematics) Structural load Data recovery Connected space Web service Process (computing) Event horizon Error message Telecommunication Physical system Asynchronous Transfer Mode Exception handling
Point (geometry) Game controller Service (economics) Distribution (mathematics) Structural load INTEGRAL Connectivity (graph theory) Disintegration Execution unit Letterpress printing Revision control Web service Telecommunication Internetworking Personal digital assistant Software testing Extension (kinesiology) Physical system Service (economics) Execution unit Data recovery Unit testing Word Event horizon Error message Personal digital assistant Telecommunication Order (biology) Software testing Quicksort Remote procedure call
Authentication Ocean current Standard deviation Scripting language Installation art Computer-generated imagery Virtual machine Medical imaging Web service Uniform resource locator Root Web service Internet service provider Computing platform Software testing Configuration space Automation Digital rights management Physical system Physical system
Slide rule Metric system Service (economics) Multiplication sign Login Real-time operating system Representational state transfer Number Medical imaging Web service Causality Reduction of order Metric system Resultant Booting
Web page Point (geometry) Programming paradigm Complex (psychology) Mobile app Randomization Functional (mathematics) Service (economics) Code Mereology Graph coloring Perspective (visual) Product (business) Latent heat Web service Causality Different (Kate Ryan album) Operator (mathematics) Computing platform Physical system Mobile Web Module (mathematics) Operations research Service (economics) Standard deviation Interface (computing) Expert system Chaos (cosmogony) Computer network Line (geometry) Cartesian coordinate system System call Digital rights management Web service Universe (mathematics) Self-organization Right angle Quicksort Resultant Asynchronous Transfer Mode
Point (geometry) Server (computing) View (database) Execution unit Client (computing) Mereology Goodness of fit Mathematics Web service Different (Kate Ryan album) Representation (politics) Endliche Modelltheorie Amenable group Physical system Noise (electronics) Consistency Projective plane Analytic set Database Representational state transfer Cartesian coordinate system Complete metric space Arithmetic mean Voting Vector space Integrated development environment Logic Personal digital assistant Video game Game theory
yeah had stopped this is because the problem I think I would get sick today it's always can and to my parents topic kids micro-services in normal the human year is I Microsoft was this topic which is very very upcoming knowledge systems and many conferences and even and some of all cool can take this was within 0 it is a battery so we too much vitamin so micro-services is a is a topic of which is from involving alone last last if you have maybe and becoming more and more visibility and there's smoke you definition what types of the house so what I am showing what I'm showing you our orbitals of opinions of other people but also a lot of my opinions in it so don't take this is Microsoft but then get my picture was this 1 to
stop talking what Microsoft is is decidable by talking in explaining a monolithic picture so what's bad on 1 analytics software I often have seen very large systems where the roles software this year working together and you have 1 big deployment and after time it is very hard to to work with this the system
I think that 1 of the biggest problems gradient and maintenance and then you reuse off from software modules and what's hot to win 100 it's hard to test it so you can't is related to user isolate users to test them it's hard to reflect the because you will always kick something other down if you could change pieces because it cannot associated with the use of changes to the system if you if you do something that especially when it comes to begin to use so our some smaller teams that involves a few of them and began violence and you don't have that you have from ship code so you don't have a code ownership than its and very hard to work together on monitored time and a lot of of software uh sudden nodes is about reusability and we we often see reusage she on technical part parts so it's easy to reuse the transport library here networks that call for rest of Jason I reasoned that but it's very hard to reuse functionality so far as is not all that I didn't reusage of functional components a so and this is the especially I think because in a moment in the things are very tied together so if you try to take the functionality of the moment it and put it in another context down used too much context information about on or dependencies and so it's hard to retrieve to functionality and random especially in runtimes very hard was monitored because you have the same runtime dependencies for the complete system so on performance and scaling you always have to scale up to in the whole of the system and the you always have to deploy in the complete system and and OR and with big systems this becomes somebody area hot nearly impossible in some the things so when began to rise as your often is a problem that the project at the start of very fast and then uh at the end you only are able to do 1 removes the year or 1 release of 1 or 2 years or things like that because it's not possible to to bring the moment it's sort of in a in condiments state and more of often I think this was
the last 1 slide as 25 slides so I will speed up bit I is a bit too much content if I'm getting too fast then please write reservations doesn't questions and we can you know you not follow the presentation is positive and and talk
about it so I looked at 6 to do this in the enforcement under but how to
avoid monitored it's not
easy to state what makes softer monolithic um because it's nothing what technology so even if I have a show you in a nice microsift framework and you're doing everything right from the technical point of view you may end up with something distributed and everything's called talking rest to each other about their and in the end you end up maybe
with with the same thing as before but with was additional has a long on distributions so the 1st part of my talk is about how to design the architecture to get a verdict killer the vertical architecture following the functionality selection if you think you you have a monitored for your eyes take a take a very good look on it and and show what it is because even if you have a maybe be tables was job lots of other places and things like that and job awful thing but even then it may be that inside of it there's a very good vertical structure so it is not not only on the on the technical side and yeah another side as I said don't trust in using included in Microsoft frameworks to get the right architecture something radical stuff from the
requirements engineering part to to see what idea you the main parts but I'll be the columns to to divide to
application and then a very very clearly divide them and he do it gift give developers notion wants to bring different functionalities together on the easy way then do the maximum to reduce the dependencies between those parts calls from so on on every dependency you try you would like to introduce it would take work and to exclude another way and it's it's much work not to get dependencies maybe you sometimes have to do with 2 or 3 days work only to avoid to get a new dependency in it but this maybe 1 maybe and you will get an outcome of rich someone data 1 very very essential things that on on big application the bigger teams you have to move but you have to build to and to and teams functional on the the whole of the vilification facility if you divide the team and the development in different in different horizontal and teams than the architecture will always follow this and you will not be able to make a vertical functional design and because the the communication and team would always tend to all the women this way to that the dependencies that that the dependence of the will follow the achievement and so you will get horizontal architecture so I have talked a bit about vertical horizontal 1 what is the mean of this the classical approach is needed is that simple architecture and so
you i layer you have so is and new persistence layer within and among and education grows and this this is also the difference between the the old of the log of cross and that much of the broth if the the system grows then you mostly get this environments thing
permanent architecture uh when you have a centromere UI layer different services and on the persistence of his all logic such it's more and more of but the was this you're not able to reuse part of its and then you will end up in with was 1 of the system and uh not knowing not divided by because 1 you have the UI layer and you can control how functionality of 1 domain will use functionality of another name my name is the interview view of architecture in the woods look
like this that you have for every functionality according design column
where you split up on on every vertical line every year horizontal and there are you speed up for Microsoft's columns so in database layer and service layer and especially UI layer you must adopt Application singer single pass part applications which are distributed distributable a changeable and additional balloon separately to make
this a little bit more practical I have middle MIT an example for for reps so imagine you have standard that's not like everyone of us know that so it was a out of product
of the locker and product this new product the debut and things like that this is a very good example and to show how it is dividable in in different columns and maybe to part of the new an old way 1
would make 1 application of oral maybe 2 applications 140 for and and 1 for the administration are things like that and only it is somewhat more modern and yeah would would like to get
some 1 reservation in it MIT tried to extract the business logic and the domain objects for all of those and tried to student was library or things like that to get a bit more moderate of but I think the right approach is to divide every functional part in in a very old color with as few with if you are dependencies to each other as possible so I won't go through it so far looked for example and you should bring things like looking from and in this single component where you have to look at so this and other data store for looking for example and the data store is not the same like the other in year of her but the data simply for looking for for installation and use permissions maybe so that you can look in part even if you think about unsinkable at the location is divided into that you can divide the looking in more commands and then this this some medication part should also so of the URI for the administration stuff and for the end users so with this 1st column it's very easy and monitor the inside so you would end up with a small application which just and enables you to see Logan from for example to log in with it and then get redirected to the next to another and another so on and the other part I don't have their log in logic but answer don't provided but if you come to another side and they would say 0 no it's not looking redirect into the 1st the 1st service and and don't and and and then from the brother view point of view of the not to to follow and you have a portal like approach where you have 1 but you get 1 horizontal and in between which ties everything together so well made fewer good hotline design data than the browser in 1st case comes to this service on maybe an hour a completely different and and domain so just maybe not in that chapter because for example and this is are on our different supplements of course it's possible and then in the 2nd step to bring them patch in front of it another to to mix it together on again terms so let's say the user has left and then it becomes maybe 2 members of administrators to management area some was a product catalog in this part of the vertical were designed to independent of the of the other parts so on it is for example the the products yeah and it forms for 4 product on imports from something very that input functionality to create all the products and as you the the microsoft project enables you to give every functional passed every column is all database it's own approach and storing data so in this part may be you decide to say OK product had locked this isn't a rendition of the approach so I use to put this database and distorted public this then after adding products the next you want to do is browse and search them do the listing them and this is so you can say it's the same so I would do it in 1 component but if you take a closer look on it it's a completely different thing because of the the use of society so that the and uses of different ones this scalability is a company difference or if you have 2 or 3 people adding products but I hope some million customers so I'm using it so you have a complete different scaling approach of scaling requirements and the requirements for a database also very different so here you would like to have a transaction and absolutely safe for data handling and things like that and everything you would like to have fewer is very fast results very fast searching and but you don't need any normalization here so it can be completed in my life so maybe an elastic solid another command-oriented such index database would be perfectly fit so why it makes it out and education if you can divided you simply need interface between those services to give the data to the next 1 and and stored in this form of so the the end user was completely use this column and this data store and does not have anything to do with book that of it and this is a read-only so again we can use them group of insulin replicated their and their and their storage shed parents and even you have you know maybe you have a real time dependency because of unsafe you wanted to save you don't every time dependencies in most cases so maybe it is enough to push changes in product database to the to the clients and so to the the workers here every hour or things like that so you can hand it in in a very different ways and this is because some of it is much smaller so we have a simple application much simpler if it has this complexity with and you can redeploy this part for example as you like read on the sum of the redeployed to have 1 hour downtime for product catalog if you put a minute just don't care without changing that time of kind so if you're in the dividing resource lot OK next part that's the the product the density have a new lists you click on a product and you will see the for example in this and this image I say OK and product details of talks was there's a lot of interface and get the product data from there so all progress I hear and column doesn't have its own database you always also could have to society otherwise and In you use divided especially your eyes so you may be the use such as are more frequently used than you product detail so you you have your product the test is also another functional context so then you can handle both very independent of each other but they come to the next part so so shopping cart is a very interesting example because it's also very yeah based predictable from the rest of because of it has his
own you I mostly so if you're on a shopping cart interview it it's different from the other views
and and it has a very different and storage requirements again so maybe at the shopping cart in session based you can is a start on solving mentors deal something like that of course other verbal abilities would also be and you can handle it's independent of this part so this is really only had them staying read-only disk data and disfavored a session based on on storage here on URI is is a very interesting case to bring them both together because I said every column should serve their own I to so not the 1 you like but of course when I search and products and I mean in test I always want to see here that I have 42 items in a shopping so I needed know troops making line yeah so so I need another way to interact in the UI I there are differences solutions for that so also would be possible to say 0 no I'm that that hard-liners so in this you eyes I you call to service and bring them bring their or it's possible to serve even the icon and maybe nobody menu or things like that from this column as a new i fragments of moral hard part of the the and let this URI catch it from the other column 2 to read that is a very similar examples when I finished my shopping cart I can redirect area was with long dialogs which is independent of the latter is it just needs a state of being the end state of this data as the the input and has an output which has to be stored in any transsexuals safe database for example so in order management at the end for so this should give you an know an idea what what I mean when I say OK we introduce a very very hot and functional followed the separation so this is from
a architecture part the next
but as more and more technical
and even when I said that there is no redefinition micro-services there's a very good talk from dense on which you can see on line and on there he he was talking about the services and the most papers oral talks are referencing and will cause you have to set something some some very simple things in but they are very ever is interesting so I did not try to bring bring on definition yeah so there some has to be small was the same responsibilities so make a very small it
only just 1 thing at 1 time wrong but smaller smaller is it when it is small enough to fit in your head to time so is bigger to understand it and In 1 moment but it's too big then you have to speed it up of course instances somewhat self definition but it's the only definition possible something on being more and small enough that you are able to rewrite it instead of maintaining its own for a very very long time so if you
designed such a cover smaller than it maybe even more easy to replace it with the new of component and because it's small and you have a very few dependencies to enable Cummins and because of this it is easy to to show to know the specifications of it and really during going on
it's hard to it's do you need to get an idea of the separation but it's hard to enforce that the separation some well will if for a long time so if you assume Conway's Law and things like that then you see that the the water always follows the easiest way it always has and always going from from his around so you have to do some things to and forces that to make it hard to bring in new dependencies 1 of this and that is is that you have to make every the service
and softer components so have to be in
its own and version control system with his own bed systems building the new totally in independent of each other and if yeah dependency or common code with other components than you should treat other component as x 200 projects not as them all this is this is my predict 1 never to like can maker and the my comes library and all sits in this then you get a new online already have been monitored so the only code I think which sure using 100 which can be come income libraries is infrastructure code for maybe broken cold maybe authorization cold things like that so unknown function code this always way world and the question how to treat domain objects so when I is a domain-driven design and my ideas and things that that that it's all it's often I have also
seen that people are in making a very very big object model and last model of all of the objects and relations with them together so is isn't there was a new using this in all of you comes as a noble cause 1 every colony would have its own view on the data so there is not not the true object model for all of his sister so let's see for example in alright reconciled product the data type of the product for the listed in the 2 of you is very different from the data I know I have to have in the order so this the and examples so there is no book and having 1 Java class representing this and this because
anyone can very much data and images in the that any other case only the number may be enterprise so to implemented and I
my job a grant so almost the Jobbik runs over a lot of things may especially true for job about so now and is also but this is your job well done there the very bad was was this idea for a long time so 1 and it is 1 of its whose job was the easiest synchronizing and other language I don't need to that better instant of time but you also anti-HBV raise unlimited brought on my gives people together in 1 Apache it and this is also the same thing like is if I had to go on a job equipment enables so Key idea to distinctive perhaps there's someone loving you was in a project with head and those the year the key thing an implementation this and forget all about applications of so when we start out with indications
of us idea to deploy everything in this container but then we mostly so that the and that the container configuration was done very specialized so as we end up and would be container deployments long for a for every application 1 of this so if deserves it as the truth and tried to bring so of the the complexity of the container and to minimize the complexity of the container I'll bring it should fit together with the implications of mitigate the content as part of the education it's the same ligation and so Unix genes do for a for a long time so bring up 1 of the many and don't care from the outside view and deployment view learn about the implementation language and to the right stack as I said you have to freedom for every column to choose what's what's there and you know what the requirements of saying you want you can not only uses for the database choice but for the fall of the applications will be if you need a very reactive system yeah much as from maybe it's a different and technology choices then and then I the simple that you are aware of a often think of that so you can choose for every new thing completely different stack but of course the becareful because it would be hard to train every person to do not respect and it's very there are 2 strategies I have read about how to decide when to bring up a new service I'm a big deal in favor of 1 of the 1st step to try to bring in every functionality in its own service and if you say if you see that the sum of small next that may be emergent in another so because it's much more easy to much more to services together to 1 instead of from splitting of big monitored afterward to JISC absolutely impossible so even if you I'll let you Swanson's grow and think OK and let it broadens the Mid-Atlantic broaden effect that I don't think that is that is to say that this would be impossible on the other side I can recommend to a friend works and
springboard is someone young friend of from this spring community or from string company and to that's being
applications of themselves so many in other instead of navigation and communications will always end up with fat job where you
have all the advances in the job and stop others by doing the job I mean a the giants maybe configuration file as arguments so everything you have to do is ship 1 5 have 1 configuration file to bring sums my varied framework because I'm not so so famine overspraying I think spring is nice but it's never be mined whenever you become madam it's probably there was this and coming from John and there is 1 very active developer who is pushing it and it's the barriers in the frame of so if you would start with the this the only other and at everything you need for the rest for the configuration and you will do very smart than it would be maybe equal to to that Proc with others but you don't have to do it and even instructors and not line and talk what what was the only for me so if you're interested in its you also can be shows the recordings of the verdicts is a very the announcement of a new therefore for some time now but it's a very different approach to and make to to think about software and and as act as a journalist communications and vertex also has a possibility to to protect jobs out of services and to start another languages there are also a lot of ways to simply write it in because it's not that and you think the right ones and so I don't have to bother him I started there was already said something to
database do I want to go should implement the database the essential that you should try to to give every column database for semantic reasons architecture reasons and for a scaling reasons especially my experience is that it is indeed question should I use know SQL or not neuflow database here aeration relational database here and I almost could not see this is bad our business but I don't want to lose is 1 on the other hand was my have this it's mostly very easy cost for 1 so it's mostly very clear to say which is the better approach most it's not
monolithic approach but you don't lose anything because in this on this part so I want to use a relational database you can use it so that there you need some strategies because of sometimes 1 pocket of course need needs data from another part of their and some ideas on it so 1st have the key idea about me don't be a hot line up so the easiest way is to of course to and cleanest ways of course maker McCormick arrest followed 2 different services and get the data but there but to optimize and to optimize the stone Theobalt and redundant data so that should data stored in your own database therefore next time or fetch if you if you you think it's it's not so cool Denmark and on few data redundancy it is also possible to India to replicated to put its by features for example and so I'm always in bring the data you the German new database there are also some solutions you really should not try to use but images yeah shot solutions and which may be a very good for you no 1 simple thing is a very very relational database then use 1 database for different services but give every cell has its own Shima then I want you to made read-only views for example to access data from other she's ski mask then it's not that clear about it's also good good solution time or a like an Oracle thing that you can what is data like database techniques like database legal thing that to get the data it a thought on the you
i a very complicated compartment I think there are not not in so much of a good known solutions uh mountain the essential thing is make every services really independent of another 1 so I don't that 1 so serve the layout and the the menus and thing that and another service on the continent so not a portal idea but make every service independent serving the 4 page if you directly navigated this service to this subdomain or and that that then you get this this and then you get the full implications to not to be of course you don't want to do good styling and balloting 100 cent red and and so maybe it's a good thing to have a central acid service which serves
comes come out for all of and it's also a good good think about 2 years to delivered essential parts from every summer themselves and that there must be merged on the client side by other economists so another script with if you have a single page that's on it so I think it's it's good in this in this idea and but then of course you have to make a full rate and full redirect food page load and on every itself was ported to another 1 so in in In 1 service it's not a problem to the thanks to the page of were news yeah and 1 thing I mentioned was a shopping cart is idea when 1 you is not on presents printed they're 2 different services you always have use query the user has to see data from different sources down if 2 solutions cholera solvers and official data and that on behalf of and said to show the data there or the the other idea and maybe make a link to the to the other page and uh and that's summed up scripts fetches link and self or others linger and let it just fatigue we recommend honors and bringing were fragments in your dorm
security is 1 of the other most hard and most important parts of because now you have maybe if you have 100 Michael so many of 100 context those with the context and all of them has to have a shared understanding about security right the best idea is to to the security here and look log out user user management and 7 stration and that and see if this handedness as all services on Microsoft's columns and then yeah and bring them together through
an identity management thing this and I think that that all protocols like tool for example which is a very good for a and look in distributed environments on there's another slide on this so if you have this there to 2 simple possibilities the simplest 1 and there are other services are available on the 1 main or a distance in deliver those taking level domain and then then it's easy to that the lock in application creates 1 cookie with a for example username times the permission that thing that trip to screw this cookie and signed this cookie and let every service get this cookie and verify signatures and you have up completely decoupled the different services so from from calling each other for security and everyone is able to check the that the lock in a signature from some but of course you have to have have to have a commitment between all services to do look in industry the other variant and native maybe you don't have all of these and
parts in new or new control and you should for example use to on similar protocol but where 1 makes a redirect to the look and so the reader and then look in what can be done a redirects to the service again will become and the service can exchange token so that it you know that you know contrasted but the use of and on visiting that the use of it in the 2nd service discovery direct can be transparent town without that the use without a redirect we look in from the user side so those are 2 possibilities to make in somebody so we have numbers of product we also have the booster has the boosters and
scored the ion which gives you Nice services for exactly it is this OK you know this so we have a resource so there was an arrest interface from skin to
standard and for accessing the the user data include data MIT notarisation some of the supporting lost tool for the in and we have 1 set of administration parts and things that and at new for the and spending on services from for the administration 7 fraction of the data so communications some I
already had said and rest sometimes presence of course a favorite of of many people because it's a very simple choice it's very easy to implement its and is implemented between different languages and so it's the way to do it today but I in Microsoft Word you can do communication as he lights or even you may have different requirements uh looks into the not leading to a stress fracture and maybe the principle on at the you try to move away and to decouple the business services from each other so that 1 service
should know as few as most of the the other services and this this was something that and oppressive espouses promised for a long time don't try to to bring any logic our data handling lawsuit maybe not insecurity in the communication channel so make it very results on the data and data all from the from the things that of cause and it may be very good idea to to bring something more intelligent for example for as and promising areas
or higher reliability and higher performance or things like that
especially in enterprises and you would have sometimes have very very essential services which and essential to to to save them and do not get on too much lower from the from but they are there and so there you need and as from mode where where they use service can catch everything you want to do not not getting them too much connections for example because you have a distributed system where the action 1 major new direction or other that you have to taken have
to be very careful careful what some error handling and failure endings so it's very essential that the the system is able to to really do its job even if the as well then think and 1 with a bullet in the eye versioning I never saw
a successful versioning of remote API so in an Internet 4 Internet usage of course to extent arrest services all sorts of you have to version and but an internal communication and you should don't use this thing
so thank you have both sides under control that is not a lot easier to to change things together and to to make them of order backward competition where possible testing is a very interesting point and my concern this the years on it yeah you can say that you or some people even say
you don't need unit tests and also because it's so are getting so small and the city would cover the unit tests are so small that the prints what to at all but yes it's that that's not making a Honolulu but the ontological of code and and the integration tests for 1 obviously component doesn't just for 1 service are getting more and more words and the was because the air services themselves as they the unit to test in most cases there's idea of consumer-driven tests which is hard to to get it working but it's very well food if you didn't manage where every consumer in a distributed system defined its own tests and commits tests in the test point
and the service awards tools release has to pass all the tests of all of consumers because it's yeah because then you test what did consumers really want to know what to do with the API and what the service provider things he should do deployment is a big topic where we're seeing all the
magic and current deployments so technology brings us so of course you have because you have more deployments you need to 100 % automated deployment tools slide a good and public things like that of everything should be packaged was standard from that in RPMI things that that and Roberson sensing that because you have to and the system which is very easy and the the hard-liners even our own thinking currently that you should be insult employment authentication by replacing with the deployment of a complete systems so docker is upcoming in the years now and this is not yeah you can it's somewhat something that could change ruled usage are like but machine in usage but it's very light light so you can use the bring Dr. images often and and the 2nd for example and should images to to other locations so much
those hard-liners currently are only making the docket image putting themselves in it its uh and and don't have a packaging warranted strips or things that for the so that all the but actual image of the image monitoring of causes there isn't the
issue because when you have a lot of services and you have a distributed monitoring problem and there are a lot of tools currently supporting this there was the problem yesterday so take a look on not stage gray low-key bond and things like that to get which of services number 2 there's also there is the idea of real-time metrics there are some of the other packages for example for it to it's a service and REST interface where you can monitor or its in real time where where it's often not only right and lot then yes you through the reduction results later but this is my last slide that we have some time for for comments and questions
for me is the the microsomes idea is the most essential and biggest
idea and currently upcoming so I think it it will change a lot of but and of course is not is not without risks so by giving you parody you should be very careful should start with simple small projects and and bigger ones but in my opinion this is the this is the only way to handle the application complexity of the platforms which we have today
so onerous side we have the problem that we have to inventory of a lot of services so we have to know where the where researchers are there which serves running the operation is very challenging so the standard operations team and I will get new new things to do and to know it's not done right you may get called cascades and a lot of network traffic if you're not to looking right but I think if you're doing the dried then the the costs are not that much because the if you have 2 functional splits done right then and you do not should be too much calls to other services from the biggest thing maybe it's it's absolutely new way of thinking for a for many people and it is not enough to starts this thinking from the developed because if you have a specifications random pages specification have to build a system then you already have some monitored take specifications and to speed this up to have functional modules and it is not possible at all so you have to start on education designed function design and start with this and maybe have a different random product manager for different services and things like that and they are only or organization in this mode and the freedom of technology is the technology is elections may also be a big risk because if you don't have a good governance and then it's not only a chance to always stay on new technology but is always a risk to and everyone making what what he did was he likes to do and you get cast of course folded so thank you for listening universe increase to use in the book OK so this may be simpler than this 1 1 of the fact that will have a lot of the not my you have to understand what problem I think of that discipline 0 sorry the question was if you have uh and would become the new and you have to you I and for example I want to get the desktop and mobile application out of it How would you handle it from the mean perspectives on 2 so if the mobile UI In every service themselves so for me it's comes back to the problem of interdisciplinary judge where you wherever so it's sort of a it's not easy to get it to get it done but you should try to to put all the experts forward every year for every line every team and and some of the the mobile interface from result so every service also should so its own mobile interface of course if you can achieve this that it's not a problem to to bring your 1 more widespread and that then the minute for everything but then you would identify common parts come code and so on will make and so on together the Gourry you for all yes please 1st and all on In some point is more risky if you and have to monitor and don't get it's really is but into vertical parts then you had and you will they will fail with this because I is 1 color from the end user needs I think it's a 5 or 10 services then this is the 1 you wouldn't get a system really robust but if 1 cause only needs 1 service or tools services so 1 call
than you don't have tomorrow only risk then was 1 so even and it can be safer because a failure or downtime of 1 service may not so that there is that all of the complete application of nodes running along the blood and you have to invest a lot in an automatic deployment and monitoring and think that that that's not so the deployment monitoring part becomes a lot harder than 1 and this sentence this is that at the 1st you should yeah and I ask you if you need consistency of course we are from interested from KSA guns schooling and we add 1 big thing and we talked about it that we are with consistency you should try to want to live with all consistency if you can handle that then it's it's much more easier and often even if you have 1 analytic database system and you think all I will make it consistent than even in those cases years after getting life you mostly get get inconsistent inconsistency on some parts and you have to make educational games in logic Dealing with inconsistency so this is not what the answer you have by this I think it's an important thing and to to be aware of even make robust against Americans as the data the other thing is that yeah you have to to take the the right solution for you environment so 1 thing can be if you say OK I want this logic prosper coalescing it's good but I want everything told consistent yet and get a big Oracle stake here and there are many different schemas but let them run on 1 monolithic database amenable demands and make everything very hard in a database and you only have to logical point of view and the freedom to decide another data based on maybe in the future that day have everything together if you decide to spit it's 100 per cent then you will use consistency a lot of and the noise created is currently are very good and synchronizing data by the need 2 different notes and so think that that by a by a bit in future the 10 also project is to to make something of an Atom feed or things like that so that every service offers a simple HTTP based feature where other solvers can poor was changed and something that at and replicate the data but on this you have to do a lot of work by hand so there is no perfect way to do it and you have to to good 1 opinion no the we part of all of the life of the this is the on I don't think so because of that and my experience but it's only about the meaning of my experience is that and if you have that and then you have a functional change then you have to go to every layer and change into the change on this layer and so you have to yeah you changes prompted changes are distributed to a lot of different deployment models so you have another problem I think if you say I can and can't handle the wire client server by every year because of the vector and maybe by every year unit than the rest representation I would suggest isn't simply using the REST API and yes so using completely different you and continuous beyond votes good thing all I could talk 1 only you want that and there are some people I know which could then it on more so there is is very hard on them from performance deployments things and you don't need it in most cases so you in most cases but it's there OK I got to point this was the last question if you like to have a discussion invited to to come with me and we can talk about thank you


  493 ms - page object


AV-Portal 3.20.1 (bea96f1033d39fbe77f82542458e108105398441)