DWULETNIA PODRÓŻ ATLASSIANA W CHMURZE - TECHCRUNCH - CECHY - 2019

Anonim

Kilka lat temu Dropbox zaszokował wiele osób, gdy zdecydował się w większości upuścić chmurę publiczną i zbudował własne centra danych. Niedawno Atlassian zrobił coś przeciwnego, zamykając większość swoich centrów danych i przenosząc się do chmury. Firmy dokonują tych wyborów z różnych powodów. Gdy w 2016 r. Dołączył do CTO Atlassian Sri Viswanath, podjął decyzję o przeniesieniu największych aplikacji firmy do AWS.

Po części jest to historia długu technicznego - taka jest koncepcja, że ​​z czasem twoje aplikacje stają się obciążone warstwami chrupkiego kodu, co utrudnia aktualizację i jeszcze trudniejsze do utrzymania. Dla Atlassian, który został założony w 2002 r., Rachunek ten był należny w 2016 r., Kiedy Viswanath przyszedł do pracy dla firmy.

Atlassian już wiedział, że muszą zaktualizować kod, aby przejść do przyszłości. Jednym z powodów, dla których przywiozły Viswanatha na pokład, było poprowadzenie tego zarzutu, ale myślenie już istniało, zanim jeszcze tam dotarł. Niewielki zespół powstał w 2015 roku, aby wypracować wizję i architekturę nowego podejścia opartego na chmurze, ale chcieli, aby ich pierwszy CTO był gotowy do realizacji.

Przejście do mikroserwisów

Wprowadził ten plan w życie, nadając mu wewnętrzną nazwę kodową Vertigo - być może dlatego, że myśl o przeniesieniu większości stosów oprogramowania do publicznej chmury zmusiła zespół inżynierów do zawrotów głowy, by nawet rozważyć. Celem projektu było rearchitekcja oprogramowania, zaczynając od swoich największych produktów Jira i Confluence, w taki sposób, aby stworzyć podstawę dla firmy na następną dekadę - bez presji czy czegokolwiek.

Zdjęcie: WILLIAM WEST / AFP / Getty Images

Spędzili dużą część 2016 roku, przepisując oprogramowanie i uruchamiając je na AWS. Skoncentrowali się na przekształceniu swojego 15-letniego kodu w mikroserwisy, co ostatecznie doprowadziło do mniejszej bazy kodu. Powiedział, że problemy z długami technicznymi są bardzo realne, ale musieli uważać, aby nie wymyślić koła, zmienić to, co należy zmienić, kiedy tylko jest to możliwe.

"Baza kodu była dość duża i musieliśmy wejść i zrobić dwie rzeczy. Chcieliśmy zbudować ją dla architektury z wieloma dzierżawcami i chcieliśmy stworzyć mikroserwisy" - powiedział. "Jeśli istniała usługa, która mogłaby zostać wycofana i wykonana samodzielnie, zrobiliśmy to, ale w ramach tego procesu stworzyliśmy także nowe usługi".

Migracja klientów w locie

Ostatni rok był rokiem migracji i rzeczywiście był to całoroczny projekt migracji każdego ostatniego klienta do nowego systemu. Zaczęło się w styczniu i zakończyło w grudniu i obejmowało przeprowadzanie dziesiątek tysięcy klientów.

Zdjęcie: KTSDesign / Science Photo Library

Przede wszystkim zautomatyzowali wszystko, co mogli, a także bardzo celnie pod względem porządku migracji, będąc świadomymi migracji, które mogą być trudniejsze. "Zastanawialiśmy się, w jakiej kolejności migrować, nie chcieliśmy zrobić tego najłatwiejszego i najtrudniejszego na końcu, nie chcieliśmy robić tylko tych trudniejszych i nie robić postępów. Musieliśmy połączyć (nasze podejście) naprawiaj błędy i problemy w całym projekcie "- powiedział.

