# Automatyzacja rekonfiguracji lokalizacji sieciowej
<img :src="$withBase('/media/service-discovery.png')">
Ułatwiamy odnajdywanie lokalizacji (ang. ```Service Discovery```) sieciowej usług poprzez udostępnienie *Adresów IP* *Zasobów* z użyciem DNS. Rozwiązanie może stanowić podstawę automatycznej rekonfiguracji środowiska, co ułatwia horyzontalne skalowanie infrastruktury.
Budując rozbudowane środowisko powszechne jest wykorzystanie sieci, aby wykorzystać wiele węzłów. Węzły do komunikacji w *Sieci* muszą znać swój *Adres IP*. Gdy jest uruchomiany nowy węzeł to dotychczasowe muszą zostać poinformowane o jego *Adresie IP*, aby rozpocząć z nim komunikację.
W przypadku środowisk, które ulegają częstej zmianie, aby - przykładowo - dostosować się do aktualnego obciążenia oznacza to, że ta rekonfiguracja odbywa się często. Jeżeli jest to proces manualny jest on podatny na błędny i czasochłonny.
Ułatwiamy rekonfiguracje "w locie", aby po utworzeniu nowego węzła usługi reszta sieci mogła go automatycznie znaleźć i rozpocząć z nim komunikację. Proces ten nazywany jest *Odnajdywaniem usług* (ang. *Service Discovery*).
Umożliwiamy identyfikacje *Adresów IP* *Zasobów* z wykorzystaniem protokołu DNS, który umożliwia dynamiczną zmianę nazwy tekstowej na *Adresy IP*. Identyfikacja możliwa jest dla pojedynczych i puli *Zasobów*, które akceptują połączenia sieciowe tj.:
* Wirtualna Maszyna
* Adres IP
* Adapter sieciowy
* Vault
* Dziennik
* Strona
* Baza danych
* Kontener
W celu ustalenia *Adresu IP* dla jednostkowego *Zasobu* wystarczy wykorzystanie według wzorca ```{id_zasobu}.{typ_zasobu}.{identyfikator_regionu}.hyperone.cloud```. Jest on także dostępny w *Panelu Zarządzana* w szczegółach właściwych *Zasobow* jako *Adres dostępowy*.
Przykładowo, identyfikator ```5cd16b4341486992c824b745.vm.pl-waw-1.hyperone.cloud``` umożliwia połączenie do *Wirtualnej Maszyny* o identyfikatorze ```5cd16b4341486992c824b745``` w regionie ```pl-waw-1```.
W celu ustalenia *Adresu IP* dla puli *Zasobów* wystarczy wykorzystanie *Adresu dostępowego* według wzorca ```{nazwa_zasobu}-{id_projektu}.{typ_zasobu}.{identyfikator_regionu}.hyperone.cloud```.
Przykładowo, w przypadku utworzenia dwóch *Kontenerów* w projekcie o identyfikatorze ```5cd2bd5dc7b8b31d52d8ab43``` w regionie ```pl-waw-1``` o nazwie ```app-www``` możliwe jest odnalezienie ich poprzez adres ```app-www-5cd2bd5dc7b8b31d52d8ab43.container.pl-waw-1.hyperone.cloud```. Wykorzystanie tego adresu sprawia, że usunięcie lub utworzenie kolejnego *Kontenera* o nazwie ```app-www``` nie będzie wymagało rekonfiguracji usług, aby rozpocząć komunikacje. Współpracujące węzły będą mogły same zaobserwować zmianę dostępnych węzłów.
Rozwiązanie stanowi duże uproszczenie np. podczas wdrożenia nowej wersji, albo zwiększenia liczby węzłów. W niektórych środowiskach może całkowicie wyeliminować konieczność manualnej konfiguracji po utworzenia nowych *Usług*, co ogranicza koszty zarządzania i zwiększa sprawność adaptacji do zmian. Rozwiązanie jest dostępne bez dodatkowych opłat i konfiguracji dla wszystkich *Projektów*.
Adam Dobrawy - Warszawa, 3 lipca 2019 roku