feedback
/Metodyka DevOps w firmie Microsoft

Metodyka DevOps w firmie Microsoft

By Sam Guckenheimer

Ostatnia aktualizacja: 2017-11-09

To centrum zapewnia aktualne informacje na temat dalszej adaptacji metodyki DevOps w firmie Microsoft. Wybraliśmy najlepsze filmy i artykuły zarówno z publicznych konferencji, jak i wewnętrznych sesji szkoleniowych. Do większości filmów zapewniamy również towarzyszący artykuł. Koncentrujemy się na praktykach używanych w usługach Visual Studio Team Services (VSTS), które są szkieletem naszego systemu One Engineering System (1ES), zdobytym doświadczeniu w ramach całej firmy Microsoft i na najlepszej wiedzy działu Microsoft Research. Nowości dotyczące produktów usług VSTS możesz znaleźć na naszym blogu DevOps.

Jak pracujemy z usługami Visual Studio Team Services (VSTS)

Aby zapewnić doskonałe omówienie doświadczenia zdobytego w dziale Microsoft Developer Division, Lori Lamkin przedstawi siedem lat naszej podróży w rytm chmury. Prześledzi ona sekwencję wykonanych przez nas kroków, które możecie też sami wykonać, gdy dobrze poznacie metodykę DevOps.

Aaron Bjork omówi sposób włączenia zasad zwinnego programowania i jak to wygląda w praktyce. Wszystko o tym, jak zarządzamy zespołami, rolami, planowaniem, przebiegami i przepływami, aby wprowadzać ulepszenia do tworzonego i używanego oprogramowania, na którym klienci mogą polegać.

Decyzja firmy Microsoft o przejściu do pojedynczej organizacji inżynierskiej, gdzie tworzenie i testowanie są zunifikowaną częścią procesu kompilacji, a nie oddzielnymi rolami, pomogła każdemu inżynierowi w wywieraniu większego wpływu na jakość oprogramowania. Munil Shah podzieli się doświadczeniami z pierwszej ręki.

Praca w pojedynczym obszarze głównym i używanie przepływu żądania ściągnięcia były kluczowym składnikiem unikania długów i czystych wdrożeń. Ed Thomson omówi uproszczone rozgałęzianie tematów w usłudze Git połączone z przepływem wersji jako części naszego przejścia do bezpiecznego wdrażania. Rozpocznie on od przejścia z hierarchicznej kontroli wersji do usługi Git.

Bezpieczeństwo jest kluczową częścią metodyki DevOps. Buck Hodges najpierw opisze, jak realizowaliśmy nasze gry wojenne zabezpieczeń między zespołami czerwonych i niebieskich. Buck przejdzie następnie do naszych najlepszych rozwiązań dla metodyki DevSecOps podczas prowadzenia działalności związanej z SaaS.

Kultura aktywnej witryny (lub nastawienie przede wszystkim na produkcję) jest ważna dla działania usługi. Tom Moore omówi, jak obsługujemy niezawodność usługi oraz jak ćwiczymy podejście Kompilujesz to — uruchamiasz to. Nie możesz kontrolować czegoś, czego nie możesz zmierzyć. Kontynuując Tom Moore opisze, jak używamy telemetrii do monitorowania usług VSTS i zapewniania ciągłego wglądu zarówno w kondycję, jak i używanie usługi.

Jak tworzymy architekturę usług Visual Studio Team Services (VSTS)

Te rozmowy obejmują technologię towarzyszącą usługom VSTS i jej ewolucję. Buck Hodges zacznie od omówienia ścieżki od monolitu do usługi w chmurze, ponieważ przeszliśmy od pojedynczego lokalnego strumienia dostaw TFS do dwóch strumieni obejmujących usługi VSTS na platformie Azure. Omówi on sposób utrzymania spójności między produktem lokalnym a hostowaną usługą wielodostępną.

Globalne utrzymywanie hostowanej usługi 24x7x365 wymaga możliwości wdrażania aktualizacji w ciągu dnia bez żadnych przestojów. Buck opisze architekturę i proces techniczny aktualizacji usługi podczas pracy.

