Problematyczny projekt chmurowy to taki, który nie jest dostarczony w odpowiednim zakresie, na czas lub w ramach ustalonego budżetu. W listopadowym wydaniu CRN Polska pisałem już o tym, że projektami w chmurze zarządza się zupełnie inaczej niż tradycyjnymi projektami IT, w związku z czym należy przestrzegać nieco innych zasad. W ramach krótkiego przewodnika zebrałem kilka wskazówek na to, jak zwiększyć szansę na powodzenie, gdy klient dopiero zaczyna swoją przygodę z chmurą.

  
  1. Dowiedz się, z czym właściwie masz do czynienia. Chmura to inne środowisko niż oprogramowanie lokalne. To żadne odkrycie, wiem. Jednak nie wszyscy zdają sobie sprawę, że zanim zdecydują się na duży projekt w chmurze, muszą poznać i oswoić się z nią, nauczyć się w niej poruszać i zdobyć trochę doświadczenia. Niech Twój zespół zacznie od czegoś, co może dostarczyć w ciągu jednego, dwutygodniowego sprintu. Opłaci Ci się to później. Ma być ambitnie i angażująco, na początek może to być chociażby zautomatyzowanie wybranego wdrożenia. Jeśli chcesz przyspieszyć ten proces, możesz zaangażować kilku ekspertów, ale pamiętaj – Twój zespół musi sprawdzić grunt, zanim postawi dom. Pluralsight to świetne źródło wiedzy na temat podstaw chmury Azure. Kilka godzin w tygodniu na nieformalną wymianę wiedzy i pizza dla tych, którzy chcą się uczyć, to dobra inwestycja!
  2. Zburz silosy! Masz osobne zespoły od bezpieczeństwa i od sieci? Zbierz po jednym specjaliście z każdego z nich i posadź ich obok programistów. Wszyscy oni powinni pracować razem, aby konfrontować swoje założenia i metody działania. Izolowanie zespołów od siebie może stać się jedną z największych przeszkód na drodze do sukcesu projektu. Zacznij przełamywać bariery między działami i pozwól ludziom pracować razem. Jeden z klientów Predica zorganizował 2-dniowy, wewnętrzny hackathon, aby zachęcić pracowników do wspólnej pracy nad konkretnymi problemami. Zadziałało!
  3. Dobrze poznaj wybrany model chmurowy. Pamiętaj: chmura to nie do końca nowa technologia. To raczej nowy model dostarczania mocy obliczeniowej i pamięci masowej, zapakowany w usługi, które mogą wiele zdziałać i przyspieszyć proces tworzenia danego produktu (czy to aplikacji, czy infrastruktury). Jednak każda usługa ma swój własny model dostarczania (IaaS, PaaS, SaaS), model kosztów, model dostępności i SLA oraz model integracji. Łatwo powiedzieć „to wygląda fajnie, użyjmy tego”, tylko po to, aby miesiąc później przybrać barwę płótna na widok pierwszego rachunku. Dlatego warto poświęć czas na zrozumienie modeli usług, z których zamierza się korzystać.
  4. Nie musisz wymyślać koła na nowo. W przypadku technologii istnieje pewne powszechne, błędne rozumowanie. Można je rozpoznać po usłyszeniu zdania typu: „To nie jest dla nas, jesteśmy wyjątkowi i musimy to zrobić inaczej”. Czasami to prawda. Jednak w większości przypadków lepiej zacząć od gotowej usługi. Określony problem może być unikalny dla danej firmy, ale jego techniczne rozwiązanie prawdopodobnie już powstało. Uwierz mi. „Been there, done that, got the T-shirt”.
  5. Iteruj i dokumentuj. Nie celuj w duży sukces po zaledwie kilku miesiącach. Podziel na iteracje wszystko: technologię, której używasz, strukturę zespołu i sposób współpracy w chmurze. Możesz popełnić jeden duży błąd na pół roku lub kilka mniejszych pomyłek co dwa tygodnie i wyciągać z nich wnioski na bieżąco. Jednym z częstych błędów jest ukrywanie tych wniosków. Po każdej iteracji i decyzji, którą podejmiesz w projekcie, zrób dwie rzeczy: udokumentuj to i udostępnij wszystkim. Dodatkowa wskazówka – nie oddzielaj dokumentacji od kodu. Czy to Azure DevOps czy GitHub – zbiór dobrych praktyk powinien być dostępny w tym samym miejscu co Twój kod i backlog.
  

Im prościej, tym lepiej!

Mamy tendencję do komplikowania rzeczy. Tymczasem ważne jest, aby zacząć od podstaw, ponieważ to prostota buduje fundament dla przyszłego sukcesu. Musisz nauczyć się chodzić, zanim zaczniesz biegać. Dotyczy to również chmury. Jeśli masz już doświadczenie z takimi projektami, zastanów się, jakimi lekcjami możesz podzielić się z innymi. Wiele przedsiębiorstw decyduje się na projekt w chmurze nie analizując w pełni, z czym to się wiąże. Konsekwencje takich decyzji można zmierzyć w straconym czasie i pieniądzach. A także wynikającej z tego niechęci do korzystania z nowych technologii. Szkoda byłoby stracić aż tyle możliwości!

Felietony Tomasza Onyszko i innych specjalistów Predica są publikowane na firmowym blogu tego integratora, pod adresem Articles by Predica.

Tomasz Onyszko  

Autor pełni funkcję CTO w firmie Predica.