Jak stworzyć system oparty o mikroserwisy Karol Buler

Podobne dokumenty
Analiza mikroserwisów. Warszawa,

OD MONOLITU DO MIKROUSŁUGI MICROSERVICES

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Architektura systemów webowych wysokiej przepustowości. na przykładzie Wikia

Architektura mikroserwisów na platformie Spring IO

Asseco dla Zdrowia r.

Bazy i Systemy Bankowe Sp. z o.o. ul. Kasprzaka 3, Bydgoszcz

Programowanie Zespołowe

HumanTechnology. Projektowanie interakcji. czyli łatanie dziury w procesie produkcji

Spring Framework - wprowadzenie i zagadnienia zaawansowane

Program szkolenia: Zaawansowane programowanie w C++

Celem tego projektu jest stworzenie

Program szkolenia: Wzorce projektowe w C++

Metodyki zwinne wytwarzania oprogramowania

Cleeng Case Study. Klient Cleeng. Branża. Okres realizacji. Zakres usługi: Consulting. Projekt i wdrożenie Chmury AWS. Zarządzanie chmurą

Testowanie oprogramowania

Wprowadzenie 5 Rozdział 1. Lokalna sieć komputerowa 7

Multimedia w telefonach komórkowych MobileTV jako odpowiedź na oczekiwania mobilnego świata"

Schemat 1 - dla twórców, artystów, współpracowników, użytkowników siwiecart.pl

Paweł Rajba

Zintegrowane środowisko informatyczne jako narzędzie modelowania i dynamicznej wizualizacji jakości powietrza. Tomasz Kochanowski

Komunikacja międzysystemowa

Wykorzystanie platformy e-learningowej moodle do szkoleń i zarządzania

Wykład 4. Projektowanie. MIS n Inżynieria oprogramowania Październik 2014

INEA największy regionalny operator telekomunikacyjny w Wielkopolsce

Węzeł Krajowy. Krzysztof Biniek. Zapraszam na prezentację

Strona mobilna i strona responsywna w pozycjonowaniu. Mobile-First Index. Spis treści

Korzyści INTERNET. Uzależnienie Obrażanie

Koncepcja budowy Zintegrowanej Infrastruktury Teleinformatycznej dla Jednostek Kultury pn. Regionalna Platforma Informacyjna Kultura na Mazowszu

Zmiana sposobu dostarczania aplikacji wspierających funkcje państwa

Przełączanie i Trasowanie w Sieciach Komputerowych

Sieci komputerowe - Wstęp do intersieci, protokół IPv4

CI/CD - CO TO? PO CO? JAK?

Paweł Rajba

System dystrybucji treści w interaktywnej telewizji publicznej itvp. Cezary Mazurek Poznańskie Centrum Superkomputerowo-Sieciowe

Sieci komputerowe. Wstęp

Metodyki zwinne wytwarzania oprogramowania

KURS SPRING APLIKACJE WEBOWE

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

Specyfikacja wymagań systemowych (może podlegać edytowaniu na kolejnych etapach)

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014

FAQ: /PL Data: 19/11/2007 Programowanie przez Internet: Przekierowanie portu na SCALANCE S 612 w celu umo

INSTRUKCJA OBSŁUGI USB2.0 TV Tuner. 1. Opis produktu

Nowocześnie zaprojektowana e-usługa - studium przypadku

Wykład VII. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

Video marketing workshop

Program szkolenia: Receptury testowania automatycznego - problemy, strategie, taktyki, techniki, narzędzia

KOŁO NAUKOWE INFORMATYKÓW SYSTEMY KONTROLI WERSJI CZ.1 16 XII 2009 OPRACOWAŁ: PRZEMYSŁAW PARDEL

HomeNetMedia - aplikacja spersonalizowanego dostępu do treści multimedialnych z sieci domowej

INFORMACYJNA ROLA STRON WWW I REKLAMY INTERNETOWEJ. Adam Wysocki. Adam Wysocki adam@furia.pl

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Program szkolenia: Symfony, nowoczesny framework PHP

Jak usprawnić tworzenie i zarządzanie stroną na drupalu. Maciej Łukiański

(Pluggable Authentication Modules). Wyjaśnienie technologii.

Multicasty w zaawansowanych usługach Internetu nowej generacji

Telewizja w Internecie: fakty i wyzwania

Wskazówki projektowe. Programowanie Obiektowe Mateusz Cicheński

