Микросервисне апликације

Циљ и исход предмета

Креирање синхроних и асинхроних микросервиса. Креирање DevOps токова за микросервисе и њихова скалабилна имплементација. Експонирање кластера микросервиса као API. Прихватање основних концепата мискросервисних веб апликација. Практична примена стеченог знања на развој робусне микросервисне апликације коришћењем Spring Boot и Spring Cloud framework-а, Netflix OSS. Паковање апликације у Docker контејнере и дефинисање deployment pipeline-а. Теоријски осврт на оркестрацију микросервиса (Docker Swarm, Kubernetes).

Теоријска настава

Архитектура и особине микросервисних апликација. Кораци у провођењу монолитне у микросервисну архитектуру. Случајеви употребе микросервиса. Развој апликација заснованих на методологији ”12 фактора” (12-factor app) – најбоље праксе за развој одрживих, скалабилних и портабилних апликација. Поређење микросервис архитектура, SOA и архитектура монолитних апликација. Протоколи, парадигме и обрасци на којима се заснивају микросервис архитектуре: комуникација преко HTTP протокола, REST API, декларативни HTTP клијенти, Message Broker, Service Discovery, API Gateway, Circuit Breaker. Различите имплементације микросервиса – доменски оријентисане архитектуре (Data-driven), програмирање вођено догађајима (Event-driven). Управљање дистрибуираним базама података. Агрегирање логова микросервиса и њихово разумевање. Безбедност апликација заснованих на микросервисима. Употреба микросервиса код IoT апликација. Пројектовање IoT посредног слоја (middleware) употребом микросервиса.

Практична настава

DevOps развојна култура и пракса континуиране интеграције и континуираног deployment-a (CI/CD). Упознавање са алатима за праћење верзија кода и апликација (Git, Jenkins). Упознавање са различитим стратегијама тестирања (Unit testing, Integration testing, Canary Testing, A/B testing). Изоловање апликација у Docker контејнере (писање Dockerfile-a, registar Docker image-a), оркестрација контејнера, скалирање микросервисне апликације. Рад са базама података у микросервисној архитектури укључујући релационе и нерелационе базе. Коришћење Hiberante ORM алата за перзистенцију података. Комуникација између микросервиса и коришћење система за размену порука. Развој конкретних микросервиса за одређене примене код IoT.

5791-mikroservisne-aplikacije

sbobet88 slot agb99 situs slot slot777 AMANAHTOTO toto AMANAHTOTO AMANAHTOTO slot SLOT GACOR AMANAHTOTO toto slot88 ASIA200 ASIA200 ASIA200 bayijudy.com situs resmi bayitoto slot gacor popotogel login situs slot eropa99 hoki99 roma77 babe138 roma77