Kluczową zaletą usługi w chmurze jest zapewnianie ciągłej pętli sprzężenia zwrotnego z użytkownikami. Tutaj Buck omówi, jak używamy flagi funkcji do stopniowego ujawniania nowych funkcji i do eksperymentowania w produkcji.

Z definicji usługa 24x7x365 musi być zawsze dostępna. Buck opisze tutaj, jak użyliśmy wzorców chmury dla odporności, takich jak wyłączniki i dławienie, do zapewnienia dostępności i wydajności usług VSTS.

Dostępność może być nieistotna bez odpowiedniej jakości. Tutaj Munil Shah omówi, jak przesunęliśmy się w lewo, aby zapewnić szybkie i niezawodne testowanie. Na przykład poprowadzi nas przez ewolucję, która umożliwiła nam uruchomienie 60 000 testów w przepływie żądań ściągnięcia przed zatwierdzeniem w elemencie głównym i z ciągłą integracją.

Aby uzyskać niezawodny sygnał od zautomatyzowanych testów dużych woluminów, musimy wierzyć w wyniki testów. Munil opisze, jak wyeliminowaliśmy puchnące testy, aby czerwone znaczyło czerwone.

Testowanie tylko w środowiskach przedprodukcyjnych pomaga znaleźć błędy, które wystąpiły wcześniej, ale nie te, których nie było widać. Munil objaśni, dlaczego nie ma lepszego miejsca niż produkcja i że oznacza to, iż musimy przeprowadzać testy również w środowisku produkcyjnym.

Gdy ma miejsce ciągłe wdrażanie, musisz kontrolować promień rażenia i ciągły rozwój na podstawie kondycji wersji. Ed Glas omówi praktyki bezpiecznego wdrażania, których używamy do stopniowego ujawniania.

System One Engineering System w firmie Microsoft

Jedną z naszych zasad jest uczenie się na własnych doświadczeniach. Wypróbowujemy praktyki i narzędzia, patrzymy, co się sprawdza, a następnie wdrażamy je do produkcji. Piszemy też oczywiście wiele oprogramowania open source. W tym filmie Martin Woodward omówi nasze całościowe praktyki podczas przechodzenia do systemu One Engineering System w firmie Microsoft.

Aby zademonstrować, jak to wygląda w praktyce, moja prelekcja WinOps 2017 pokaże, jak pracujemy z usługami VSTS w czasie rzeczywistym.

Microsoft to bardzo duża firma programistyczna. We wrześniu 2017 mieliśmy ponad 75 000 aktywnych inżynierów w usługach Visual Studio Team Services. Aby zapewnić wspaniałą dyskusję o tym, jak transformacja wpłynęła na różne działy, na konferencji Build 2017 zorganizowaliśmy sesję pytań i odpowiedzi z udziałem kierowników zespołów inżynieryjnych z całej firmy.

Oprócz tego panelu możesz przeczytać wspaniały raport dotyczący doświadczeń zespołu sklepu uniwersalnego stosującego ciągłe dostarczanie przez 12 miesięcy. Jednym z oszałamiających przykładów jest wzrost częstotliwości kompilacji o 8000 razy!

Usługa Bing firmy Microsoft znajdowała się na czele innowacji w funkcjach dla użytkowników i wydajności, które są możliwe jedynie za pośrednictwem eksperymentów z zakresu platformy oprogramowania i środowiska deweloperów. W przypadku usługi Bing chodzi o szybkość działania idei.

Badanie praktyk związanych z oprogramowaniem

Lubimy czerpać informacje z danych. Mierzenie tego, jak dobrze praktyki się sprawdzają, jest kluczowe. Udostępniamy nasze badania i wiedzę, aby inni też mogli czerpać z nich informacje.

2018-01-04T13:19:59+00:00
Sam Guckenheimer

Sam Guckenheimer

Sam Guckenheimer works on Microsoft Visual Studio Cloud Services, including VS Team Services and Team Foundation Server. He acts as the chief customer advocate, responsible for strategy of the next releases of these products, focusing on DevOps. He has written four books on DevOps and Agile Software practices.