'Pull' and 'Push' Architecture (English Version)
Casper
Information and data 'pulling' and 'pushing'

In this blog I'd like to talk about "Pull" and "Push" Architecture. Funny is that one cannot do without the other to achieve a balanced balance. Just like the tile wisdom states "On the door of success is both pushing and pulling
(Op de deur van succes staat zowel duwen als trekken)".
To elaborate on the subject, I want to provide the two concepts with a daily example. We all know the "Pull" or "pull" from visiting a (traditional) website. You extract information (webpage or data) from a (web) server. The initiative lies with the applicant, you. With a "Push" you can think of the notifications that you receive on a device, such as a telephone. The initiative then lies with the sender, for example a news site (NOS, RTL etc.). An important one is the NL-Alert. This message warns you and is sent from the government (emergency services for example). It becomes a bit more complicated if it is a combination of the two (Pull and Push). It is not for nothing that I used the word "traditional" in the first example. You see more and more often that information is initially "Pulled" from a location and as soon as the connection is there, additional information is "pushed".
In a good modern architecture, you actually see the same thing happening at the top, data (data) is being 'pulsed'. The underlying layer uses (micro) services and the push principle for editable processes and to put the data at strategic locations. You often see this together with a kind of message bus to which micro services are subscribed. You can extend this line to software architecture (within the microservices) "Event-Driven-Development" (EDD).
Okay, why do we need it? Simple. We have more and more complex data at our disposal and we want to extract information from it quickly, preferably tailored to personal wishes, on different platforms
(website, mobile, links, etc.). It is therefore important to group data collections and to facilitate pull requests from those groups. Between the data groups, the data can be updated by means of the "push" principle, for example by (micro) services. These data groups can then be executed redundantly (scalable) depending on the need for availability or speed. This way you prevent the core architecture from getting stuck. Interfaces with big data structures (see also previous blog 'Big Data', https://www.casperotto.nl/en-gb_big_data_strategy) can be made with this and you can gain insights in a more Agile way (see also previous blog 'Business Intelligence' , https://www.casperotto.nl/en-gb_business-intelligence). The ultimate goal is to establish a scalable and flexible concept on which an organization can shape its business strategies. For both now and in the future.
Such a Pull and Push architecture is never really finished, sometimes you have to redefine collections (refractor) in order to maintain or strengthen the power. Good architecture is always on the move; '... There's work to be done ...'.
Casper.
Sources:
A Temporal Analysis of Posting Behavior in Social Media Streams
https://pdfs.semanticscholar.org/b5a3/4d0d75cbc3a8b8cc0e46c880345306f939a0.pdf?_ga=2.261797828.851108803.1576604236-815865708.1576604236
Efficient Monitoring Algorithm for Fast News Alert
http://oak.cs.ucla.edu/~cho/papers/sia-blog.pdf
DCCast: Efficient Point to Multipoint Transfers Across Datacenters
https://www.researchgate.net/publication/316921061_DCCast_Efficient_Point_to_Multipoint_Transfers_Across_Datacenters
Blog

Nu er veel nagedacht wordt over Digitale Transitie rijst de vraag; “ Wat doen we met al die digitale gegevens? ” Waar vroeger de website het eindstation was zijn er anno 2020 betere oplossingen. Waarom je beperken tot een website, of mobiel? “ -- Mobile first -- ” is een veel gehoorde kreet. Ik pleit er voor dat om te bouwen naar “ -- API-first -- ” (API staat voor; Application Programming Interface). Als we de software architectuur verdelen in een voor- en achterkant en we zetten daar een laag tussen die dat allemaal verbindt. We waren immers toch al bezig met het schaalbaar maken van de backend systemen (achterkant) in het kader van de digitale transformatie (Lees ook mijn blog over Digitale Transformatie , https://www.casperotto.nl/digitale_transformatie ). Hoe mooi is het als je een API-laag creëert waarop je alles zou kunnen aansluiten: een website of een mobiele applicatie of een koppeling met een ander platform of ….. wat je maar wil. Je bent flexibel om te doen wat voor jouw bedrijf het beste is. Bijvoorbeeld voor klanten een portaal realiseren waar ze zaken zelf kunnen regelen. Of koppelen met een ander portaal van een partner bedrijf. Ongekende mogelijkheden. Van belang is wel om de digitale transformatie goed door te voeren. Als systemen op een goede manier gekoppeld zijn heb je daar veel profijt van. Belangrijke vraagstukken zul je moeten beantwoorden (onder andere); • Welke delen van de architectuur gedragen real time, welke niet? • Waar leg ik gegevensverzamelingen aan? • Waar moet ik buffers creëren om niet (te) afhankelijk te zijn van andere systemen? • Waar maak ik gebruik van API’s en waar van (micro) services? Belangrijk is om goed het evenwicht in het oog te houden. Net als met alle goede apparaten moeten de componenten in balans zijn. Alleen dan werkt het optimaal samen. Naast het technische is het ook belangrijk dat je een groep met de juiste mensen samen stelt. Met focus op techniek, business en financiën. Multi disciplinair, laat ze samen werken, stel kaders op maar zo min mogelijk doelen. Laat het team dat doen, je kunt de uitkomst toetsen aan de strategie welke je voor ogen hebt. Misschien word je wel verrast met een uitkomst die je niet voor mogelijk had gehouden. Dat geeft je als ondernemer ook een boost, nieuwe terreinen verkennen, nieuwe dingen leren en ontdekken. Iedere disruptieve gebeurtenis, hoe vervelend ook, opent de deur voor nieuwe kansen en oplossingen. Laten we er wat mee doen! Casper. https://www.casperotto.nl/ https://www.casperotto.nl/blog