Chmura to nie on-premise

Inżynierowie tworząc architekturę i powołując nowe zasoby w chmurze w sposób niejawny podejmują decyzje zakupowe. Czasem wielokrotnie wciągu jednego dnia! Każda z nich ma wpływ na wielkość rachunku wystawionego na koniec miesiąca przez dostawcę chmury publicznej. Dla organizacji z długą historią jest to zupełnie nowa rzeczywistość. Działom finansowym trudno odnaleźć się w sytuacji, gdzie nie ma długofalowego planowania zakup sprzętu i licencji dla działów IT. W następstwie tego osoby kontrolujące wydatki ponoszone na IT stanęły przed nowym wyzwaniem, którego kiedyś po prostu nie było. W modelu on-premise nikt nie mógł przekroczyć budżetu po realizacji zamówienia. Bez względu na to jak używane były serwery ich koszt operacyjny był z góry znany i przede wszystkim stały.

Elastyczność chmury zmieniła zasady gry. Zakupy realizowane są w ciągu sekund, natomiast koszty zmieniają się w czasie rzeczywistym w odpowiedzi na bieżące użycie.

Jak optymalizować koszty chmury AWS z wykorzystaniem FinOps?

Za zmianą technologii podążają zmiany w praktykach

Budowa rozwiązań cloud-native uczyniła capacity planing przestarzałym, a zmiany w technologii spowodowały rozwój nowych praktyk zarówno na poziomie inżynierii rozwiązań jak i zarządczym.
Truizmem będzie stwierdzenie, że każdy problem w IT można rozwiązać na wiele sposobów. Architektura opisuje te rozwiązania. Każdy doświadczony architekt przyzna, że architektura to sztuka kompromisów. Jednak podobnie jak w przypadku bezpieczeństwa, tak w temacie kosztów ciężko zgodzić się na daleko idące ustępstwa.

Do tradycyjnej grupy wymagań niefunkcjonalnych, takich jak dostępność, wydajność i wspomniane już bezpieczeństwo (jest ich sporo więcej) należy koniecznie dodać koszty operacyjne rozwiązania. Systemy IT nie powinny być przeskalowane, a przez to nadmiernie kosztowne. W idealnej sytuacji koszty rozwiązania powinny rosnąć wolniej niż wolumen transakcji przez nie obsługiwanych. Świadczy to o doborze najlepszej architektury, która w elastyczny sposób, na naszą korzyść, wykorzystuje ekonomię skali, która stanowi jedno z fundamentalnych założeń chmury publicznej.

Jak poradzić sobie z nadmiernymi kosztami w chmurze?

Często na początku drogi, a szczególnie w sytuacji przekroczenia zaplanowanych budżetów na chmurę, pojawia się pokusa, aby dział finansowy sprawował pieczę nad doborem technologii i kontrolował kto, kiedy i jakie zasoby może tworzyć. O ile w pewnej mierze takie podejście ma sens,

Przykładowo, jeśli nie przeprowadzamy milionów symulacji pracując nad nowym lekiem, to naszej organizacji nie będą potrzebne bardzo drogie maszyny wirtualne wyposażone w karty graficzne, na których owe obliczenia mogą być przeprowadzane, zatem dostęp do takiej kategorii serwerów można “odgórnie” zablokować uniemożliwiając ich przypadkowe uruchomienie.

to niestety, daleko posunięte podejście ścisłej kontroli obarczone jest wieloma negatywnymi skutkami, z którymi kadra zarządcza musi się liczyć. Przede wszystkim blokuje większość benefitów używania chmury publicznej przez:

    • ograniczenie dostępu do nowych usług i aktualizacji (które pojawiają się minimum, co kwartał i często powodują, że obecna „dobra” architektura staje się przestarzałą).
    • uniemożliwienie szybkiej budowy PoC.
    • zakaz eksperymentowania, a tym samym pozbawienie kadry IT możliwości rozwoju przez praktycznie poznawanie nowych rozwiązań.

Po drugie blokowanie IT jest źródłem konfliktów i buduje podziały na my kontra oni. Stawia programistów i inżynierów w pozycji osób do których organizacja nie ma zaufania i dlatego kontroluje ich finansowymi policjantami.

