Arhitectura bazata pe microservicii

Arhitectura bazata pe microservicii

O introducere in conceptele de baza ale arhitecturii bazata pe microservicii (microservices arhictecture sau MSA). In cadrul cursului ne concentram pe notiunea de MSA alaturi de ale metode „mai traditionale” de a dezvolta sisteme. Vom discuta si despre microservice architecture patterns precum si provocari legate de implementarea MSA sau metode de a asigura un nivel ridicat de performanta.
Cod: ARC-015
Durata: 24 ore

Descriere

Microservice architecture (MSA) a devenit recent una dintre cele mai populare abordari in arhitectura software, in mare parte datorita multitudinii de beneficii pe care le aduce la fiecare stadiu al product life cycle. Mai exact, MSA iti permite imbunatatirea timpului de reactie atunci cand vine vorba de cerintele de business.

Insa, in proiectele care folosesc microservices arhictecture, arhitectii software pot intampina diferite provocari care de multe ori ii pot forta pe cei care se afla la inceput de cariera sa faca un roll back. Cateva dintre aceste provocari sunt:

  • Erori la nivel de decomposition care pot sa faca procesul de dezvoltare mult mai dificil
  • Scaderi potentiale de performanta datorita intarzierilor din retea
  • Data storage distribuit care pot sa nu ne lase sa folosim transactional consistency
  • Un numar mare de componente care comunica in retea si care pot sa reduca gradul de fiabilitate al sistemului
  • Dificultati in ceea ce priveste securitatea

Ca sa nu mai vorbim de faptul ca testarea si mentenanta unui sistem distribuit necesita eforturi suplimentare. Acest training te ajuta sa intelegi avantajele si dezavantajele arhitecturii bazate pe microservicii pentru a putea sa decizi daca un proiect MSA este fezabil in functie de nevoile de business si capacitatile echipei.

In cadrul acestui curs abordam provocarile principale care apar in implementarea microservices architecture si iti oferim strategii, mecanisme si patterns pentru a le rezolva. Vom discuta si invata despre cele mai populare instrumente folosite in arhitectura bazata pe microservicii (Kubernetes, Istio, Histryx, Kibana, si altele).

Subiecte curs

Stiluri arhitecturale
  • Notiunea de monolit, SOA, MSA
  • Comparatie si selectie

MSA decomposition patterns
  • Optimal microservice size
  • Impartirea in servicii pe baza de business capabilities
  • Impartirea in servicii pe baza de problem domains
  • Domain identification practices
  • Decomposition in functie de aspectele tehnice si organizationale

Cum organizam procesul de software development pentru MSA
  • Organizarea echipei pentru MSA
  • Organizarea code repository pentru MSA

Integrarea microserviciilor
  • Patterns de comunicare
  • Mecanisme de comunicare sincrona si asincrona
  • Orchestrare si coreografie
  • Principalele protocoale si tehnologii (REST, gRPC, GraphQL, Kafka, RabbitMQ, etc.)
  • Comunicarea cu sistemele externe (API Gateway, BFF)
  • Sisteme reactive
  • Arhitecturi event-driven
  • Command query segregation

Managementul datelor in MSA
  • Data handling patterns
  • Event sourcing
  • Reference data in MSA
  • Single source of truth in MSA

Principalele patterns MSA
  • Modifiability. High coupling problem resolution. Versioning of interfaces & events. Types of contracts. Changing event model. Query organization patterns. Microservice chassis. Service mesh
  • Scalability. Load balancers patterns. Discovery services & patterns
  • Performance. Performance patterns in MSA (Bulkheads, Graceful Degradation, etc.)
  • Consistency. Consistency problems in MSA. CAP theorem. Solving consistency problems. Two-phase commits. SAGA Pattern. Decreasing the consistency level
  • Reliability. Fault tolerance mechanisms. Circuit Breaker, Throttling, Dependent Timeouts, si alte patterns
  • Security. Security mechanisms in MSA. Authentication. Authorization. Perimeter defense. Communication channel defense. Main protocols and patterns (OAUTH2, JWT, Gatekeeper, Valet Key, etc.)
  • Testability. Testing pyramid & quadrant. Specifics of microservice testing. Unit testing. Integration testing. Component testing. E2E testing. MSA testing patterns.
  • Ease of maintenance. Observability. Observation patterns (distributed tracing, log aggregation, etc.). Monitoring & logging. Microservice configuration. Configuration externalizing. System support
  • Microservice deployment. Deployment pipeline pattern. Deployment patterns. Folosire Docker & Kubernetes. Utilizarea ISTIO mesh. Serverless deployment. Deployment strategies (blue-green, canary, etc.)
  • Strategii migrare de la monolith la MSA. Strategii de a face shift de la monolith la microservices. Strangler monolith. Strangle patterns. Microservice link to monolith. Migrarea bazei de date

Obiective

  • Oferirea unei priviri de ansamblu asupra arhitecturii bazat pe microservicii si legatura sa cu alte arhitecturi de sistem
  • Oferirea unei prezentari detaliate legata de designul sistemelor MSA
  • Practica in designul sistemelor MSA
  • Prezentare celor mai populare patterns de arhitectura bazata pe microservices

Public tinta

  • Arhitecti software
  • Profesionisti DevOps
  • Lead Developers
  • Development Managers

Cerinte curs

  • Experienta in software development
  • Experienta in dezvoltare de arhitectura software sau participarea la cursul de arhitectura software
  • Cunostinte de Domain Driven Design sau participarea la cursul Domain Driven Design

Alege oras Online Pret
Cursul este programat in: Online
22.03.2023 - 29.03.2023
Interval orar: 08:00-12:00
Loc: Online
Durata: 24 ore
Limba: English
Trainer
Dmytro Voloshyn
2 880 RON
Inregistreaza-te pentru urmatorul curs.
+
Inregistrarea la urmatorul curs va asigura prioritatea pe lista de inscriere. Veti fi contactat pentru confirmarea inscrierii in momentul in care urmatorul curs este programat.
22.03.2023 - 29.03.2023
Interval orar: 08:00-12:00
Loc: Online
Durata: 24 ore
Limba: English
Trainer
Dmytro Voloshyn
2 880 RON
Inregistreaza-te pentru urmatorul curs.
+
Inregistrarea la urmatorul curs va asigura prioritatea pe lista de inscriere. Veti fi contactat pentru confirmarea inscrierii in momentul in care urmatorul curs este programat.
Online 2850 RON
Bucuresti 2850 RON
Cracovia 2850 RON
Wroclaw 2850 RON

Facturile pentru curs sunt emise in moneda locala. Toate preturile de mai sus pot fi supuse modificarilor in functie de locul unde se desfasoara trainingul si modul de livrare. Preturile pot fi supuse modificarilor si in perioada in care se programeaza. La preturile afisate se adauga TVA.

Alte cursuri care te-ar putea interesa:
+0+

Inscrie-te!

Alege datele
Prenume*
Nume*
Companie
Adresa email*
Telefon
Observatii
Mai ai intrebari?
Contacteaza-ne.
Thank you.
Your request has been received.