Schița de curs
Introducere
- Arhitectura sistemelor și a serviciilor, PaaS și design cloud-native
Prezentare generală a Arhitecturii Sistemelor Monolitice
- Rulează întreaga funcționalitate a unei aplicații monolitice într-un singur proces
- Scalabilitate prin replicare pe mai multe servere
- Protocoale utilizate în sistemele monolitice: EAI, CORBA, etc.
Prezentare generală a Web Services
- Arhitectura Orientată pe Servicii (SOA) și Arhitectura Microserviciilor
Arhitectura Orientată pe Servicii (SOA)
- Beneficii și costuri ale SOA
- Succese și eșecuri în implementarea SOA
- Mesagerie și ESB
- Infrastructură și instrumente care sprijină SOA
Cum Implementează Microserviciile Conceptele Web Service
- Fă un lucru și fă-l bine
- DevOps
- Implementare și Livrare Continuă (Integrare Continuă, Proces de Construire Continuă, etc.)
- Protocoale ușoare
Protocoale și Standarde pentru Microservicii
- HTTP, JMS, AMQP, Websockets, JSON, etc.
Framework-uri de Dezvoltare pentru Construirea Microserviciilor
- Framework-uri bazate pe Java (Spring Cloud)
- Framework-uri bazate pe Javascript (Seneca)
Dezaggregarea unei Aplicații Monolitice
- Dezvoltarea aplicațiilor independent implementabile
- Organizarea aplicațiilor microservicii în jurul capacităților de afaceri
- Studiu de caz: Migrarea unei aplicații monolitice la trei microservicii de bază
Configurarea unui Mediu de Dezvoltare Spring Cloud
- Configurarea Docker și Docker Compose
- Setarea variabilelor de mediu
Prezentare generală a Spring Cloud și Spring Boot
- Sub-proiecte Spring Cloud: Config Server & Bus, Eureka, Ribbon, Feign și Hystrix
- Spring Boot
Crearea unei aplicații Spring Boot
Gestionarea centralizată și versionată a configurației cu Spring Cloud Config
Actualizări dinamice ale configurației cu Spring Cloud Bus
Descoperirea serviciilor cu Eureka
Echilibrarea sarcinii cu Ribbon
Aplicarea întrerupătoarelor de circuit cu Hystrix
Clienți REST declarați cu Feign
Lucrul cu API Gateway
Securizarea unei aplicații microservicii
Urmărirea microserviciilor pentru a descoperi latențe
Implementarea Microserviciilor
- Containere (Docker, K8N, LXC, etc...)
- Gestionarea configurației (Ansible, etc...)
- Descoperirea serviciilor
- Monitorizarea și gestionarea microserviciilor
- Infrastructura pentru microservicii
Scalabilitatea în Cloud și Auto Scalabilitatea Microserviciilor
- Redundanță și fail-over pentru microservicii
- Scalabilitatea performanței pentru microservicii
- Auto scalabilitate
- Implementarea microserviciilor pe OpenStack, AWS și alte platforme cloud
Depanarea Problemelor Comune ale Aplicațiilor Distribuite
- Complexitatea ecosistemului
- Performanța rețelei
- Securitate
- Implementare
- Testare
- Nano-servicii
Considerații Finale pentru Construirea Sistemelor Gata pentru Producție
- Facerea sistemului ușor pentru începători
- Facerea sistemului complet pentru a putea servi ca fundație pentru aplicații enterprise
Rezumat și Concluzii
Cerințe
- O înțelegere a ingineriei software și a sistemelor
- Experiență în dezvoltare Java
- Experiență cu Spring Framework
Publicul țintă
- Dezvoltatori Java care doresc să construiască și să implementeze rapid microservicii
- Arhitecți de sisteme care doresc să implementeze o arhitectură de microservicii
Mărturii (3)
Exerciții de practică în EA.
Pawel - Krajowa Szkola Skarbowosci
Curs - UML in Enterprise Architect (workshops)
Tradus de catre o masina
Practicile
Ivan - si
Curs - Spring Cloud for Microservices
Tradus de catre o masina
Bun instructor și proces de instruire
Mateusz Mical - Research and Development Center Bury Sp. z o .o.
Curs - Systems Modeling with SysML and Enterprise Architect (EA)
Tradus de catre o masina