Wprowadzenie do automatyzacji zadań administracyjnych z użyciem System Center Orchestrator 2012

Udostępnij na: Facebook

Autor: Kamil Skalski

Opublikowano: 2011-06-29

Dynamiczne środowiska informatyczne przedsiębiorstw wymagają koordynacji wielu działań administracyjnych. Automatyzacja zadań pozwala ograniczyć czas oraz nakład pracy administratorów w celu zapewnienia wysokiej jakości i ciągłości dostarczanych usług. W scenariuszu utrzymywania infrastruktury prywatnej chmury, konieczne jest także umożliwienie klientom kontroli nad procesami. Administratorzy, „kupujący” zasoby, w ramach których budują swoje środowiska serwerowe, dzięki wykorzystaniu System Center Orchestrator 2012 (Opalis), otrzymują zdefiniowane procesy, realizujące wymagane akcje, np. kopie zapasowe lub wdrażanie maszyn wirtualnych.

Celem niniejszego artykułu jest:

  • przedstawienie koncepcji opisu zadań administracyjnych w formie obiektów logicznych,
  • omówienie idei automatyzacji podstawowych zadań administracyjnych,
  • określenie zasad łączenia procesów w spójny przepływ danych (podejmowanych akcji).

Wprowadzenie

System Center Orchestrator 2012 (dawniej Opalis) jest narzędziem, które pozwala integrować wszystkie role i produkty, występujące w infrastrukturze informatycznej. Jego podstawowym zadaniem jest łączenie różnych zadań w spójny proces, posiadający kolejność zdarzeń oraz pozwalający na kontrolę przepływu informacji/statusów pomiędzy poszczególnymi akcjami. Kluczowe znaczenie ma integracja akcji oraz monitorowanie ich w jednej spójnej konsoli. Analizując scenariusz wykorzystania w środowisku prywatnej chmury, pozwala on także uprościć delegację zadań administracyjnych do klientów. Administratorzy centrów danych mogą ustandaryzować podejmowane akcje oraz zapewnić ich zgodność z najlepszymi praktykami organizacji. Przykładem, obrazującym ideę użycia Orchestratora w środowisku wirtualnym, jest aktualizacja hostów, które pracują w wysokodostępnym klastrze:

  • administrator zleca aktualizację systemów operacyjnych hostów,
  • maszyny wirtualne pierwszego węzła są migrowane do pozostałych,
  • system Center Operations Manager zmienia status hosta do trybu maintenance,
  • system Center Configurations Manager wysyła paczkę z aktualizacjami,
  • zlecany jest restart aktualizowanego hosta,
  • skrypt weryfikuje poprawność konfiguracji,
  • status hosta w Operations Manager zostaje zaktualizowany,
  • maszyny wirtualne wracają do pierwotnego właściciela,
  • proces wykonuje analogiczne akcje na pozostałych hostach.

Analizując powyższy przykład można dostrzec złożoność samej operacji oraz mnogość powiązanych ze sobą akcji, koniecznych do jej poprawnego wykonania. Dzięki opisaniu tego procesu, w Orchestratorze sama czynność ograniczy się do zdefiniowania cyklu, w jakim będzie on ponawiany oraz kontroli poprawności – co także da się zdefiniować w projektowanym schemacie akcji (zwracanie statusów, ścieżki alternatywne w przypadku błędu).

Chmura prywatna i Orchestrator

Koncepcja Private Cloud (Prywatnej chmury) zakłada utworzenie dynamicznego centrum danych, wykorzystującego platformę wirtualizacji oraz mechanizmy centralnego zarządzania i monitorowania, które udostępnia swoje zasoby klientom wewnętrznym. Kluczowe stają się w tym rozwiązaniu komponenty automatyzujące procesy (zlecenia) użytkownika oraz możliwość dostarczania środowiska i świadczenia usług, zgodnie z zaplanowanym scenariuszem. Przykładowa implementacja może opierać się na wykorzystaniu kilku komponentów:

  • wirtualizacji (Hyper-V) do utrzymywania infrastruktury klientów (IaaS),
  • zarządzania (System Center Configuration Manager, Virtual Machine Manager),
  • monitoringu (System Center Operation Manager),
  • bezpieczeństwa (Rodzina produktów Forefront, Data Protection Manager),
  • automatyzacji (Self-Service Portal 2.0, Orchestrator).

Użytkownik jednostki biznesowej wykupuje określoną przestrzeń centrum danych za pośrednictwem Self-Service Portal 2.0 – w niej będą utrzymywane wirtualne maszyny klienta. Dodatkowo otrzymuje panel, dostępny w formie aplikacji internetowej, za pośrednictwem którego może także zlecać wykonanie kopii zapasowych lub innego procesu, zdefiniowanego przez administratora – w tym przypadku Orchestrator pozwala na integrację poszczególnych komponentów i opis ciągu zdarzeń.

