Skrypty w chmurze sposobem na automatyzację zarządzania
Automatyzacja zarządzania usług hostingowych na platformie PaaS
Cloud Scripting na platformie UniCloud prezentujemy jako jedną z metod uproszczenia pracy w chmurach typu PaaS. Jest to narzędzie przeznaczone do automatyzacji powtarzalnych zadań wykonywanych w chmurach. Przeznaczone jest zarówno dla dostawców usług, jak i developerów.
Czym jest Cloud Scripting?
Cloud Scripting jest narzędziem przeznaczonym do automatyzacji powtarzalnych zadań, złożonych przepływów CI/CD oraz konfiguracji klastrów i dostarczania do nich aplikacji. Dystrybucja skryptów wymaga minimalnego czasu i zasobów, łatwo ją wdrożyć w posiadanej infrastrukturze. Dzięki szybkości aktualizacji szablonów zyskuje się również na czasie potrzebnym na zarządzanie aktualizacjami oprogramowania oraz uzyskuje się dostępność wdrożeń na różnych platformach hostingowych.
CS opiera się o trzy główne filary [1]:
- Działania (oskryptowana logika wykonywania zestawów poleceń do automatyzacji zadań),
- Zdarzenia (specyficzne wyzwalacze do wykonywania czynności takich jak: uruchamianie aplikacji, skalowanie, aktualizacje i inne),
- Wstrzyknięcia (dostarczanie domyślnych akcji, zmiennych środowiskowych, symboli zastępczych, metod API, parametrów żądań i ustawień wejściowych w niestandardowych skryptach).
Przygotowane rozwiązania do tworzenia skryptów w chmurze są pakowane w pakiety i rozpowszechniane w standardzie JPS. Następuje to poprzez przygotowanie pliku manifestu w formacie JSON lub YAML [2] (Rysunek1). Tak przygotowane rozwiązanie można wdrożyć za pomocą funkcji importu [3] (Rysunek 2).
Rysunek 1: Wygląd edytora JSON online
Rysunek 2: Panel importu platformy UniCloud
Rysunek 3: Import manifestu jps na przykładzie klastra GlassFish
Rysunek 4: Opis konfiguracji środowiska
Rysunek 5: Wysyłanie aplikacji w prekonfigurowanym środowisku na platformę UniCloud
Rysunek 6: Automatyczne dostarczanie autoskalowalnej aplikacji według przygotowanego skryptu
Rysunek 7: Środowisko uruchomione na platformie
Rysunek 8: Panel serwera GlassFish dostarczonego automatycznie w klastrze
Obszary zastosowań
- zapewnienie topologii klastrowanych środowisk
- dostarczenie nowej wersji aplikacji jednym kliknięciem z zerowym czasem przestoju
- scenariusze wdrażania wielu chmur
- automatyzacja skalowania pionowego i poziomego
- wdrożenie złożonych rozwiązań CI/CD
- automatyzacja zarządzania kontenerami Docker
- kontrola dostępności i statusu aplikacji (alerty)
- konfigurowalna integracja z zewnętrznymi usługami i narzędziami (GitHub, SendGrid, cPanel, itd)
- automatyzacja replikacji i backupu danych, również pod kątem wdrożenia disaster recovery
Korzyści dla dostawców usług
Cloud Scripting przekształca dostępną infrastrukturę i wiedzę ekspercką w zautomatyzowane usługi hostingowe, zapewniając klientom wstępnie skonfigurowane aplikacje, co pozwala oszczędzać nakłady na zarządzanie powtarzającymi się zadaniami.
Dostawcy usług mogą zautomatyzować dostarczanie środowisk, wdrażanie aplikacji, tworzenie klastrów, skalowanie, zarządzanie i połączenia między różnymi grupami klientów poprzez przygotowanie skryptów opisujących działanie aplikacji. Stosowanie skryptów w chmurze znacząco skraca czas wdrożenia a co za tym idzie, redukuje koszty. Równocześnie Cloud Scripting umożliwia rozszerzenie funkcjonalności samej platformy UniCloud poprzez integrację z usługami firm zewnętrznych (SSL, CDN, DDoS Protection itd.) oraz narzędziami chmurowymi (GitHub, New Relic, SendGrid, Plesk, cPanel, Galera Cluster i inne), przy wykorzystaniu zewnętrznych interfejsów API i skryptów niestandardowych.
Użycie skryptów pozwala odciążyć użytkowników końcowych od zadań związanych z konfiguracją infrastruktury i wykonywaniem rutynowych, powtarzalnych zadań. Dzięki temu wsparcie użytkowników końcowych staje się prostsze.
Korzyści dla developerów
ISV oraz programiści aplikacji i usług SaaS mogą zwiększyć swój zasięg oddziaływania na rynku oferując swoje rozwiązania w formie paczek wstępnie skonfigurowanych. Aplikacje gotowe do użycia i klastry oprogramowania eliminują problemy, na jakie mogą natknąć się użytkownicy końcowi podczas instalacji i konfiguracji oprogramowania.
Deweloperzy mogą skorzystać z manifestów gotowych [4] (przykładowo przygotowanych dla klastrów Payara czy GlassFish, dla replikacji baz danych z użyciem automatycznego skalowania itp.) lub przygotowanych samodzielnie, oraz zintegrować je z aplikacjami, w zależności od konkretnych potrzeb użycia [5].
Info:
[1] Cloud Scripting Overview:
https://docs.cloudscripting.com
[2] JSON Online Editor:
http://jsoneditoronline.org
[3] Jelastic, Blog:
http://blog.jelastic.com/2017/03/27/jelastic-cloud-scripting-launched-to-automate-managed-hosting-services
[4] GitHub, Jelastic JPS Collection_
https://github.com/jelastic-jps
[5] Baza Wiedzy UniCloud:
http://pomoc.unicloud.pl/unicloud/tworzenie-aplikacji/cloud-scripting
e-mail: [email protected]