Advanced automation and provisioning in Red Hat Satellite 6 - Red Hat Architect Seminar - Cloud...

Post on 22-Feb-2017

608 views 3 download

Transcript of Advanced automation and provisioning in Red Hat Satellite 6 - Red Hat Architect Seminar - Cloud...

Advanced automation and provisioning in Red Hat Satellite 6

Konrad Rzentarzewski, IT Automation Architect, Linux Polska

Usługi:

● Automatyzacja IT,● Satellite, ● Kontroler Domeny Linux, ● Diagnostyka OpenStack,● Migracje.

Szkolenia Open Source

● Puppet Labs,● Linux,● JBoss ● OpenStack,● PostgreSQL.

Linux Polska – co robimy?

OpenStack Diagnostics powered by LinuxPolska

Powerful Diagnostic Solution for OpenStackwww.CloudBliss.io

Satellite 6

Systems Life Cycle Management

Satellite 6 - Systems Life Cycle Management

● Gdy instalacja serwera następuje poprzez żądanie API, okazuje się że wszyscy jesteśmy teraz programistami. - Tom Limoncelli, o chmurach obliczeniowych, DevOps i konieczności wprowadzania umiejętności deweloperskich do środowisk administratorów systemów.

Satellite 6

Subscription Management

Satellite 6 - Subscription Management

● Zarządzanie konfiguracjami jest automatyzowane za pomocą kluczy aktywacyjnych.

● Mapowania host-guest są pobierane z API/hypervisorów.

● Możliwe jest tworzenie “wirtualnych instancji” serwera za pomocą organizacji.

● Serwery mogą być organizowane w grupy.

● Agent pozwala na wykonywanie zdalnych instalacji oraz raportowanie stanu oprogramowania.

Satellite 6

Package Life-cycle Management

Satellite 6 – Package Life-cycle Management

● Środowiska

● Library

● Development

● QA

● Production

● Promocja Content View w modelu SDLC

● projektowanie → testowanie → wdrażanie → raportowanie

● Filtrowanie Content View

● Grupy

● ID Erraty

● Zakresy dat Erraty

Satellite 6

Configuration Management

Satellite 6 – Configuration Management

● Puppet

● Lider Configuration Management

● 10 lat doświadczenia rynkowego

● Model deklaratywny

● Bogaty ekosystem oraz społeczność

● Wersja Enterprise

Satellite 6

Provisioning

Satellite 6 – Provisioning

● API integruje środowiska obliczeniowe (“Compute Resources”)

● EMC vCenter

● RHEV

● KVM (libvirt)

● Amazon EC2

● Użycie szablonów ERB (embedded Ruby - podobne do PHP)

● Gotowe szablony TFTP/PXE

● Gotowe szablony Kickstart

● Foreman Discovery Image (FDI) – wykrywanie nowego sprzętu

● Integracja z komponentami zarządzania infrastrukturą

● Rejestrowanie nowych serwerów

● Wyrejestrowywanie usuwanych

Satellite 6

Narzędzie DevOps

Satellite 6 – Narzędzia DevOps

● Rozwój dojrzałych frameworków dedykowanych administracji

