Wdrożenie DevOps

Wdrożenie DevOps

Współczesne architektury wymuszają na zespołach nie tylko pracę programistyczną, ale i administracyjną. Właśnie dlatego zauważalny jest trend odchodzenia od mocno rozdzielonych zespołów programistycznych i administracyjnych do bardziej zróżnicowanych zespołów zgodnie z filozofią DevOps, gdzie developerzy i administratorzy współpracują ze sobą nad rozwojem i utrzymaniem produktu.

DevOps to coś więcej niż Continuous Integration, Continuous Testing, Continuous Delivery/Deployment i automatyzacja infrastruktury, których implementacja w samej warstwie technologicznej stanowi już ogromne wyzwanie. DevOps zmierza do całościowej integracji, tj. dostarczenia produktów, testowania jakości, rozwoju poszczególnych funkcjonalności oraz wydań związanych z utrzymaniem, aby udoskonalić niezawodność i bezpieczeństwo oraz zapewnić szybszy rozwój i cykl wdrożeń. Skuteczność DevOps wynika z konstrukcji zespołów (składających się z programistów, testerów i administratorów) posiadających wszystkie kompetencje, by przy niezmiennie wysokiej jakości jak najszybciej zaimplementować i wdrożyć pomysł na środowisko produkcyjne. Oznacza to, że coraz więcej aplikacji działa najlepiej w środowiskach chmurowych, zarówno publicznych jak i prywatnych, ze względu na potrzebę skalowania, co redefiniuje potrzebę administracji systemami, przesuwając nacisk z manualnej na automatyczną.

Kto potrzebuje?

Organizacje, które chciałyby poprawić częstotliwość i prędkość dostarczania nowych funkcjonalności, dla których time-to-market stanowi o przewadze konkurencyjnej.

Korzyści:

W odniesieniu do organizacji, które nie posiadają kultury oraz praktyk DevOps, firmy, którym udało się poprawnie wdrożyć DevOps odnotowują następujące zmiany:

  • 60-krotnie mniej błędów na środowisku produkcyjnym

  • ok. 170 razy szybciej doprowadzają z powrotem środowisko produkcyjne do działania

  • ok. 30 razy częściej robią wdrożenia

  • ok. 200 razy szybciej realizują funkcjonalności od pomysłu do wdrożenia

 

(wg ‘2015 State of DevOps Report by Puppet Labs’)

Uczestnicy procesu wdrożenia:

  • grupa I - członkowie zespołów wytwarzających produkt (programiści, testerzy, administratorzy, wdrożeniowcy) oraz

  • grupa II - liderzy zespołów i osoby decyzyjne w organizacji (project managerowie, managerowie, CTO, CIO)

Zakres usługi:

Dzięki usłudze firma będzie w stanie zidentyfikować czynniki spowalniające proces dostarczania, zaplanować zmianę oraz ją przeprowadzić (w zależności od wybranego wariantu usługi). Opisywana zmiana może mieć charakter usprawnień technologicznych (wariant podstawowy) lub systemowy oddziałowujący na część lub całą organizację (wariant zaawansowany).

  • Zakres podstawowy:

    • (grupa I) zapewnienie osobom odpowiedzialnym za proces wytwórczy niezbędnych narzędzi i technologii do pracy oraz

    • (grupa I i II) zainspirowanie organizacji do pogłębionego poznania podejścia DevOps (kultura organizacji, topologie zespołów, strategie podejścia do budowania delivery pipeline, strategie wdrożeń)

  • Zakres zaawansowany:

    • (grupa I) zapewnienie osobom odpowiedzialnym za proces wytwórczy niezbędnych narzędzi i technologii do pracy;

    • (grupa II) diagnoza organizacji pod kątem pełnego wdrożenia DevOps uwzględniająca procesy, strukturę firmy oraz kulturę organizacji.

    • (grupa II) plan wdrożenia zmiany zależny od diagnozy - dostępne formy pracy z organizacją: konsulting; określenie obszarów zmian w warstwie technologicznej oraz organizacyjnej: pożądana kultura organizacji, procesy, struktura zespołów

    • (grupa II) udział w procesie zmiany - dostępne formy pracy z organizacją: konsulting (rozwiązanie konkretnego problemu organizacji), mentoring (wspieranie pracowników organizacji w zmianie poprzez zapewnienie brakującej wiedzy/doświadczenie) i/lub coaching (towarzyszenie liderom w zmianie)

