Wnioski z wdrożeń automatyzacji w małych firmach

Wnioski z wdrożeń w małych firmach

Wnioski z wdrożeń automatyzacji w małych firmach

W swojej pracy doradzam i wprowadzam w świat automatyzacji przedsiębiorstwa różnych wielkości. Wyzwania i problemy małych i dużych firm są inne. Wykorzystują one często inne narzędzi i mają do dyspozycji inne budżety. Ponieważ firmy w coraz większym stopniu polegają na technologii, znaczenie automatyzacji sieci znacznie wzrosło. Automatyzacja sieci może pomóc firmom poprawić wydajność operacyjną, zmniejszyć liczbę błędów i zminimalizować przestoje. Jednak wprowadzenie automatyzacji sieci w małych i średnich firmach może być wyzwaniem. Dziś omówię niektóre wnioski wyciągnięte z wprowadzenia automatyzacji sieci w małych i średnich firmach z projektów, w których miałem okazję uczestniczyć.

Czytaj dalej
5 trendów DevOps, które warto śledzić w 2021

5 trendów DevOps, które warto śledzić w 2021

5 trendów DevOps, które warto śledzić w 2021

Ten post trendach DevOps w 2021 roku musiał się miesiąc “odleżeć”. Tyle czasu czekał on w kolejce na publikację. Dlaczego? Technologie wokół szeroko rozumianego DevNet (a także DevOps) gnają jak szalone, i może lista ta za pół roku będzie wyglądać zupełnie inaczej. Czekał, gdyż chciałem zobaczyć, czy styczeń sam w sobie nie przyniesie czegoś zaskakującego, co wywróci ją do góry nogami. I choć były zmiany to nie było rewolucji. Poniższe zestawienie ma charakter czysto subiektywny. Patrzę na technologie przez pryzmat infrastruktury, a nie samych aplikacji. Sam DevOps postrzegany jest także coraz częściej już nie przez pryzmat procesów związanych z samą aplikacją i środowiskiem chmurowym, ale szeroko pojętą infrastrukturą IT. Także tą zwirtualizowaną na sprzęcie umieszczonym w firmowych data center.

W moim subiektywnym zestawieniu wartych uwagi trendów DevOps w 2021 roku nie pojawia się żaden język programowania. Nie dlatego, że żaden nie zasługuje na uwagę. Uważam, że znajomość co najmniej jednego języka programowania to obecnie konieczność, a nie trend czy moda. A językiem, który należy znać, jest obecnie Python.

Czytaj dalej
Jak oceniam egzamin DEVASC 200-901?

Jak oceniam egzamin DEVASC 200-901

Jak oceniam egzamin DEVASC 200-901?

23 grudnia podszedłem do egzaminu Cisco DevNet Associate (DEVASC 200-901) i zdałem go uzyskując certyfikat. Długo się przed tym broniłem, ale powiedzmy, że presja otoczenia mnie zmusiła – kilku znajomych zdało ten egzamin też ostatnio. Poza tym skoro mam już “odznakę” DevNet Code Contributor, której oni nie mają, to mogę dołożyć do kolekcji DevNet Associate oraz DevNet Class of 2020. W dzisiejszym artykule podzielę się swoimi wrażeniami z samego egzaminu i przygotowań do niego.

Czytaj dalej
O automatyzacji sieciach - wywiad z Przemkiem Rogalą

O automatyzacji w sieciach – wywiad z Przemkiem Rogalą (część II)

O automatyzacji sieciach - wywiad z Przemkiem Rogalą

W pierwszej części mojej rozmowy z Przemkiem Rogalą, twórcą bloga TTL255, rozmawialiśmy o egzaminie DEVASC i certyfikacji Cisco DevNet. Certyfikaty byłby jednak zbędne, gdyby nie rzeczywiste projekty, w których wiedzę i doświadczenie zamienia się na konkretne rozwiązania. Zarówno Przemek jak i ja realizujemy tego typu projekty, choć na innych rynkach. W drugiej części mojej rozmowy skupimy się właśnie na rzeczywistym wykorzystaniu automatyzacji, projektach, programowaniu i narzędziach, które wykorzystujemy.

Czytaj dalej
O egzaminie DEVASC - wywiad z Przemkiem Rogalą

O egzaminie DEVASC – wywiad z Przemkiem Rogalą (część I)

O egzaminie DEVASC - wywiad z Przemkiem Rogalą

Certyfikacja DevNet ma już parę miesięcy, i sporo osób, które zdało egzaminy z poziomu Associate czy Professional. Świat IT zmienia się i z kolejnymi miesiącami wydaje się, że kto nie programuje, kto nie automatyzuje, ten tak na nie idzie z duchem czasu i zmianami. Jakie są wrażenia po zdaniu egzaminu DEVASC (200-901)? Jak się do niego przygotować? Czy jest on trudny? O to zapytałem mojego gościa – Przemka Rogalę, założyciela i prowadzącego bloga TTL255. Zapraszam na pierwszą część rozmowy z Przemkiem, która dotyczy samego egzaminu i certyfikacji DevNet.

Czytaj dalej
Certyfikacja Cisco DevNet

Certyfikacja Cisco DevNet