Ostatecznym, pragmatycznym powodem jest fakt, że nawet wstępnie zaakceptowane i sprawdzone usługi, mogą być skonfigurowane w sposób kosztowo nieoptymalny, powołane nadmiarowo lub najzwyczajniej w świecie zostać porzucone (ktoś ich kiedyś używał, potem przestał, ale zapomniał skasować – fachowo takie przypadki nazywamy waste).

Powyższe argumenty w moim przekonaniu są wystarczające, aby odradzać nadużywania władzy i nie wprowadzać żadnego daleko posuniętego gate keepingu.

Zatem co można zrobić, aby okiełznać rosnące koszty chmury?

Przed podjęciem działań, należy sobie uświadomić, że część z tych niezaplanowanych kosztów może być sensowna i właściwa, ponieważ przynosi korzyści dla organizacji. Wyzwaniem dla działu finansów będzie zrozumienie która! Trzeba się nauczyć odróżniać ziarno od plew i umiejetenie te koszty optymalizować.

Jak już napisałem, system zaprojektowany zgodnie ze sztuką będzie samoistnie dobierał ilość zasobów w chmurze, aby obsłużyć swoich użytkowników. W żargonie powiemy, że jest elastyczny. Zatem jeśli planowałeś, że średnio obsłużysz 10 tysięcy klientów miesięcznie i dla takiego wolumenu szacowałeś budżet, musisz uwzględnić czy przypadkiem ostatnia kampania marketingowa nie spowodowała wzmożonego popytu na produkty/usługi Twojej firmy, co spowodowało znaczący przyrost klientów i wyskalowało system, pociągając za sobą wzrost kosztów.

To oczywiście idealny przykład (i tylko takich Ci życzę) ukazujący ścisłą korelację między biznesem a technologią. Nie zawsze wyższe koszty to problem! Inne przykłady są trudniejsze do przeliczenia na pieniądze, bo po prostu trudno je wycenić:

Wszystkie mogły zostać wykonane w celu oszczędności czasu i zwiększenia bezpieczeństwa.

O ile takie niezaplanowane i niekontrolowane decyzje mogą zostać uzasadnione post-factum, szczególnie, że pokazują ekspertyzę i zaangażowanie personelu technicznego, to nie możemy pominąć faktu, że nie stanowią reguły i zawsze odpowiadają im nieuzasadnione koszty.

Rożne badania rynkowe zdają się być zgodne, iż średnio 20% kosztów chmury jest nadmiarowa. Niektórzy posuwają się w swoich szacunkach nawet do 35% (w co, osobiście jestem skłonny uwierzyć na podstawie swoich doświadczeń!). Już nawet dla małych i średnich przedsiębiorstw stanowi to wymierne sumy pieniędzy idące w dziesiątki lub setki tysięcy, a często miliony, dolarów rocznie.

To przede wszystkim w tym obszarze należy optymalizować koszty chmury, czyli szukać oszczędności i wyeliminować stratę!

Jak? Patrz punkt 3 w paragrafie poniżej.

Nowe wyzwania dla „finansów” w chmurze

Według mojej najlepszej wiedzy do odpowiedzialności CFO lub CIO w kontekście finansów chmury należy szeroko rozumiana budowa kultury FinOps, na którą składają się przede wszystkim następujące kwestie:

 

1. Alokacja kosztów – sposób przypisywania kosztów chmury do konkretnych systemów (projektów) lub jednostek organizacyjnych. Nietrywialne zadanie, którego celem jest stworzenie jasnych kryteriów zapewniających transparentność pomiarów kosztów. Czasem trudno odseparować koszty między projektami, przejrzyste zasady pomogą zespołom IT zrozumieć w jaki sposób są wewnętrznie rozliczne.

Jednym z pierwszych, kluczowych zadań w tym obszarze będzie zdefiniowanie strategii tagowania zasobów i wprowadzenie jej w życie.