Przebieg usługi:

Etap I - analiza potrzeb

  • na poziomie organizacji: zaangażowanie kadry menadżerskiej wyższego szczebla
  • na poziomie zespołów produkcyjnych: zaangażowanie grupy reprezentatywnej dla wszystkich grup stanowiskowych zaangażowanych w wytwarzanie produktu

Cel: diagnoza stanu obecnego

Etap II - przedstawienie scenariusza działania

  • zakres działania
  • czas realizacji
  • narzędzia i metody realizacji wdrożenia
  • harmonogram działań i milestones
  • szanse i ryzyka
  • kryteria sukcesu

Etap III - realizacja usługi

Etap IV - raport podsumowujący

  • podsumowanie przebiegu procesu
  • osiągnięte cele
  • rekomendacje

Nasi eksperci

Tomasz Pająk

W przeszłości był Programistą i Architektem IT. Obecnie pełni rolę Software Engineering Managera w szwedzkiej firmie SEQR pracując nad własnym produktem - systemem płatności mobilnych dostępnym w Europie i USA. W codziennej pracy wspiera organizację w rozwijaniu produktu zgodnie ze Scrumem i Lean Startup oraz podejściem DevOps. W Sages współpracuje od 2012 roku. Zajmuje się technologiami związanymi z Javą oraz tematyką Agile, Lean oraz DevOps. Dzieli się doświadczeniem na międzynarodowych konferencjach, m.in.: Agile Lean Europe, Agile Central Europe, Agile Eastern Europe, Atmosphere, Confitura. Absolwent Akademii Leona Koźmińskiego (MBA) oraz Politechniki Łódzkiej (Telecommunications and Computer Science).



Matt Harasymczuk

Matt pomaga dużym i małym firmom, start-upom oraz organizacjom rządowym przy wdrażaniu procesów, zwinnych metodyk oraz dobrych programistycznych praktyk wytwarzania oprogramowania. Nadal programuje i uczestniczy w spotkaniach community developerskiego. Nauczył się na sobie wiele technik, metryk i metod inżynierii software’u takich jak XP, CI/CD, TDD, BDD, Code Review, Pair Programming, Clean Code i Software Craftsmanship. Jako Software Engineer w Allegro przez kilka lat współtworzył techniczną część Agile’owej transformacji. Później jako Architektowi Procesów w Centralnym Ośrodku Informatyki przy MSWiA zostało mu powierzone pierwsze wdrożenie Agile (techniczne i biznesowe) w organizacji rządowej w Polsce.



Krzysztof Suszyński

Główny Programista w Centralnym Ośrodku Informatyki oraz trener firmy SAGES. Z technologiami IT ma profesjonalnie do czynienia od 2007 roku i obecnie zajmuje się głownie metodykami DevOps oraz technologiami Puppet, Java oraz Ruby. Technologie te oraz metodyki z powodzeniem stosuje na co dzień w dużych projektach, start-upach i projektach open-source. Z jego inicjatywy rozpoczęto udostępnianie wybranego oprogramowania wytwarzanego w Centralnym Ośrodku Informatyki na GitHubie. Opublikował na otwartej licencji kilka modułów Puppet między innymi: JBoss, Glassfish, XtreemFS, Artifactory, Flyway, Herald oraz kilka bibliotek Java m.in.: WFirma, Eid, Hiera Preferenes. Prowadzi szkolenia z wyżej wymienionych tematów dla firmy SAGES oraz w ramach inicjatyw takich jak Warsaw Puppet User Group, Warsaw Java User Group czy WarsawJS.