Certyfikacja Cisco DevNet

Nie będę ukrywał, że nadchodząca premiera nowej ścieżki certyfikacyjnej Cisco DevNet była jedną z motywacji do stworzenia Szkoły DevNet. Jednak nie jedyną. Program zaproponowany przez Cisco jest ciekawy, ale nie można powiedzieć, że wyczerpujący. Nie chodzi o to, że skupiony jest na produktach oferowanych przez Cisco, co jest dość naturalne. Po prostu skonstruowany jest wokół jednego z obszarów automatyzacji. W większości rzeczywistych projektów będzie to działka zbyt wąska, a co za tym idzie może skutkować porażką całego projektu. Certyfikacja Cisco DevNet jest jednak bardzo dobrym punktem, aby po poznaniu fundamentów swobodnie rozwijać swoje kompetencje na innych obszarach automatyzacji.

Cisco DevNet, czyli co musisz umieć

Certyfikacja Cisco DevNet podzielona jest na dwa poziomy – Associate oraz Professional. Na poziomie podstawowym musisz zdać jeden ogólny egzamin. Przystępując do certyfikacji Professional konieczne jest zdanie dwóch egzaminów – ogólnego oraz jednego ze specjalistycznych. Podział taki wydaje się ciekawy i sensowny. Osoba zainteresowana wiedzą z zakresu automatyzacji w Data Center powinna się skupić na specyficznych zagadnieniach z tej działki, a nie na sucho zgłębiać tajniki Collaboration czy IoT.

Oprócz ogólnej wiedzy sieciowej związanej z zasadami działania sieci komputerowych czy projektowania infrastruktury możemy wyróżnić kilka obszarów technologicznych, których nie tylko podstawy należy zgłębić

  • GIT – infrastrukturę programujemy, a nie konfigurujemy. Zatem piszemy swego rodzaju programy czy algorytmy. Podstawą zarówno wydajnej pracy grupowej jak i bezpieczeństwa jest odpowiednie zarządzanie kodem.
  • REST API – jest to preferowana metoda komunikacji Twojego skryptu z urządzeniem czy chmurą publiczną. Osoby tworzące własne skrypty muszą nie tylko rozumieć jak działa REST API, lecz także jak w sposób bezpieczny zaimplementować je w swoim kodzie. Nie należy przy tym zapominać o starszych mechanizmach jak RESTCONF.
  • Docker – konteneryzacji poddawane są nie tylko aplikacje, lecz także urządzenia sieciowe. Wiele narządzi do monitoringu czy automatyzacji domyślnie działa w kontenerach. Nic więc dziwnego, że znajomość Dockera jest niezbędna. Jednak wiedza o samym Dockerze często jest już niewystarczająca. Warto znać co najmniej jeden z dwóch najbardziej popularnych mechanizmów orkiestracji jakimi są Docker Swarm oraz Kubernetes.
  • Ansible – jest to narzędzie do provisioningu konfiguracji i dalszego zarządzania nie tylko urządzeniami. 
  • YANG/YAML/JSON/XML – języki opisu struktury, tak je zbiorczo nazwijmy na razie. Bez nich ani rusz.

Zostaniesz programistą

Nawet jeżeli nie będziesz developerem piszącym kod, to jednak musisz oswoić się z myślą, że wchodzisz w świat projektów programistycznych. Przestajesz tworzyć konfigurację, a element aplikacji. Zatem twoje podejście do pracy musi być takie samo, albo co najmniej zbliżone do tego, jakie programiści wykorzystują w swojej pracy. Zacznij od zrozumienia czym jest CI/CD (Continuous Integration / Continuous Deployment) i jak to co stworzysz będzie wkomponowane w ten proces. Koniecznie zapoznaj się z takimi narzędziami jak Jenkins, Terraform, Puppet, czy wspomniany już Ansible.

Nie zapominaj jednak o fundamentalnej wiedzy z zakresu routingu, switchingu czy security. Nie pozwól zakurzyć się swojej wiedzy o różnych produktach. Zmieniając swoją rolę z “wyklikiwacza” konfiguracji w programistę nie zapomnij, że samo urządzenie czy aplikacja nadal działa tak samo. Twój router nie zmienił sposobu routowania pakietów ponieważ konfigurację wprowadziłeś za pomocą RESTCONF a nie CLI. Zainstalowany w sieci FirePower Thread Defence nadal w ten sam sposób będzie analizował zawartość pakietów niezależnie, czy konfigurację wprowadzisz za pomocą REST API czy “staroświeckiego’ GUI. 

Projektując zautomatyzowany proces tak na prawdę piszesz algorytm. Sekwencję kroków do wykonania, na którą mogą wpływać różne zmienne. To też jest programowanie, choć może nie wiązać się z napisaniem nawet jednej linii kodu. Często może zostać sprowadzone do poukładania klocków i odpowiedniego zarządzania parametrami, które są do nich przekazywane i z nich odbierane. Jednak nadal jest to programowanie, w którym musisz myśleć o tym jakimi parametrami operujesz i jak poszczególne elementy algorytmu będą wpływały na siebie nawzajem.

Postaraj się o dostęp do środowiska testowego, nigdy nie eksperymentuj na środowisku produkcyjnym.