Na wyższym poziomie dojrzałości będziesz musiał opowiedzieć się za wyborem jednego z modeli rozliczeń: chargeback lub showback. Umożliwi to przeniesienie jeszcze większej części odpowiedzialności za koszty rozwiązań w chmurze na krawędź organizacji – do zespołów za nie odpowiedzialnych.

 

2. Przewodzenie działaniom mającym na celu wypracowanie wewnętrznych praktyk i standardów ułatwiających zarzadzanie i optymalizacje kosztów chmury już na etapie projektowania. Działania te muszą być prowadzone z działami technicznymi i inżynierami. Próby narzucania reguł z książek i najlepszych praktyk z Internetu, rzadko kiedy odnoszą sukces z racji technologicznych i kulturowych ograniczeń.

Niechlubna prawda jest taka, że osoby techniczne nie znoszą krytyki rozwiązań, które stworzyły, a już zupełnie źle ją przyjmują od osób nietechnicznych. Stąd też zalecam budowę mechanizmów współpracy opartych o partnerstwo. Dużo lepszą receptą na sukces jest zaangażowanie działów IT przez pokazanie wspólnego celu jakim jest niski koszt operacyjny. Programiści i inżynierzy uwielbiają wyzwania, dlatego przedstawienie niskich kosztów (przy zachowaniu pozostałych parametrów niefunkcjonalnych) jako osiągnięcia technicznego (natury inżynieryjnej) będzie stukrotnie lepszym motywatorem niż jakiekolwiek przykazy i nakazy mające swe źródło w obcym dziale finansowym.

Warto też rozważyć bardziej wymierne motywatory, być może część zaoszczędzonych pieniędzy przez projekt może „wrócić” do jego budżetu i umożliwić zatrudnienie kolejnej osoby, która odciąży zespół?

 

3. Inicjowanie działań mających na celu optymalizację bieżących i przyszłych kosztów chmury. Jest to jedyna rzecz, która może przynieść natychmiastowe ograniczenie bieżących kosztów, szczególnie jeśli jest wykonana po raz pierwszy, gdyż zwykle dostarcza wachlarz prostych w realizacji optymalizacji kosztowych (low hanging fruits). W naszej ofercie istnieje dokładnie taka usługa i gorąco zachęcam z niej skorzystać.

Ale uwaga, to nie jest to panaceum (silver bullet) na wszystkie problemy kosztowe!

Jak najbardziej uzasadnione jest rozpoczęcie od tego kroku nawet gdy inne aspekty są dopiero na etapie planowania. Jednak warto wiedzieć, że to na liderze podejmującym decyzje spoczywa odpowiedzialność za zaplanowanie strategii budowy kultury FinOps w organizacji, tak aby całe działanie było również nastawione na wyciagnięcie wniosków, zmianę sposobu pracy i projektowania architektury. Tylko takie podejście może zaowocować oszczędnościami w przyszłości (cost avoidance). W przeciwnym wypadku optymalizacja kosztów chmury obniży chwilowo rachunek, ale nie rozwinie umiejętności kadry technicznej, co będzie skutkować powtórzeniem tych samych błędów i kolejnymi wysokimi rachunkami w przyszłości.

Redukcja kosztów w praktyce.
Trzy umowne kategorie optymalizacji

Optymalizacje kosztowe rozpoczynają się od analizy bieżących i historycznych rachunków oraz sprawdzenia, które usługi chmury AWS i w jaki sposób są używane przez organizację (lub konkretny system na koncie AWS – zależy od skali optymalizacji).

Na podstawie tych informacji i wglądu w architekturę wdrożonych rozwiązań, architekt specjalista ds. kosztów (ang. cloud economist) przygotowuje zestaw rekomendacji wraz z szacunkowymi wyliczeniami oszczędności, które zostaną osiągnięte po ich wprowadzeniu w życie. Rekomendacje są bardzo techniczne w swej naturze.

