# 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