● Monitoring (#monitoringlove)

● Projektowanie z uwzględnieniem awarii

● Analiza pojemności systemów i automatyczne skalowanie

Satellite 6

Model “Lean”

Satellite 6 – Model “Lean”

● Powstały w Japonii w firmie Toyota w latach 60-tych

● Świadomość o każdym elemencie “łańcucha produkcyjnego”

● Dostarczanie komponentów dokładnie wtedy, kiedy są potrzebne

● Kanban – usprawnienie komunikacji

● System otwarty na dyskusje i udoskonalenia

● FMEA – analiza ryzyka

● Analizy Post-Mortem – udoskanalanie bez obwiniania

Satellite 6

Software Development Life Cycle, Test Driven Development

Satellite 6 – Software Development Life Cycle, Test Driven Development

● projektowanie → testowanie → wdrażanie → raportowanie

● Bezpieczny, powtarzalny proces.

● Możliwość szacowania ryzyka zmian.

● Utrzymanie spójnego, homogenicznego środowiska.

● Projektowanie na podstawie specyfikacji.

● Możliwość prześledzenia ścieżki zmian od zlecenia przez implementację, po wdrożenie.

Configuration Management

Workflow Red Hat - zalety

Satellite 6 – Workflow Red Hat - zalety

● Dostępny zaraz po instalacji

● katello-installer --foreman-admin-password changeme

● Zarządzanie konfiguracją w identyczny sposób jak pakietami:

● Life-Cycle Environments

● Content Views

● Moduły puppet jako paczki (tarball)

Configuration Management

Workflow Red Hat - wady

Satellite 6 – Workflow Red Hat - wady

● Publikacja Content Views zużywa dużą ilość zasobów.

● Sformalizowany proces promocji poprawek w modułach w oparciu o środowiska (brak możliwości wprowadzenia kosmetycznej poprawki).

● Autorski mechanizm konfiguracji klas poprzez Smart Variables może być zbyt skomplikowany.

● Standardowa instalacja na 1 serwerze (serwer Satellite i Puppet współdzielą zasoby).

● Bazuje na starym kodzie (3.6.2):

● Serwer puppet gorzej się skaluje.

● Brak zaawansowanych funkcji języka DSL.

Configuration Management

Workflow Puppet Enterprise- zalety

Satellite 6 – Workflow Puppet Enterprise- zalety● “Lekkie” SDLC bazujące na repozytoriach kodu Git

● Natywnie tworzone środowiska

● Ekosystem narzędzi DevOps gotowych do wykorzystania

● Możliwość wdrożenia procesów CI, CD, code review

● Oparty o “puppet current” (4.2)

● Lepsze skalowanie

● Możliwości języka (typowanie, iteracje, heredoc)

● Dodatkowe nowości w PE 2015.3

● Puppet Application Orchestration

● Direct-Puppet

● Code Manager

Satellite 6 – Workflow Puppet Enterprise- zalety● Separacja danych od kodu (hiera)

● Wsparcie dla mechanizmu eksportu zasobów (puppetdb)

● Wsparcie dla orkiestracji (mcollective)

Configuration Management

Workflow Puppet Enterprise - wady

Satellite 6 – Workflow Puppet Enterprise- wady● Wymaga licencji Puppet Enterprise

● lub wdrożenia za pomocą własnego zespołu

● Konieczna wiedza nt. serwera puppet oraz foreman smart-proxy

● Klasyfikacja poprzez konsolę PE

● Raportowanie w 2 miejscach (Konsola PE i serwer Satellite)

Provisioning

One click bare-metal & VM

Satellite 6 – One click bare-metal & VM

● Używanie wielu komponentów wymaga wielu operacji – pracochłonne i bez checklist podatne na pomyłki.

● Foreman ma być centralnym i jedynym punktem deploymentu.

● Zunifikowana instalacja na serwerach fizycznych i wirtualnych.

● Instalacja jako proces minimalny, następnie rolę przejmuje system CM (puppet).

Provisioning

Integracje

Satellite 6 – Integracje

● TFTP (DHCP)

● IPA (DNS)

● Puppet (CA)

● Satellite (aktywacja)

● Reguły FDI (instalacja dużej liczby serwerów wg. przyjętych wcześniej reguł)

● Wbudowany KVM

Provisioning

Wady

Satellite 6 – Provisioning - wady

● Standardowo wspiera tylko RH.

● Wieloelementowa konfiguracja.

● Stan konfiguracji nie jest weryfikowany – nieskonfigurowane kroki są pomijane, nawet jeśli prowadzą do niekompletnej konfiguracji.

Configuration Management& Provisioning

Dlaczego warto?

Satellite 6 – Dlaczego warto?

● Automatyzacja nie jest już egzotyką, staje się koniecznością.

● Migracja Sat5 → Sat6 dostarcza wielu ciekawych komponentów “za darmo”.

● Etap konfiguracji przechodzimy tylko raz :-)

● Adopcja CM jest ułatwiona dzięki modułom PuppetForge.

● DevOps, CM, Puppet posiadają rozwinięte i chętne do pomocy społeczności (zarówno na etapie projektowym jak i implementacyjnym).

● Nowoczesne frameworki security dostarczają w pakiecie:

● Reguły, checklisty.

● Moduły CM do konfiguracji.

● Monitoring (agent sprawdzający stan systemu wzg. zdefiniowanych reguł).

Satellite 6 – Dlaczego warto?