Z mojego doświadczenia, owe rekomendacje można skategoryzować na trzy grupy pod względem czasu i zasobów potrzebnych do ich realizacji:

    • Szybkie i proste – w większości wypadków dotyczą źle skonfigurowanych lub zupełnie zbędnych zasobów, lecz nie wpływają na architekturę rozwiązania. Czas realizacji to dni, a czasem tylko godziny! Bardzo często już kolejnego dnia można zobaczyć efekt w postaci niższych kosztów.
    • Średnie – tutaj mamy do czynienia z problemami, które wymagają większej dozy planowania. Często wymagana jest dodatkowa analiza potencjalnego wpływu na inne komponenty lub usługi organizacji. Jest to szczególnie ważne w przypadku nieodwracalnych operacji np. usuwania zasobów potencjalnie zbędnych, co do których wstępnie nie było pewności. Z tego powodu redukcji kosztów możemy oczekiwać w perspektywie dni lub tygodni.
    • Skomplikowane – ta kategoria zawsze wymaga poważnych zmian w architekturze rozwiązania, które nigdy nie są ani szybkie, ani proste do wdrożenia. Stąd też należy liczyć się z wielotygodniowym okresem prac, zanim osiągniemy szacowane oszczędności.

Redukcja kosztów w praktyce. Trzy umowne kategorie optymalizacji

Ta trzypoziomowa kategoryzacja w praktyce jest bardzo wygodna na etapie planowania prac naprawczych i ustalania kolejności działania.

Warto w tym miejscu wspomnieć, że nasza podświadomość zwodzi nas na manowce i nastawia na to, iż tylko Skomplikowane optymalizacje przyniosą duże (zauważalne) skutki na rachunku. Nic bardziej mylnego! Wszystko zależy od konkretnego projektu, użytych usługi, ich konfiguracji oraz wolumenu użycia.

Mamy w portfolio przykłady Szybkich i prostych optymalizacji, które przyniosły większe oszczędności niż te bardziej czasochłonne.

Optymalizacja kosztów chmury – przykłady success stories

U jednego z naszych klientów, przeprowadziliśmy analizę kosztową oraz wprowadziliśmy w życie zalecenia dotyczącą optymalizacji dysków w usłudze EBS (Amazon Elastic Block Storage). Szybka i prosta optymalizacja kosztowa przyniosła natychmiastowe skutki: oszczędności rzędu 20%. W skali roku klient zaoszczędził około 240 000 dolarów.

W innym przypadku, w kategorii Średniej, zidentyfikowaliśmy waste (niepotrzebne zasoby) generujący 68% kosztów całej usługi. W skali rocznej przełożyło się to na 4 730 dolarów oszczędności.

Działaniem, które wymagało od nas najwięcej pracy i czasu była zmiana architektury rozwiązania w taki sposób, aby zniwelować koszty związane z Elastic IP. Była to oczywiście Skomplikowana zmiana do przeprowadzenia. Przed rozpoczęciem działań naprawczych klient płacił blisko 30 000 dolarów za same adresy IP przypisane do tysięcy wirtualnych maszyn EC2. Po ponad roku prac, koszty zostały zmniejszone o 67% do mniej niż 10 000 dolarów miesięcznie. Rocznie dało to oszczędność powyżej 123 000 dolarów.

Optymalizacja kosztów chmury - przykład

Remarkably, the conceptual work only initially required significant involvement of architects and engineers in the analysis and preparation of the new network architecture. Most of the practical work was done by less-skilled employees who performed the necessary steps on each EC2 server, thus saving the time of the most valuable specialists.

As you can see, real-world examples show that the savings achieved through cost optimization do not depend on the difficulty level and time-consuming implementation. Sometimes the most straightforward solutions yield the most significant savings, which doesn’t mean that the more challenging ones aren’t worth pursuing.

Of course, total savings (those in dollars) depend on the billing amount, but even the $4,730 saved per AWS service for this customer represented about 16% of total AWS costs and made a real difference.

Co dalej?

Wiem, że doskonale zdajesz sobie sprawę, że ustanowenie kultury FinOps, to zmiana organizacyjna, która może trwać latami.

W sytuacji, gdy niezbędne jest szybkie działanie, spowodowane na przykład przekroczeniem budżetu, rekomenduję przeprowadzenie szybkiej optymalizacji kosztowej w celu uzyskania wiarygodnych informacji na temat potencjalnych oszczędności i technicznych wytycznych prowadzących do ich osiągnięcia.