Ewolucja TV. Personalizacja. Telewizja interaktywna. Konwergencja. WebTV. Treści na żądanie. Komunikacja. Tradycyjna TV

To sposób w jaki użytkownik wchodzi w interakcje z systemem. Środowisko graficzne używa kombinacji graficznych elementów(przyciski, okna, menu) i

Co to jest DVB-T? Jakie są korzyści z DVB-T? Większa liczba kanałów

Ewolucja TV. Personalizacja. Telewizja interaktywna. Konwergencja. WebTV. Treści na Ŝądanie. Komunikacja. Tradycyjna TV

AUMS Digital. aums.asseco.com

Full Stack JavaScript z Angular i Nest. Dni: 5. Opis: Adresaci szkolenia

Dobre praktyki w doborze technologii rozwiązań informatycznych realizujących usługi publiczne

Hikvision ivms

Adres IP

Pilz E-Shop więcej niż zwykłe zakupy w internecie

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki Promotor dr inż. Paweł Figat

Cyfrowy Polsat wprowadza dekoder IPTV z pełną ofertą, który będzie działał w sieciach Plusa, Netii i Orange

5. Praca z klasą. Dodawanie materiałów i plików. Etykieta tematu. Rozdział 5 Praca z klasą

Letnia Akademia SUSE. Implementacja nowych rozwiązań open source wszystko, co musisz wiedzieć!

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 3 AUTOMATYKA

Java Developers Day. Implementacja ESB przy użyciu Mule. ESB Mule Obsługa zamówień DEMO

Dokumentacja kompilacji źródeł aplikacji 1.0

Test-driven development na przykładzie funkcji matematycznej

I. OPIS PRZEDMIOTU ZAMÓWIENIA

Nowe Formy Komunikacji

Telewizja 3G. Awangarda przed telewizorem

Usługi szerokopasmowego dostępu do Internetu

SEMINARIUM Dwie perspektywy w projektowaniu na Responsive Web Design (User experience i webdeveloper)

Feature Driven Development

Katedra Inżynierii Oprogramowania Tematy prac dyplomowych inżynierskich STUDIA NIESTACJONARNE (ZAOCZNE)

Pierwsza w Polsce tematyczna sieć reklamy internetowej. z targetem KOBIETA

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

Over-the-Top czyli jak pokonać problemy technologiczne telewizji w sieci IP ISP

Idealna strona internetowa dla Twojej firmy

K2 XVR-04 K2 XVR-08 K2 XVR-16 K2 XVR-24

EvalCOMIX Przewodnik wprowadzajćy María Soledad Ibarra-Sáiz - Susana Olmos-Migueláñez - Gregorio Rodríguez-Gómez Luty

CHARAKTERYSTYKA ROZWIĄZANIA

1 Implementowanie i konfigurowanie infrastruktury wdraŝania systemu Windows... 1

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Nowoczesne usługi telekomunikacyjne świadczone na szerokopasmowej sieci stacjonarnej. Wrocław,

Budowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer

Wirtualizacja zasobów IPv6 w projekcie IIP

ZAŁOŻENIA TECHNICZNO-TECHNOLOGICZNE SYSTEMU BUDOWANEGO W RAMACH PROJEKTU

System wspomagający organizację konferencji MARBLE PROJECT

Netia Player, czyli co robić, kiedy zwykła telewizja już nie wystarcza. Katarzyna Kuczyńska, Netia Warszawa, 31 stycznia 2012

Transkrypt:

Jak stworzyć system oparty o mikroserwisy 20.12.2017 Karol Buler

O czym będzie? Architektura monolityczna Problemy z monolitem Architektura oparta o mikroserwisy Tworzenie mikroserwisu od zera Przejście z monolitu na mikroserwisy Problemy(?) z mikroserwisami SpringBoot live demo Zuul

To nie jest wszystko jedyne słuszne rozwiązanie

Architektura monolityczna

Serwis idealny SRP Single Responsibility Principle OCP Open/closed principle Zbudowany, wdrożony sam, jeden, niezależny Działa we własnym procesie, sam, jeden, niezależnie Posiada swoje dane, które może zmieniać tylko on sam, jeden, niezależnie Jest lekki, łatwy we wdrożeniu oraz łatwo z niego korzystać

Architektura monolityczna 1 2 3 View

Monolit

