În 19 Aprilie, am avut ocazia să particip la prima ediție a conferinței The Developers, un nou eveniment dedicat experților din comunitatea IT din Cluj-Napoca. The Developers vine cu un nou format, cu prezentări avansate, creând contextul pentru sesiuni prelungite de întrebări, cu timp alocat din belșug după fiecare prezentare. Evenimentul a inclus trei sesiuni principale care acoperă subiecte cum ar fi: IA, IoT, microservicii, monede digitale și blockchain.
The Developers e un eveniment organizat de Ovidiu Mățan, deja cunoscut pentru contribuția la creșterea și dezvoltarea comunității IT din Cluj-Napoca. Trebuie să menționez de unde provine numele evenimentului, pe lângă audiența evidentă pe care o vizează: în trecut, Ovidiu plănuia să formeze o trupă muzicală împreuna cu câțiva colegi, numită "The Developers", astfel că fiind persoana proactivă pe care o cunoaștem, a cumpărat domeniul www.the-developers.com care așteaptă să găzduiască informații legate de trupă. S-au cufundat prea adânc în programare probabil și nu au mai folosit site-ul, care în final a devenit numele acestui eveniment . Ovidiu, așteptăm și un concert al trupei anul viitor !
Cei trei speakeri au fost: Danny Goh, fondator al Nexus și antreprenor; Peter Lawrey, expert Java, fondator al Chronicle Accelerate; Richard Rodger, autorul cărții "The Tao of Microservices" și fondatorul startupului de evenimente VOXGIG.
Vendorii IoT ca Microsoft, Amazon, IBM, Oracle integrează deja capabilități cu inteligență artificială. Acum când hardware-ul devine tot mai inteligent, permițând detectarea și colectarea de date, inteligența artificială poate genera predicții mult mai rapid decât omul, cu mai puține erori și cu o acuratețe mai fină.
Combinațiile de senzori și machine learning contribuie la migrarea către Intelligent IoT și Intelligent Automation.
Intelligent Automation e un termen recent, similar conceptului IoT, reprezentând un upgrade la robotic automation; IoT necesită intervenție umană, dar inteligența artificială nu necesită intervenție suplimentară.
Avantajele principale ale Intelligent IoT sunt:
evită căderile neplanificate, pentru a putea efectua întreținere predictivă;
creșterea eficienței operaționale permite automatizarea sarcinilor redundante, lăsând timp pentru cele mai creative.
Influențele inteligenței artificiale (IA) și IoT se manifestă în:
Producție. Reducerea facturii de răcire a centrului de date Google cu 40% (adică 5 milioane de dolari pe an) prin optimizarea hardware-ului, prin utilizarea energiei verzi;
Conducerea autonomă. Google, Apple, Uber testează intens acest lucru;
Sănătate. Este un domeniu mai puțin influențat, dar există aplicații care înlocuiesc sarcinile care nu sunt legate de profesie, cum ar fi ajutarea unui pacient să dea un telefon sau să se ridice din pat.
Case inteligente. Dispozitivele construite pentru case inteligente sunt scumpe, greu de înlocuit sau de actualizat. În prezent, accentul se pune pe creșterea eficienței pentru conectarea senzorilor la dispozitivele existente.
Retail. Amazon GO utilizează inteligența artificială și computer vision pentru a scana cumpărătorul.
Îmbunătățirea eficienței în inteligența artificială se poate face prin lucrul cu date care au fost deja colectate, dar neutilizate sau idle, pentru a transforma datele nestructurate în date structurate valoroase, de exemplu date din documente pdf, senzori (drone, conducere autonomă, roboți), imagini și înregistrări video. Analiza umană asupra acestui tip de date nu poate fi la fel de eficientă ca aceea efectuată de inteligența artificială, deoarece este de obicei efectuată de începători, care nu au experiența necesară pentru a efectua o analiză cât mai exactă.
Avantaje comerciale la utilizarea inteligenței artificiale în IoT se pot obține prin:
Miniaturizare, pentru a deveni mai rapid, mai accesibil, ușor de implementat;
Îmbunătățirea acurateței, prin învățarea continuă ;
AIX este o platformă de execuție a inteligenței artificiale care permite gestionarea, adăugarea și eliminarea aplicațiilor sau modelelor cu IA într-un hibrid. Acesta este singurul container IA care permite adoptarea și administrarea în mod sigur a unei o game largi de aplicații cu IA, atât on premise, cât și în cloud. Funcționează ca Docker pentru IA. AIX face IA ușor de colaborat cu organizațiile prin rezolvarea a trei probleme importante: securitate (prin evitarea stocării datelor în cloud, date sunt stocate on premise), scalabilitate și flexibilitate.
Soluția de implementare IoT se bazează pe grafică extrasă dintr-un număr de camere de luat vederi. Semantica este prelucrată on premise edge device prin agregarea și analizarea intrărilor și este apoi folosită pentru modelele de instruire pentru extragerea de noi semantici într-un mod rapid și precis.
În procesul de extragere a datelor este importantă înțelegerea datelor, dar și crearea de acțiuni, analiza comportamentală fiind cheia procesului. Dispozitivele hardware folosite sunt senzorul RGB, senzorul RF și IR sau senzorul de adâncime.
Câteva cazuri de utilizare a IA cu camerele de luat vederi implementate deja de AIX sunt: aplicația pentru detectarea bătăilor pe cameră; aplicația pentru detectarea căderii pe suprafață alunecoasă; aplicația pentru numărarea persoanelor. O aplicație care numără persoanele poate fi utilizată pentru a crea un heatmap pentru alocarea resurselor sau pentru a stabili prețuri diferite pentru reclamele din zonele mai aglomerate.
Hardware-ul este upgradabil dar scump, dificil de implementat, cu costuri mari de energie. Viitorul inteligenței artificiale ar trebui să vizeze:
Mai puține întreruperi;
Colaborare;
Server on-premise ;
Securitate;
Miniaturizare;
Peter Lawrey este expertul Java care a fondat Chronicle Accelerate, un framework open source Java care expune XCL - o monedă digitală de înaltă performanță, cu risc scăzut.
Monede digitale de pe piață de actualitate sunt:
Bitcoin (BTC, XBC) - tokenurile sunt minate, recompensa a scăzut exponențial. Taxele de tranzacție sunt menite să înlocuiască recompensele blocurilor.
Ethereum (ETH); noile tokens se reduc dramatic în timp. Are o rată a inflației pe termen lung.
IOTA, MIOTA - toate monedele sunt prealocate, 27 \^15 IOTA, de obicei exprimate ca MIOTA (milion de IOTA), numărul de monede este mult mai mare, deoarece unitatea este diferită. Este similară cu Bitcoin.
VisaNet suporta 150 mil de tranzacții /zi, ceea ce înseamnă o medie de 1740 tranzacții /secundă, dar e capabil să depășească 24.000 de tranzacții pe secundă. Ethereum și Bitcoin au 3-7 tranzacții / secundă, în timp ce Ripple și Hyperledger suportă 500 -1500 tranzacții / secundă.
Chronical Accelerate este un framework conceput pentru aplicații distribuite de înaltă performanță care se pot scala la zeci de milioane de tranzacții pe secundă. XCL utilizează federated model, lansând lanțuri concurente și utilizează IA pentru schimburi gestionate pentru a reduce volatilitatea. Chronical Accelerate are mai multe monede stabile, însă moneda intrinsecă este XCL. 20% din monezi sunt pre-alocate pentru early adopters, 40% sunt vândute în ICO, iar celelalte 40% sunt rezervate pentru reducerea volatilității pieței. Pentru integrarea tradițională pe piață se utilizează protocolul FIX, un protocol tip text, care nu este foarte prietenos, dar este cel mai folosit. Lanțul de blocuri creat de Chronical Accelerate constă în noduri de tip:
Single-server: i7-7820X, 8 core, 32 GB, poate dezlănțui 480,000 tranzacții/secundă, susținut 52,000 tranzacții/secundă.
XCL reduce consumul de energie utilizând C-like Java, assembly sign/verify și optimizând hardware-ul. Folosește core pentru viteză și gateway pentru integrare. Mare parte din CPU work e în assembly și C, iar codul este în Java. Toate nodurile rulează simultan, trimițând date către toate nodurile. Toate nodurile produc blocuri, dar nici una dintre ele nu este master. Prin comparație cu Bitcoin devine mai lent cu doar 5-200 noduri per sub-lanț, fiecare nod trebuie validat după un punct. Folosind un registru distribuit se obține un avantaj comercial pentru că adaugă încredere întregului cluster. Când rulează noduri de încredere, nu e nevoie de overhead pentru semnături. Blockchain asigură protecția împotriva fraudei: fiecare mesaj este semnat ca o modalitate pe care numai titularul cheii private o poate crea. Acest lucru poate fi verificat utilizând cheia publică.
Nodurile urmează periodic un protocol de consens care are trei faze:
periodic se lansează "bârfe" despre ceea ce a fost reprodus;
nodurile votează ce bloc poate fi inclus într-o rundă;
Chronicale accelarate folosește runde pentru a obține un consens care adaugă întârziere și blochează creșterea numărului de tranzacții în fiecare rundă. Optimizarea se obține prin dozarea în blocuri.
Înlocuirea de la blocul de origine funcționează bine la 10 tranzacții / secundă, dar nu este scalabilă, nu e eficientă la 100.000 de tranzacții / secundă, deoarece nodurile nu pot să se ajungă din urmă; se folosesc astfel puncte de control săptămânal. GDPR necesită, de asemenea, capacitatea de a fi uitat.
Cele mai multe tranzacții au loc în aceeași regiune sau într-un număr mic de regiuni, ceea ce devine mai eficient, astfel încât un sharding inteligent poate fi obținut prin localizare: inițial există un lanț, dar este împărțit folosind baza32: de exemplu, în momentul în care un nod este divizat de 10 ori va fi individualizat la nivel de țară.
Tranzacțiile sunt localizate folosind ISO -3166, ceea ce oferă avantajul de a se localiza într-un singur sub-lanț. Pot exista peste 4000 de regiuni / sub-lanțuri.
Planul pe anul acesta pentru Chronicle accelerate include un prototip de lucru, o creștere a capacității de producție la 500K / secundă / sub-lanț și utilizarea PRE-ICO și ulterior ICO. Extinderea platformei este în desfășurare, în Java, și poate fi realizată cu sub-lanțuri.
În prezentarea sa, Richard Rogers a expus un caz foarte interesant despre arhitectura microserviciilor și avantajele compoziției, amintind algebra romană:
"Î: - Cum efectuau romanii diviziunea numerelor romane?
R: - Nu efectuau diviziunea! Ei foloseau principiul de multiplicare prin deplasarea biților și apoi aproximau rezultatele. "
Practic, o algebră presupune "un tip anume ca date de intrare și obținerea aceluiași tip după un set de operații". De exemplu, operațiuni CRUD pe baze de date, în care se utilizează ca input o bază de date și după efectuarea operațiilor se obține în continuare tot o bază de date ca rezultat; Kubernetes este un proces de control compus.
Compoziția este un avantaj puternic deoarece "poți construi lucruri mari din compunerea lucrurilor mici".
Microserviciile sunt compuse în mod natural atunci când o algebră este definită. Avem nevoie de lucruri al căror tip poate fi combinat, totuși identitatea lor poate fi diferită. Necesitatea de a identifica componente unele față de celelalte nu este recomandată deoarece:
se pierde posibilitatea de a le interschimba;
ele necesită configurare statică;
O interfață componentă cu multe dimensiuni nu este, de asemenea, recomandată, deoarece duce la explozie combinatorică.
O arhitectură de microserviciu poate fi reprezentată ca model de componente dacă se elimina nevoia de identitate și se utilizează mesaje schema-free. Exemple care nu pot fi compuse sunt serverele mici sau topic based message bus.
Putem implementa un microserviciu în calitate de component model, dacă avem două proprietăți:
Independență transparentă (elimină identitatea) și
În acest fel, se poate scala un sistem fără a crea efectiv scalabilitate, deoarece acest lucru se realizează deja prin compoziție. Suntem obișnuiți să ne concentrăm prea mult pe generalizare și să folosim prea puțin avantajele specializării. De obicei, cerințele proiectului sunt transformate în mesaje care sunt apoi implementate ca servicii. Deci, dacă există o schimbare semnificativă a cerințelor, pentru evitarea datoriei tehnice se poate, mai degrabă, rescrie complet un microserviciu.
Microserviciile care comunică sunt un sistem de componente, un model simplu care oferă capabilitatea de a construi mai rapid sisteme complexe. Conceptual, când un microserviciu primește date , își schimbă starea. Practic, microserviciile sunt operații pe mesaje și este doar o întâmplare ca ele să aibă forma unui microserviciu!
Evenimentul s-a încheiat cu o sesiune de networking la un pahar de vin și demo-uri de la Betfair pentru plasarea pariurilor folosind Alexa. Sper că The Developers va deveni un eveniment popular în următorii câțiva ani, pentru că are potențial. Demo-urile cu caracter tehnic, formatul special al conferinței care permite timp suficient pentru întrebări și nivelul avansat al prezentărilor nu sunt doar surse de inspirație, ci și o sursă reală de învățare de la experții în domeniu, oferind posibilitatea socializării într-un context profesional .