Viswanath stwierdził, że nadrzędnym celem było przeniesienie klientów bez poważnego incydentu. "Jeśli rozmawiasz z kimkolwiek, kto robi migrację, to wielka rzecz, każdy ma blizny podczas migracji, byliśmy świadomi, że robimy to dość ostrożnie". Co zaskakujące, chociaż nie była doskonała, udało im się ukończyć całe ćwiczenie bez poważnej awarii, z której zespół jest słusznie dumny. To nie znaczy, że zawsze było gładko lub łatwo.

"To brzmi bardzo prosto:" byliśmy zamyśleni i przeprowadziliśmy migrację ", ale codziennie dochodziło do wojen, kiedy migrujesz, uderzasz w ścianę i reagujesz, co było dla nas codziennością przez cały rok" - wyjaśnił. Cały wysiłek zespołu wymagał inżynierii, produktu i wsparcia. Obejmowało to obecność osoby odpowiedzialnej za obsługę klienta w codziennych spotkaniach scrum, dzięki czemu mogli oni poznać wszelkie problemy klientów i naprawić je tak szybko, jak to możliwe.

Co zyskali

Podobnie jak w każdym projekcie chmurowym, istnieją pewne ogólne korzyści związane z przeniesieniem aplikacji do chmury wokół elastyczności, elastyczności i elastyczności zasobów, ale było więcej niż w przypadku tego konkretnego projektu.

Zdjęcie: Ade Akinrujomu / Getty Images

Przede wszystkim pozwoliło na szybsze wdrażanie przy wielu wdrożeniach w tym samym czasie, w dużej mierze dzięki dużemu wykorzystaniu mikroserwisów. Oznacza to, że mogą znacznie szybciej dodawać nowe funkcje. W trakcie roku migracyjnego wstrzymywali się głównie na nowych funkcjach, ponieważ chcieli, aby zmiany były jak najbardziej statyczne, ale dzięki nowemu systemowi mogą poruszać się o wiele szybciej, dodając nowe funkcje.

Osiągają znacznie lepszą wydajność i jeśli osiągną wąskie gardło wydajności, mogą po prostu dodać więcej zasobów, ponieważ jest to chmura. Co więcej, byli w stanie mieć lokalną obecność w UE i to poprawiło wydajność dzięki zbliżeniu aplikacji do użytkowników końcowych tam zlokalizowanych.

W końcu uznali chmurę za bardziej ekonomiczną opcję, coś, co nie znajduje się w każdej firmie, która przenosi się do chmury. Zamykając centra danych i zmniejszając koszty kapitałowe związane z zakupem sprzętu i zatrudnianiem personelu IT w celu jego utrzymania, byli oni w stanie obniżyć koszty.

Zarządzanie częściami ludzi

To był długi projekt i dlatego też musieli naprawdę myśleć o ludzkim aspekcie tego. Zamieniają ludzi, aby upewnić się, że inżynierowie pozostaną świezi i nie wypalili się, pomagając przy przejściu.

Jedną z rzeczy, która pomogła, była ogólnie kultura firmy, którą Viswanath otwarcie opisuje jako otwartą komunikację i ogólną politykę "bez bzdur". "Utrzymywaliśmy otwartą komunikację, nawet gdy sprawy nie układały się dobrze, ludzie podnosili rękę, gdyby nie mogli nadążyć, a my im pomoglibyśmy" - powiedział.

Przyznał, że w firmie było trochę niepokoju i osobiście realizował projekt o tej skali, ale wiedzieli, że muszą zrobić to dla przyszłości organizacji. "Zdecydowanie byłam zdenerwowana tym, że jeśli ten projekt nie pójdzie dobrze, wydawało nam się, że jest to oczywisty właściwy kierunek i musieliśmy to zrobić. Ryzyko było, gdybyśmy wkręcili się w wykonanie i nie zdawaliśmy sobie sprawy z korzyści, które zrobić."

W końcu to było dużo pracy, ale udało się to dobrze i mają system na przyszłość. "Teraz jesteśmy przygotowani na następne 10 lat" - powiedział.