Monolit - problemy Skalowanie wielkiego klocka Wszystko działa w jednym procesie, jest ciężkie, długo się buduje. Tracimy dużo czasu, żeby przetestować mały fragment implementacji. Nawet dzieląc wszystko na logiczne części i tak znajdzie się ninja, który dobierze się do nieswojego zasobu. Najczęściej system zastany (legacy), archaiczną wiedzę o nim posiadają tylko nieliczni wodzowie plemienia Starszych Programistów

Monolit - nietykalny

Monolit a serwis idealny SRP Single Responsibility Principle OCP Open/closed principle Zbudowany, wdrożony sam, jeden, niezależny Działa we własnym procesie, sam, jeden, niezależnie Posiada swoje dane, które może zmieniać tylko on sam, jeden, niezależnie Jest lekki, łatwy we wdrożeniu oraz łatwo z niego korzystać

Mikroserwisy

Mikroserwisy 1 2 3 View

Mikroserwisy 1 2 3 View

Mikroserwisy 1 1 2 3 View

Mikroserwisy 1 1 2 3 2 View

Mikroserwisy 1 1 2 3 2 View 3

Mikroserwisy 1 1 2 3 2 View 3

Mikroserwisy 1 1 2 3 2 View 3

Problemy monolitu a mikroserwisy Skalowanie wielkiego klocka Wszystko działa w jednym procesie, jest ciężkie, długo się buduje. Tracimy dużo czasu, żeby przetestować mały fragment implementacji. Nawet dzieląc wszystko na logiczne części i tak znajdzie się ninja, który dobierze się do nieswojego zasobu. Najczęściej system zastany (legacy), archaiczną wiedzę o nim posiadają tylko nieliczni wodzowie plemienia Starszych Programistów

(Mikro)Serwis idealny SRP Single Responsibility Principle OCP Open/closed principle Zbudowany, wdrożony sam, jeden, niezależny Działa we własnym procesie, sam, jeden, niezależnie Posiada swoje dane, które może zmieniać tylko on sam, jeden, niezależnie Jest lekki, łatwy we wdrożeniu oraz łatwo z niego korzystać

Mikroserwis od zera

Koncepcja Duży problem biznesowy

Koncepcja Mały problem biznesowy Mały problem biznesowy Mały problem biznesowy Mały problem biznesowy Mały problem biznesowy Mały problem biznesowy

Koncepcja 1 Mały problem biznesowy Mały problem biznesowy 2 Mały problem biznesowy Mały problem biznesowy 3 Mały problem biznesowy Mały problem biznesowy

Koncepcja 1 4 Mały problem biznesowy Mały problem biznesowy 2 Mały problem biznesowy Mały problem biznesowy 5 3 Mały problem biznesowy Mały problem biznesowy 6

Koncepcja 1 4 Mały problem biznesowy Mały problem biznesowy 2 Mały problem biznesowy Mały problem biznesowy 5 3 Mały problem biznesowy Mały problem biznesowy 6

Dzielenie problemu Opis systemu IPTV (Internet Protocol Television): Użytkownik ma możliwość oglądania telewizji udostępnianej poprzez sieć szerokopasmową obsługującą protokół IP. W trakcie oglądania telewizji użytkownik może przeglądać EPG (Electronic Program Guide) oraz katalogi VoD (Video on Demand), ustawiać przypomnienia na konkretne Programy, kupować wybrane filmy lub dodawać je do listy ulubionych. Programy również mogą zostać dodane do listy ulubionych.

Dzielenie problemu Opis systemu IPTV (Internet Protocol Television): Użytkownik ma możliwość oglądania telewizji udostępnianej poprzez sieć szerokopasmową obsługującą protokół IP. W trakcie oglądania telewizji użytkownik może przeglądać EPG (Electronic Program Guide) oraz katalogi VoD (Video on Demand), ustawiać przypomnienia na konkretne Programy, kupować wybrane filmy lub dodawać je do listy ulubionych. Programy również mogą zostać dodane do listy ulubionych.

Dzielenie problemu Opis systemu IPTV (Internet Protocol Television): Użytkownik ma możliwość oglądania telewizji udostępnianej poprzez sieć szerokopasmową obsługującą protokół IP. W trakcie oglądania telewizji użytkownik może przeglądać EPG (Electronic Program Guide) oraz katalogi VoD (Video on Demand), ustawiać przypomnienia na konkretne Programy, kupować wybrane filmy lub dodawać je do listy ulubionych. Programy również mogą zostać dodane do listy ulubionych.