W najprostszej formie takie analizy trwają kilka dni. Zależy to oczywiście od zakresu, na który składa się ilość kont AWS oraz wykorzystanych zasobów i usług.

Szybkie i proste optymalizacje dadzą Ci realne, wręcz natychmiastowe oszczędności. Będą też Twoim własnym success story, które wybrukuje drogę Twojej organizacji do FinOps.

 

How useful was this post?

Click on a star to rate it!

Average rating 5 / 5. Vote count: 1

No votes so far! Be the first to rate this post.

W przypadku naruszenia Regulaminu Twój wpis zostanie usunięty.

    _Wszystkie wpisy z tej kategorii

    Podejście Cloud Native: Modernizować istniejące czy budować od podstaw natywne aplikacje chmurowe?

    Czym są aplikacje wie chyba każdy. A jak jest z pojęciem Cloud Native? Być może każdy, no prawie każdy, coś słyszał i będzie…
    Czytaj dalej

    Czy Edge to nowa chmura?

    Wiele organizacji, które przyjęły chmurę, traktuje Edge jako naturalne rozszerzenie swoich rozwiązań opartych na niej. Z drugiej strony, te firmy, które są na…
    Czytaj dalej

    Obliczenia kwantowe: Kot Schrödingera zadomowił się w chmurze

    Zapnij pasy i dołącz  do mnie w podróży do świata, w którym kot może być zarówno martwy, jak i żywy, a cząsteczka może…
    Czytaj dalej

    Czy chmura hybrydowa i multi-cloud obronią Cię przed vendor lock-in? Czy rzeczywiście musisz się tego wystrzegać?

    Uzależnienie od dostawcy (vendor lock-in), to pojęcie nad wyraz często łączone z branżą IT, a w ostatnich latach szczególnie z chmurą obliczeniową, chociaż…
    Czytaj dalej

    (r)Ewolucja w zarządzaniu danymi produkcyjnymi. Platformy danych w chmurze

    Platformy danych oparte na chmurze stają się przełomem w zarządzaniu danymi produkcyjnymi. W przeszłości firmy zmagały się z zarządzaniem ogromnymi ilościami danych generowanych przez…
    Czytaj dalej

    Jak AI Data Discovery pomaga firmom produkcyjnym?

    Odkryj przyszłość przemysłu produkcyjnego dzięki usłudze AI Data Discovery i chmurze! Poznaj, jak te technologie i usługi eliminują straty i zwiększają efektywność branży…
    Czytaj dalej

    Migracja do chmury i modernizacja aplikacji Airline Rewards: mapowanie wymagań architektury

    W tym artykule przeprowadzę Cię przez kroki, wybory techniczne i kompromisy związane z migracją i modernizacją aplikacji do chmury publicznej, kładąc nacisk na…
    Czytaj dalej

    Jak właściwie rozumieć chmurę publiczną w 2023? I dlaczego jest to takie trudne?

    Chmura ciągle się zmienia i ewoluuje. To co widzimy dziś, to nie to samo było wczoraj i nie to samo co będzie jutro.…
    Czytaj dalej

    Przyspieszenie wdrożenia koncepcji Przemysłu 4.0

    Cyfrowa transformacja i podążanie w kierunku idei Przemysłu 4.0 oraz Inteligentnej Fabryki (w AWS) nie należą do łatwych. Najczęstsze przeszkody to utknięcie na…
    Czytaj dalej

    Jak zbliżyć się do Przemysłu 4.0?

    Rozwijaj biznes dzięki cyfrowej transformacji. Zmiany obejmują także komunikację i przygotowanie pracowników – bez ich poparcia i zaangażowania, wdrożenie będzie znacznie trudniejsze. Sprawdź,…
    Czytaj dalej

    Jak wdrożyć założenia Przemysłu 4.0 mądrzej, szybciej i łatwiej?

    Pojęciem związanym z Przemysłem 4.0 jest Smart Factory - inaczej mówiąc "inteligentna fabryka". Ten typ fabryki oparty jest na zintegrowanych systemach przy wykorzystaniu…
    Czytaj dalej

    Chmura napędza cyfrową transformację

    Chmura coraz częściej stanowi kluczowy aspekt powodzenia procesu transformacji cyfrowej. Rozmowa z Christianem Thiem, starszym analitykiem biznesowym w TT PSC Germany GmbH, dostarczy…
    Czytaj dalej

    Co musisz wiedzieć o serverless computing?

    Serverless cmputing nadal budzi sporo wątpliwości, szczególnie wśród tych środowisk, które właśnie zaczynają korzystanie z usług chmurowych lub dopiero planują migrację do chmury…
    Czytaj dalej

    Czym jest DevOps as a service i czemu warto z tego skorzystać?

    Oszczędność, skrócenie czasu wdrażania zmian oraz weryfikowanie ich poprawności – to tylko kilka przykładowych korzyści, których gwarantem jest DevOps. Ta innowacyjna metodologia wprowadziła…
    Czytaj dalej

    9 powodów, dla których powinno się wykorzystywać chmurę w prowadzeniu biznesu

    Zgodnie z raportem firmy RightScale „2019 State of the Cloud Report from Flexera”, aż 94% firm używa chmury. To nie przypadek, że tyle…
    Czytaj dalej

    Jak zacząć przygodę z Azure i przygotować się do certyfikacji AZ-900

    Zapotrzebowanie na specjalistów w obszarze Cloud stale rośnie. Jak zdobyć szeroki zakres kompetencji i szybko odnaleźć się w temacie chmury? Najlepiej zacząć od…
    Czytaj dalej

    Chmura na czas kryzysu, czyli jak usprawnić pracę w swojej firmie

    Świat, który znaliśmy przez ostatnie lata mocno się zmienia. Wymusza na nas zmianę przyzwyczajeń, a także sposobów w jaki pracujemy i realizujemy nasze…
    Czytaj dalej

    Jak zadbać o bezpieczeństwo aplikacji serverless w AWS?

    Konferencja AWS re:Invent 2019, podobnie jak jej poprzednie edycje, obfitowała w ciekawe wykłady typu breakout sessions, których celem było przybliżenie uczestnikom wybranego zagadnienia…
    Czytaj dalej

    Parametry SSM w automatyzacji AWS

    Jakiś czas temu zostałem zaangażowany w projekt, który miał dostarczyć Windchilla w sposób wysoko dostępny – w sumie nic nowego, klaster załatwia sprawę…
    Czytaj dalej

    Jak dotknęliśmy chmur – relacja z AWS re:invent 2019

    Udział w konferencji AWS re:Invent wymaga od uczestników, pomijając finansowanie, nieco zaangażowania i odrobiny samozaparcia. W naszym przypadku zakup wejściówek na konferencje w…
    Czytaj dalej

    Najważniejsze nowości z AWS re:Invent 2019

    Ciekawi Cię jakie nowości zostały zaprezentowane na AWS re:Invent, ale nie masz czasu stale przeglądać doniesień z Vegas? Nie musisz już szukać. Specjalnie…
    Czytaj dalej

    Jak wykorzystać Talend Open Studio w branży medycznej?

    Wykorzystywanie nowoczesnych technologii w medycynie jest coraz powszechniejsze. Papierowe karty pacjentów wypadają z obiegu i zastępują je elektroniczne formy przechowywania danych. Proces digitalizacji…
    Czytaj dalej

    Czym jest chmura Amazon Web Services?

    Chmura obliczeniowa to jedna z najdynamiczniej rozwijających się technologii na świecie. Stopniowo wypiera tradycyjne rozwiązania serwerowe, zgarniając dla siebie coraz większą część rynku.…
    Czytaj dalej

    Dlaczego serverless jest przyszłością aplikacji

    Co kilka lat, w świecie IT, pojawia się nowe, przełomowe rozwiązanie. Aktualnie, wszystkie oczy są skupione na Machine Learning(ML) oraz Sztucznej Inteligencji(AI). Wcześniej…
    Czytaj dalej

    _Zostańmy w kontakcie

    Skontaktuj się