Bestand wählen

Scaling Microservices with

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Erkannte Entitäten
besides the to be speaking about scaling micro-services with by I be well hello yeah my name is to be some giving a talk about scaling mattress analysis of my visitors and generally was possible that specifically scaling back services the talk is on of the presentation is online so there will be a lot of links inside but you don't have to write them down so just as just
open that you're and yet
what my name is years and you can find me on Twitter and various social uh channels and that that make it and that's my e-mails you wanted given me the banker and have further questions don't hesitate to contact me e-mail we couldn't at yeah my background is in math and statistics have been programming since there was a world which is quite a long go over the Indian programming in different languages uh alone will I regularly use knowledge is the simplest close to jealous create the other ones less and of course preferred languages have these days so uh there's more languages to engineering that's rest and that's missing in Mary rebel are still because the new conversing language but other than that I'm spending most of the time in part so a apart
from pilot program and founder of the new Criterion a start up and we do messaging service so and only also we would open source in community supporter we use we started in the of open source libraries and cross bio itself is also open source and regarding the start every every commercial open source business models so that use of things this sulfur everything's source part of you wanna commercial support for crossfire you can get that from us and so that's pretty much standard in yellow and differential in other decision um well I mentioned at the start of a lot of initiatives open source libraries and 1 of them is a lot of money for a reader of it was the 1st that's OK Indonesian powerful as you can use it to write a web service clients as well as servers so you can use it at the Pew works level and it also implements the web application messaging protocol we should be using foreign markets services talk about that later an of support so as to asynchronous never frameworks under the hood so that's with that amazing alone and runs in Python 2 and 3 and so you can use it like if you're interested driving you can use it in a in a to acidification but you can also use it in a single or application um all the Lovers used uh more and more words the this use of probably from deployment scientists Firefox they use it for active push so that's a browser features in your browser feature and they have a right to serving like 18 million connections currently using and wondering about that too the whole user-based uh that was quite a thrill and conversation and because it's a difference if you have a like to hear 1000 represented connections versus 18 million their new efforts to whom you you challenges like like giving them alive and stuff like this and it's also will be aware basis for good good nice and that's a continuous integration system also written in Python and then its use in jungle channels so jungle it's it's a based which the it's blocking and they want to have on to have some more real-time features so that's that's also users and then what abdication messaging protocol that's also started last but it's an open ecosystems it's an open open protocol we just implemented as a knowledge is still the third-party implementations of the protocol and the story is like a web so clear that it's that runs natively lower WebSocket which is renowned bi-directional and stuff this but it's vital that we figured units and some more extra credit for writing applications want something more abstract so when the bond protocol implements a remote procedure calls and publish subscribe you get back to that later and while just way across global it's about broader so whether education messaging frequency-dependent protocol so you need a route and they're different reduced crossfire was our 1 but they're different and you want to address so you're not locked into our stuff that was because it was mentioned wonders in open so we knew from the beginning we said no we we don't want to look into a lot users into our stuff so you can have different implementations or it can use different the implementation as well then while there
are a lot of links the presentations then we have a lot of medieval cold which is kind of stripped that's the the 2nd 1 and then we have a be occasion that's not quite we believe if drug offenders and so the day but it's not finished but a lot of coders already working you can handle they it's all in the chapter so just give it a try that all
right just very briefly what's what's my what's the story about that grown much into detail but just to to a quick intro
so this is something you don't want to have what you usually have to have a monolithic application and that is a big pile of spaghetti sooner or later so it usually start small and everything is graded works but in the end you know after a couple of months or years it piles up in India and it looks like this
so what's the view that user is about taming complexity so that's your Arkansas summary why do you want to have micro-services it's because you attain complexity do not get some in in some speculating hell so that would break down into the divide and conquer a C 1 to have smaller parts which are more manageable uh 1 thing we should have only 1 responsibilities so a lot of traveling everything and 1 1 keys in monkeys does everything so 1 of separation of concerns and then new 1 have the coupling so that's that's a pretty important point you have to wonder how you parts uh contained and then you basically a mean minus a coupling between the components so that's the approach to obtain complexity and
well that's of course enormous has a history it's not not new that that was theme of taming complexity and spin and spin down stuff is over there and there were different approaches of different technologies trying to do the core of the problem and the result is probably the worst of all but have at Stanford some the plus this this competition nicely have if is the true to stand that basically to to survive that in the end it's it's just that inward currents through complex and we also see why arrest he doesn't really answer on that it the complete answer therefore micro-services if using Microsoft is most people environments and say OK just let's use HTTP REST that's that's words that's good enough but we'll see why that isn't enough and so
we will you know look at the micro service how you approach markers of users in an application based in example and the example is a training station problems so we look at the traveling salesman problem and the application and how to break it down into Microsoft doesn't have what are the challenges in Hollywood do that so just very
quickly the traveling salesman problem what's what's that so imagine a safe manner that uh has the wizard a couple of cities so that people that fat ring that's the start point and the the task for the state managed to visit all the cities exactly 1 for each city exactly once and then come back to the starting point so and there and there the task is find the root which is shortest so salesman wants to travel fast answers so you want to minimize the length of the round trip around the city and so this will be 1 solution but not the shortest path so with that fewer cities it's it's obvious what would be the shortest path from this work and now the problem is how do you find that this solution a computationally and how did you find it is the number of cities is growing because the
problem is that this is the role of the number of possible routes strolls pretty fast it's exponentially grows exponentially so uh all or a sudden citizens cities is already a huge number I can even read home and uh lot of digits so and exhaustively uh looking at each possible route
isn't practically possible so we need something better yeah that's the
that's just the rabbi so the training set problem is a combinatorial torial optimization problem and the search space looking for a solution that is exponentially large and that is embedded in a deterministic or a uh closed solution to that problem solving the problems there is a closed solution but fragmentation is
another 1 of them so we look at a 1 way to to solve but just very briefly that simulated annealing so if you have a source space known one-dimensional that's the it's it's axis and you have a cost function and about that gives the coast depending on the the practical solution in the search space you're looking basically looking at the energy surface or cost phrase and then the problem is that you don't want to get stuck in a if you not try for example gradient descent and you pretty much get stuck in local minima and simulated annealing tries to avoid that by by clever clever heuristic to look inside the search space and search for the best solution this is in the uh tried to avoid that getting stuck in local minima and how they do that so we don't need to understand that the details of the algorithm but there is a very important point where there a repeat N times through and that's the important point because we use it to to scale in my personal so we will have come compute micro-services component and and we want to scale and and to be able to do that we need to have in the algorithm place where we can speed up the problem into subproblems and then distributed to each instance of the computer compute my just this part of the problem so if you're interested in it works like you start with an initial temperature and in doing that so that the ideas like if you if you have a montage Montage material and cool it down it will it will so if you if you cool it down slowly it will get into the minimum energy state so and that's just the transfer of idea into an algorithm a and so you just some initial temperature and that is the initial state which can be any other just a random root and then you repeat that until you you've reached a lawyer and temperature and then you you just have starting from your current solution you perturb to relate that solution the 1st like what to sit in the order in which there was a small loss and I have a look again at the modified rule is the energy used to post lower it is lower than you take the neuron and if it's higher you nevertheless take the new rule even if the cost is higher with a certain probability that depends on the temperature and that's the tricky because that it wants to get stuck into local minimum early in life by running so there is that there is always a little bit and that's the temperature is 0 there's always a non-zero probability of taking a worse food so that gets you out of the local minima at but that's not it it's just an example the important point is that we have a repeat N times part the algorithm which we can use to to to distribute to our model instances of the compute servers while that's
why don't we run it on 1 core just and that's enough because the and is this simple because there are origin that the based in rooted in physics you we don't just don't have like like the infinite past single core machines so we have to use multiple cost so how would we use multiple costs for that problem in an application solvent traveling salesman as we could use some my talked mechanisms this is not what we talking about I we talking about because that's a torque mechanisms just for the computer problems I will be talking about just
using the actors also for the computer parts also for scaling the compute part and this was note to skip over doesn't look
we have we have a mutation that the input is the problem at all a compute time budget and we just want to have the as an output the best group found is that the commute time budget
and so the opacity endangered basically 3 things so it needs to control the overall sorry the orchestration of the search it has to have a user interface want to be able to look at the room under control the parametres and it meets the computer course marginally instances of the compute so splitting up
that into a micro service application would probably look like this so we have now spilled up the money the big monitored in different in different parts and the different parts we have to user interface Microsoft parents we have computer parts and you have the orchestrator so this is the p at from microservices and the war in the americas of split on their architecture now the thing is these components need to talk to each other so for
example the orchestrated that controls the overall optimization needs to needs according to the compute instances instances of the model Compute market service for some parts of the search space compute the europeans rude within your subspace of search and then he wants to get back the results best route for that's problem of subspace of the search space so we need we need something to fall into the confront the Orchestrator market service to call into the compute servers and get better results so that's pretty straightforward but we
also want to have something like events like the compute servers what's my current load on the on the machine running that instance of the computer market yeah it probably needs 1 you want to see what's the CPU load currently how many rules per 2nd process by that particular instance of the computer like service so we need something something different which is an advantage if we want to distribute information to the other parts of the Orchestrator ones probably to track of the city will also the the instances of the microcomputer market service and we want to show that in the in the user interface as well as
so we need to patterns remote procedure call and publish subscribe I 1 protocol and 1 technology that makes it easier and that's the
that's 1 way of using the Web application messaging protocol because we figured initially that we we want to have something that more abstract unclear whether or and we need those through messaging patterns in 1 protocol and so how does
it work there we have components components of is will use its synonymously and those initially connecting to cross the cross was root and 1 promoter so called wires that
looks like this this is the twisted variance how he established sessions from the components from personal to cross part own gold much into the details but in the end you get a session up to the solve and then you can have those actions for the 2 messaging patterns for remote procedure calls and for publish subscribe for publishing uh and and receiving events so that's just kind of on plate which you need to establish a session and
then to actually run a session you have this boilerplate I will not go into the various but you can see there's a w s in the application and that you are that means that runs a website OK OR
pattern number 1 publish-subscribe ideas you have abstract namespace URIs your eyes uh which was names with the names and properties so that the coupling between the publishing the subscribers so it is 1 of the mainstays while you were right and the publisher publishers to the abstract topic hot and also the 1 true journalists was subscribed on that topic and can distribute the and the events again so
as to have a component that could subscribe like you I have subscribed to see on city would change and they're all back and the Orchestrator on the feudal change uh and then the computer component can publish when CPU load changes or each set can for example periodically publish my CPU load and the subscribers would then receive those to be rolled and that's the point is those don't need to know about the nature of so we have the property so the publisher site doesn't need to know where was subscribed where am I subscribers rather currently residing they could be be behind it repeats behind connected networks and behind firewalls and so on so we have that the coupling for that had pattern all OK Mr. that's the distribution of the random
and to the actions subscribers so called was it looks like this 3 see you have a call uh event
EventHandler on having uh that should be fired when you receive random new subscription and to subscribe to just say session subscribe is a what's 1910 land use your eyes so that's pretty straightforward a subscription favor basically only for so for 1 reason that you're not allowed to subscribe to their their authorization mechanisms in farming controlled who is loaded with which is allowed to subscribe was a lot of convolutional airing yeah well publisher looks like this so you have the uh uh basically also on the session of that session published so you can publish your data so how how do you
remote procedure call will know that this is also again the coupled with the namespace URI eyes of the accompanying the column on side so the qualities is I've provided for procedure and this is callable under this your eye and then the call I can call the procedure under the URA right but both don't need to know where physically the other 1 recites so we again have a copy FIL this
looks at like this you where component registers and women there's a calling coming across the analysts who has register the the procedure in can for what the call to the quality the quality producers a result and the result is then shuttled back to the original called so again we have at the coupling between quality and quality which is pretty much a different to rest HEP because this rest it should be the colonies to know where is the host name and the port number of which I'm trying to call so there you have a company in 2 years to provide an infrastructure and you have a coupling from the application code to you deployment infrastructure and you don't want to have that so we transfer that hadn't from publish subscribe coupling to depart to the remote procedure calls the and all
registered looks like this me too fast enough of them but think just called was you can have a look and presentations online called can be done like this so it's pretty pretty straightforward session call and you have the only difference is that it is a direct function of the you there which which uh you should recognize that asynchronous code states not distinct from those in process called bundles of processes doesn't work stuff but it's asynchronous therefore the yield you can't have it in you in 3 . 5 you could have a weight basis so that's just that Python to combat recalled that in Python 3 . 5 that would be a a weight at that stage
and you can of course combine those actions so you can call the procedure in an event handler and then publish events from a register procedure it's called solid so it's all pretty much you can combine that 2 to create more complex actions then she had
registration that's the future would group which we will be using for scanning our market services if we have a tool not only 1 uh procedure can only be registered once at the 2nd 1 gets a narrow already registered but across but we have feature co-chaired registration which analysis model the same procedure to be registered by multiple instances of a service or instance of a concept and how does it work then
if there's the or how is it usable it's usable because trust that can for example implement hot standby for you so you can have all the calls submitted to the main primary component and that component failures and then all further calls are transparently rooted in the hot standby component and the color doesn't mean it doesn't it uh isn't aware of that so it's totally transparent so you have caught the lower for marker services like that's 1 use and the other 1 for for the problem here is this is scale the city and have called rooted to different components of multiple instances of the component in a round-robin fashion so that allows you to to scale because you can run those instances in different machines and it's again transparent completely transparent for the caller size the college that doesn't need it isn't it isn't even aware of the fact that their model instances on the quality side it's just transparent so she had
registration studies in that it's not conducted all it's just a similar to that you have to to give the register was in when you register and the the procedure it's enable round robin so we have different implications policies round-robin is 1 random like similar 1st loss of different location policies will be using a round robin simple straightforward to understand and so
then that's a novel feature because if you give them a fair OK that's enough normally component can take in an arbitrary amount of calls like if you have a Python component that's it's a single thread it doesn't make sense to use standard like 100 calls it's only single idiot you make another in or if you have a component is my then you can't really taking Martin many calls in parallel but that you should be able to control that concurrency otherwise you component just gets overwhelmed the incoming calls in locations so that's another feature which is pretty much necessary for a for practical use its Mexican currency you can register a colleague can register and give the Mexican crisis say I'm able to do that many concurrent calls to process set many concurrent calls the so
again that's pretty easy it's another option oxygen the register you just give the concurrence you able to choose to survive and prosper will note that and then it will not ever send more than that many posts concurrently to you comply so that way you can prohibit OK
and and low sorry OK and case here so this is the architecture looks like that and so we all connected prosper and of course you can have those components in the written in different languages and so we support moment 12 languages and and and then you can combine those components OK so components of different boxes machines physical machines so you can have the Orchestrator computing machine 1 to different compute instances of the neck next machine and so on
and summary is new new
unsolved problem we have seen that alright right and everything else but we think that's that's a new you answer to your problem the veterans of them before and as we have seen those 2 connection patterns uh or an interaction patterns remote-procedure-call publish-subscribe which we think are pretty much always necessary or most often necessary in practical applications and then we see how that is made easier by cross from all about scaling enhanced standby power of the rooted in particular cross there is no currently that they wondrous different prior feature sets 1st was most advanced ones so not everyone would ever or try it currently is the only 1 that process that yeah will also have a price strong uh we've to about as I had topic kids we're pretty much into the Internet of Things we've got 2 of these you can win the is there if you don't do surveys you don't have to provide the man we don't want to have any personal data just feedback so
and please visit these things take take part in the survey and you can win to these of the the what
few any questions yeah yes so crossfire ideal the site a black box that handles everything or do you deployed yourself and if you divide years yourself no but they have like a few nodes does known do high availability fails and the you you can you can divide on your premises so open source you can it's open source you can just download it deployed in Europe benevolent during your claudin-1 AWS we also have a doctorate supported can just stop run the 1st of and you you up and running but it's right it's a black box as is it should be looked at as a black box you can also install it like for prosperous but you should look at it as like like Apache and units like effect boxes system so the we we're still working on that and that on the scale of part of the process of the rooting for itself so that that is in the water on and we're working on that it's from control of after OK so I think you for to the whole tho we managed to use of that can be easily cross I mean we have to do that we need that the basic direction so do this you have to be insufficient to I want you can have the database and actually in from Europe components so you can have a component which is just using as that you need to talk to a database or whatever it will also have this upcoming thing which is a prosperous as connector which will allow you to directly use long right into the database you can for example call on apostrophes there's sort procedure like any other ones that was the 1 procedure taking calls from JavaScript directly into his store president postprocessed can publish events when events from a triggering instead of hastily doesn't have to be us inference on your but your component you can be such that you can it to create a component analytic these synchronous right and AGV mentioning like like databases libraries usually seen from and there there are ways to do work around that so prosperous as for example has also asynchronous realism because there is drivers of like if you have an article 6 article it is synchronous but you can run it you have to run it then under that contract so otherwise it's not pure primaries was is in the asynchronous forever never so but there is there ways 2 2 and then and thank you for adult if falls don't and my question is In the you summarize therein lies because it's very easy just spoken between micro-services but I'm afraid to use good products because when I need to make authorization that say and my clients then need to get some of the data and it's it's scary because I'll do my best my tokens from the user to the need to there and that the other but crows low when I have them let's say militarization change and these problems so all of that is probably different aspects we have indication mechanisms good and across the we also extensions for extension points in cross-border where can hook into the old indications uh face uh pretty much by just implementing a 1 component again which is then called during the authentication can plot into a proprietary art indication system and then we have our own based authorization which means you can find the control which was about it was allowed to subscribe was allowed to publish for example the 1 the sensory and IT application could be allowed to publish but not to subscribe even to its own topic and so he can have finally control would be aware authorization of those actions and that that so there are many aspects of human all like encryption and security or in what direction the and lined up and that's example is user can see a different instances the reasons that so 1 user can see only 2 instances and I have a topic many instances in the core of the so I always the life and the user only sees instance yeah you can you can even have that there are a role based authorization mechanism where specific user is authenticated under a specific role in only under that role he is able to receive is only 1 sort the entity should you be able to use disease and you also can have that's called excluding eligible you can have but that's an advanced feature now probably the talk after that you you can't control even for the individual publications bound to this session level who is who should receive the event so not all the subscribers which are basically the authorized and subscribed but even a subset you can you can have skewed digital but let's let's start with probably to show that encode anything pretty much finer control was allowed to do what it was and we should get what you want or whatever so that there's a lot of stuff inside so yeah pretty much currently on the security side of it may be also and thanks for your talk
on 1 question you mentioned like the routing you do some of the main feature is that the coupling the and I see that but it also seems to knowledge that you introduced a very tight coupling to cross plot to like a 3rd component and solving that and they're like HTTP case with people's and like you can use a load balancer want something like smart stack from so like how would you respond to that do you think it's this is more a convenience that it's easier to set up and get everything running words do not have a different point of view that have a different part of the because at the application level prosperous invisible from code it's it's it's the only visible in the initial connection establishment but but that's a couple of lines of boilerplate somewhere in the application the rest or a new markets and the rest of the Microsoft for this totally unaware of the fact that there's a intermediaries so and regarding your part of the HTTP REST little balancing than you pretty much reinventing what we did because then the the load balancer needs to know who what where are my rest points and when they change when the were machine goes down and it needs to be updated developments needs to be so there's a whole category of of subgraphs a that API management for Microsoft for S. phase where my so that's a whole category which from our point of view is doing it the wrong way but of course that's that's all you have but I think you use sliding down the road reinventing the stuff we do know that that that the coupling will be based on you load in genetics so whatever but you have to do manage that that needs to know where are my rest and forms and the other problem is that we've not talked about it's all open ports all you micro-services of web services all the parts so you have a pretty much bigger attack surface was crossed by you only have outgoing connections from the components from markers as they are listening so for example that's not only a problem in the securities side it's only also problem on the networking side if you might use of his behind and that it's not reachable from outside so rest doesn't work so you can should should should open ports the European whatever events of security and and so but was present you can have the x component you might consider sitting behind the net doesn't matter because it's only 1 outgoing connections so there's advantage of security and network just and we only deployed main engine x or is it the 1st thing you have prospered presented we do not need apply deployed behind and genetics you can of course among many people do that you divide that behind and it's for a for basically is serving static wrapped as it's from and from the caching and then just the reverse proxy in the circuit connections to crossfire but I would say we present we ourselves we just landplane prosper so there's a web server and we've done benchmarking like it it scales on 40 cost to 600 thousand web requests per 2nd can suffer more than 10 per 2nd it a response traffic so we don't have a need for instance if you like Facebook probably yes and then you need an express so energy will be faster and the purity servings that it represents about 4 or more use cases you don't need a production study in which the set of so thank you and me I still on your website that I'm you and so we only your website and I have the lead which I he seems not to work now uh but you have a lot of projects with the cross in an embedded environment something this what was the Internet of Things industry for on 0 it's the most important user base or uses for for us because that's a big wave coming and there you have inherently distributed applications if you if you're writing like like already planner you can sue decide if it's a model of sorts of it's Simitis is ever because in the end it will run in the data center only there but if you have in the Internet of Things applications different locations moving vehicles uh status and the back and mobile devices and whatever and that's inherently already distributed so there is in the choice between monolith and so this is because it's inherently from distribution already uh and why we have a lot of feedback uptake in in the Internet of Things so we uses of crossbar II of uh doing it for like I want to make my web user interface real-time that's 1 uses the other 1 says OK i have a run of bitcoin exchange want to have some real time stuff about you the the because the most interesting of far from 1 of you is internet of things so that that's pretty much a focus for us the yeah it is used to people questions that I would invite you to go through the ruins right now or whatever who wrote this guy and ask you questions and then you can if you think you the way how
Reverse Engineering
Statistische Analyse
Natürliche Sprache
Ordnung <Mathematik>
Virtuelle Maschine
Weg <Topologie>
Theoretische Physik
Endogene Variable
Binder <Informatik>
Offene Menge
Wort <Informatik>
Prozess <Physik>
Computerunterstütztes Verfahren
Komplex <Algebra>
Komponente <Software>
Wurzel <Mathematik>
Lineares Funktional
Plot <Graphische Darstellung>
Kommutator <Quantentheorie>
Algorithmische Programmiersprache
Konfiguration <Informatik>
Projektive Ebene
Web Site
App <Programm>
Speicher <Informatik>
Kontinuierliche Integration
Physikalisches System
Kombinatorische Gruppentheorie
Design by Contract
Offene Menge
Umsetzung <Informatik>
Protokoll <Datenverarbeitungssystem>
Diskretes System
Metropolitan area network
Kategorie <Mathematik>
Güte der Anpassung
Mobiles Internet
Dienst <Informatik>
Simulated annealing
Rechter Winkel
Open Source
Parallele Schnittstelle
Demo <Programm>
Protokoll <Datenverarbeitungssystem>
Open Source
Formale Sprache
Kartesische Koordinaten
Einheit <Mathematik>
Web Services
Hook <Programmierung>
Funktion <Mathematik>
Zentrische Streckung
Simulated annealing
Globale Optimierung
Registrierung <Bildverarbeitung>
Parametrische Erregung
Proxy Server
Firefox <Programm>
Gewicht <Mathematik>
Virtuelle Maschine
Interaktives Fernsehen
Gebäude <Mathematik>
Kombinatorische Gruppentheorie
Framework <Informatik>
Zusammenhängender Graph
Algorithmische Programmiersprache
Zusammenhängender Graph
Dämon <Informatik>
Einfache Genauigkeit
Internet der Dinge
Inverser Limes
Keller <Informatik>
Formale Sprache