W celu umożliwienia współpracy poszczególnych produktów lub usług z Orchestratorem, konieczne jest dodanie paczki wiedzy, zwanej dalej Integration Pack (IP). Zawierają one zdefiniowane komponenty akcji, przy ich zastosowaniu odbywa się później definicja przebiegu procesów. Przykładowo, dodanie IP dla System Center Virtual Machine Manager 2008 R2 SP1 pozwala na definiowanie akcji, podejmowanych na wirtualnych maszynach. Drugą możliwością, wykorzystywaną w przypadku braku gotowej paczki lub specyficznych wymogów, jest opisanie akcji, za pomocą skryptów, jako odrębny blok lub utworzenie własnego Integration Pack.

Rys. 1. Integration Pack.

W architekturze Orchestratora można wyróżnić dwa rodzaje komponentów: komponenty zarządzania i wykonywania oraz projektowania i testowania. Administrator tworzy przebieg procesu w narzędziu Runbook Designer, wykorzystując obiekty Integration Pack lub własne skrypty. Proces może podlegać testowaniu z wykorzystaniem Runbook Tester, a następnie zostać opublikowany do Management Server. Serwer zarządzający przesyła projekt do Runbook Server, który jest odpowiedzialny za kontakt z produktami/usługami i wydawanie poleceń, dotyczących podjęcia akcji. Ostatnim elementem jest Web Service, będący rodzajem portalu webowego, pozwalający na monitorowanie i podejmowanie akcji na utworzonych projektach.

Realizacja zadań

Przyjrzyjmy się typowemu zadaniu administracyjnemu, polegającemu na utworzeniu migawek (snapshot) maszyn wirtualnych, które ma odbywać się każdego dnia o godzinie 23:59 czyli poza godzinami pracy administratorów. W standardowym podejściu, by zrealizować to zadanie, administrator mógłby połączyć się z VPN o wyznaczonej godzinie i ręcznie zainicjować zadanie. Kolejną metodą mogłoby być wykorzystanie zaplanowanych zadań oraz skryptu PowerShell, który uruchomiłby się automatycznie o wyznaczonej godzinie. Wykorzystując System Center Orchestrator, można także osiągnąć ten cel bez konieczności pisania skryptów, pilnowania godzin wykonania, dodatkowo otrzymując znacznie większe możliwości monitorowania zleconych zadań.

Pierwszą czynnością jest zdefiniowanie nowego projektu z określonym kalendarzem wykonania – codziennie o godzinie 23:59. Kolejną czynnością jest wybranie komponentów Integration Pack dla System Center Virtual Machine Managera, koniecznych do wykonania akcji. Niech pierwszy komponent (Get VM) pobierze informacje o wirtualnych maszynach, utrzymywanych w środowisku. Do kolejnego komponentu mają zostać przekazane jedynie informacje o maszynach, których nazwa rozpoczyna się od „PROD”. Kolejny komponent Create Checkpoint zleca wykonanie snapshota dla każdej maszyny, przekazanej przez komponent Get VM, po zakończeniu zostanie zapisane odpowiednie zdarzenie w dzienniku systemowym.

Rys. 2. Runbook – przykład 1.

W celu określenia kolejności wykonywania akcji oraz umożliwienia przekazywania wyników (parametrów) od poprzednika, każdy komponent posiada swoje wejście jak i wyjście. Określenie kolejności akcji odbywa się za pomocą połączenia (link) poprzednika z następującym zadaniem, domyślnie przekazywana jest jedynie informacja sukces/porażka czyli wynik wykonania akcji. Rozpatrywany przypadek wymaga jednak przesłania listy parametrów wejściowych (nazw maszyn wirtualnych) – jest to możliwe poprzez edycję połączenia (link) i wybór odpowiednich atrybutów.

Analizując możliwości Orchestratora pod kontem wykonywania zadań, należy uwzględnić możliwość realizacji zadań warunkowych oraz określania czasu startu. Rys. 3. przedstawia przykładowy przebieg, wykonywany co siedem dni, którego zadaniem jest znalezienie snapshotów wirtualnej maszyny, starszych niż dwa tygodnie. Jeśli warunek zostanie spełniony, nieaktualne snapshoty zostaną usunięte.

Rys. 3. Runbook – przykład 2.

Administratorzy mogą zdecydować się na tworzenie prostych projektów, obsługujących pojedyncze zadania, jak i budować złożone przebiegi, obejmujące swoim działaniem całe środowisko. Konieczne jest zaplanowanie kolejności wykonania zadań oraz warunków ich wystąpienia w sposób ograniczający możliwość wystąpienia konfliktów lub blokad obiektów infrastruktury.

Podsumowanie

System Center Orchestrator jest komponentem scalającym całą infrastrukturę informatyczną, pozwalając na jej automatyzację, jednocześnie zwiększając dynamikę procesów administracyjnych. Rozwiązania chmurowe, w perspektywie przedsiębiorstwa, są dużymi centrami danych, posiadających dość skomplikowane wymagania w poszczególnych działach. Jedną z metod dostarczenia najlepszych praktyk oraz przekazania kontroli administratorom jednostek jest wykorzystanie Orchestratora. Podobne zadania można także wykonać poprzez tworzenie wyspecjalizowanych skryptów, jednak jest to znacznie bardziej skomplikowane i pracochłonne.