W poprzednim artykule opisane zostały podstawowe pojęcia związane z Cloud Computingiem. Wyjaśniono, jak działa przetwarzanie danych w chmurze, a także ukazano różnice między różnymi modelami świadczenia usług. Niniejszy tekst skupi się na realnych korzyściach związanych z przeniesieniem procesów na zewnątrz.
Skalowalność
Ilość mocy obliczeniowej wymaganej do sprawnego wykonywania zadań postawionych przed przedsiębiorstwem nie jest stała w czasie. Można to zaobserwować nawet na przykładzie komputerów osobistych. Nawet jeśli kupimy urządzenie, które ma spory zapas mocy, prędzej czy później okaże się ono niewystarczające. Innymi słowy, nabywamy drogi sprzęt, którego możliwości wykorzystujemy tylko w niewielkim stopniu, aż któregoś dnia okazuje się, że przydałoby się mieć mocniejszą maszynę.
W przypadku cloud computingu ten problem nie występuje, gdyż wiele firm daje możliwość dostosowywania ilości wykorzystywanych przez nas zasobów. Co za tym idzie, w okresach mniejszego ruchu utrzymanie infrastruktury IT jest tańsze, gdyż wykorzystujemy mniej mocy obliczeniowej – ale w razie potrzeby można niewielkim kosztem uzyskać dostęp do większej pamięci czy kolejnych rdzeni procesora. Świetnym przykładem jest tutaj zrealizowana przez Stackmine migracja platformy sprzedażowej hurtowni motoryzacyjnej do chmury AWS. Dzięki zastosowaniu infrastruktury autoskalowalnej w technologii ELB Klient już nie musi się martwić mocą obliczeniową – jej ilość jest dostosowywana dynamicznie.
Bezobsługowość
Sprzęt z czasem się zużywa, a zgodnie z prawem Murphy’ego poważna awaria nastąpi w najgorszym możliwym momencie. W przypadku przetwarzania danych na komputerach i serwerach należących do firmy może to być poważnym problemem. Kluczowe jest więc dbanie o to, by wszelkie problemy naprawiać najszybciej, jak to możliwe. Wiąże się to z zatrudnianiem czuwających przez całą dobę specjalistów. Niektóre większe przedsiębiorstwa decydują się na backup – zapasowe maszyny mogące przejąć zadania od tych, które są czasowo wyłączone z użytku. A co, jeśli uszkodzony zostanie jakiś czynnik zewnętrzny, na przykład pojawią się problemy z zasilaniem? Pod koniec maja 2022 roku awarii uległa stacja transformatorowa przy elektrowni w Bełchatowie, wyłączając 10 z 11 energobloków. Aby zapobiec ryzyku związanemu z blackoutem można stawiać własne generatory prądu elektrycznego, ale to droga inwestycja, zaś komputery zużywają ogromne ilości energii.
Korzystając z cloud computingu można zgrabnie ominąć wspomniane ryzyko. Obliczenia są wykonywane na wielkich farmach superkomputerów. Oznacza to, że dane mają wiele bezpiecznych kopii zapasowych, zaś wykorzystywana przez nas moc obliczeniowa jest dostarczana nie przez samodzielne jednostki, ale przez kilka spośród połączonych ze sobą modułów olbrzymiej maszyny. Jest to, oczywiście, duże uproszczenie, ale wyjaśnia istotę bezobsługowości cloud computingu. Gdy z jakiegoś powodu zabraknie prądu, uruchamiane są rezerwowe źródła zasilania, za których montaż i konserwację nie płacimy milionów – koszt ich eksploatacji to jedynie ułamek ceny abonamentu. Gdy pamięć masowa ulegnie uszkodzeniu, albo wydarzy się jakakolwiek inna awaria sprzętowa, nie jest to problemem – inne maszyny przejmą zadania, a ponieważ współpracują ze sobą przez cały czas, moment przełączenia nawet nie zostanie przez nas zauważony. Od strony programowej natomiast, technologie chmurowe pozwalają zautomatyzować wiele procesów, upraszczając pracę. We wspomnianej powyżej migracji platformy sprzedażowej do chmury AWS zespół StackMine wykorzystał technologię Aurora, dzięki czemu wielkość bazy danych jest dostosowywana dynamicznie, zależnie od potrzeb. Samo wdrażanie aplikacji zostało zautomatyzowane, co oznacza mniej pracy i stresu po stronie Klienta.
Cena
Jest to dość kontrowersyjny aspekt. Jeśli bowiem porównamy ceny sprzętu u oficjalnych dystrybutorów, wynajem mocy w chmurze w perspektywie kilku lat jawi się jako sumarycznie droższy niż własny serwer. Wynika to z nieuwzględniania dodatkowych kosztów, o których nie myślimy w pierwszej chwili.
Przede wszystkim, jak wspomniałem w pierwszym akapicie, sprzęt z czasem wymaga wymiany na nowszy i wydajniejszy. Jednocześnie, odsprzedaż używanych, kilkuletnich urządzeń nie pokryje kosztów zakupu nowych maszyn. Należy jednocześnie pamiętać o tym, że dobrze jest mieć zabezpieczenie w postaci kopii danych czy jednostek obliczeniowych na wypadek awarii czy nagłego, nieprzewidzianego zwiększenia zapotrzebowania.
Przetwarzanie danych in-house oznacza konieczność zapewnienia przestrzeni na park maszynowy. Może to oznaczać wynajem lub pobudowanie własnej hali, co znacząco podnosi koszty już na starcie. W przypadku cloud computingu firmie wystarczy biuro i szybkie łącze internetowe.
Posiadanie własnego centrum przetwarzania danych oznacza konieczność zapłacenia za dostawy prądu – a, jak wspominałem wyżej, komputery mają na niego spory apetyt. Dodatkowo, ceny energii elektrycznej w Polsce są stosunkowo wysokie i trend ten w ciągu najbliższych lat się nie odwróci, gdyż jest bezpośrednio związany z wysoką emisyjnością i niską wydajnością naszego sektora energetycznego.
Ostatecznie, płacąc abonament za usługi cloud computing, na przykład w ramach AWS, dostajemy wsparcie techniczne – specjalistów, którzy dbają o to, by sprzęt działał jak należy. W przypadku przetwarzania danych in-house musimy zatrudniać ludzi samodzielnie. Jak widać, w szerszym ujęciu okazuje się, że cloud computing to tańsza (a na pewno wygodniejsza finansowo) alternatywa ze stabilną ceną.
Migracja
Komputery używane do przetwarzania danych w chmurze nie są tym samym co nasze desktopy. Nie da się na nich po prostu zainstalować używanego dotychczas programu i pracować na zdalnym pulpicie. Wiele systemów trzeba napisać na nowo, w sposób odpowiedni dla platformy. Może to powodować obawy przed postawieniem kroku naprzód, ale bez obaw – jesteście na stronie internetowej Stackmine! Mamy doświadczenie, wiedzę i wiele skutecznych migracji do chmury na koncie. Napiszcie do nas, a my zajmiemy się resztą.