Dzielenie problemu Opis systemu IPTV (Internet Protocol Television): Użytkownik ma możliwość oglądania telewizji udostępnianej poprzez sieć szerokopasmową obsługującą protokół IP. W trakcie oglądania telewizji użytkownik może przeglądać EPG (Electronic Program Guide) oraz katalogi VoD (Video on Demand), ustawiać przypomnienia na konkretne Programy, kupować wybrane filmy lub dodawać je do listy ulubionych. Programy również mogą zostać dodane do listy ulubionych.

Dzielenie problemu Opis systemu IPTV (Internet Protocol Television): Użytkownik ma możliwość oglądania telewizji udostępnianej poprzez sieć szerokopasmową obsługującą protokół IP. W trakcie oglądania telewizji użytkownik może przeglądać EPG (Electronic Program Guide) oraz katalogi VoD (Video on Demand), ustawiać przypomnienia na konkretne Programy, kupować wybrane filmy lub dodawać je do listy ulubionych. Programy również mogą zostać dodane do listy ulubionych.

Dzielenie problemu Opis systemu IPTV (Internet Protocol Television): Użytkownik ma możliwość oglądania telewizji udostępnianej poprzez sieć szerokopasmową obsługującą protokół IP. W trakcie oglądania telewizji użytkownik może przeglądać EPG (Electronic Program Guide) oraz katalogi VoD (Video on Demand), ustawiać przypomnienia na konkretne Programy, kupować wybrane filmy lub dodawać je do listy ulubionych. Programy również mogą zostać dodane do listy ulubionych.

Dzielenie problemu Opis systemu IPTV (Internet Protocol Television): Użytkownik ma możliwość oglądania telewizji udostępnianej poprzez sieć szerokopasmową obsługującą protokół IP. W trakcie oglądania telewizji użytkownik może przeglądać EPG (Electronic Program Guide) oraz katalogi VoD (Video on Demand), ustawiać przypomnienia na konkretne Programy, kupować wybrane filmy lub dodawać je do listy ulubionych. Programy również mogą zostać dodane do listy ulubionych.

Dzielenie problemu Opis systemu IPTV (Internet Protocol Television): Użytkownik ma możliwość oglądania telewizji udostępnianej poprzez sieć szerokopasmową obsługującą protokół IP. W trakcie oglądania telewizji użytkownik może przeglądać EPG (Electronic Program Guide) oraz katalogi VoD (Video on Demand), ustawiać przypomnienia na konkretne Programy, kupować wybrane filmy lub dodawać je do listy ulubionych. Programy również mogą zostać dodane do listy ulubionych.

Mikroserwisy z monolitu

Why??? How???

Monolit -> Mikroserwisy (powolutku) 1 2 3 View

Monolit -> Mikroserwisy (powolutku) 1 2 3 View

Monolit -> Mikroserwisy (powolutku) 1 2 3 View 1

Monolit -> Mikroserwisy (powolutku) 1 2 3 View 1

Monolit -> Mikroserwisy (powolutku) 1 2 3 View 1

Monolit -> Mikroserwisy (powolutku) 1 2 3 View 1

Problemy?

Problemy(?) z mikroserwisami 1. Deployment całego systemu 2. Testowanie 3. (teoretycznie) znalezienie błędu w systemie 4. Development a zależności między modułami

Problemy(?) z mikroserwisami 1. Deployment całego systemu 2. Testowanie 3. (teoretycznie) znalezienie błędu w systemie 4. Development a zależności między modułami 1. Docker + docker compose 2. Testy integracyjne (spring integration tests) 3. Zipkin 4. Docker + docker compose

SpringBoot

SpringBoot?

Zuul Gateway

Zuul Gateway zuul: routes: users: path: /users/** url: http://users.adbglobal.com/api epg: path: /epg/** url: http://epg.adbglobal.com/api vod: path: /vod/** url: http://vod.adbglobal.com/api

Zuul Gateway zuul: routes: users: path: /users/** url: http://users.adbglobal.com/api epg: path: /epg/** url: http://epg.adbglobal.com/api vod: path: /vod/** url: http://vod.adbglobal.com/api

Zuul Gateway zuul: routes: users: path: /users/** url: http://users.adbglobal.com/api epg: path: /epg/** url: http://epg.adbglobal.com/api vod: path: /vod/** url: http://vod.adbglobal.com/api

Dziękuję!