Formale Metadaten

Titel Scaling Microservices with
Serientitel EuroPython 2016
Teil 150
Anzahl der Teile 169
Autor Oberstein, Tobias
Lizenz CC-Namensnennung - keine kommerzielle Nutzung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben
DOI 10.5446/21232
Herausgeber EuroPython
Erscheinungsjahr 2016
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract Tobias Oberstein - Scaling Microservices with Microservices offer an efficient way to only scale those parts of your application which are performance bottlenecks. We will demo and explain open source tech which allows the easy scaling out across distributed devices. The audience will be able to donate processor cycles from their devices to our demo application (and win a hardware prize). The demo uses [], an open souce application router (written in Python), and all demo code is open source. ----- Microservices offer an efficient way to only scale parts of your applications which are hotspots. Instead of running multiple instances of a monolithic application, with all the complexity and operational run-time overhead that entails, you can scale only the functionality which is a bottleneck. Today that increasingly means scaling out, not up. We will go over open source technologies which allow the easy scaling out across distributed devices. A live demo will allow the audience to participate with its devices (including mobile phones) in an application. (There will be prizes for the donors.) The demo uses [,] an open source router for the open [Web Application Messaging Protocol (WAMP) written in Python. WAMP supports routed Remote Procedure Calls, and uses these to implement various load-balancing strategies across endpoints which register a particular procedure. WAMP has a first-class library for Python ([Autobahn|Python]), but is cross-language, with support for a total of 11 languages. This allows you to implement polyglot and heterogenos microservices applications, from Python to Node.js to C# right into the browser. Microservices can run anywhere, since the outgoing connections to the router which WAMP uses avoid NAT problems. All software used is open source, and all demo code is provided on GitHub under the MIT license.

Zugehöriges Material

Ähnliche Filme