fbpx
devstyle.pl - Blog dla każdego programisty
devstyle.pl - Blog dla każdego programisty
7 minut

Po co uruchamiać aplikacje w chmurze?


21.02.2017

Chmura, chmura i chmura – ciągle i wszędzie. Nawet jeśli nie “piszesz na chmurę”, to z chmury prawie na pewno używasz. A może warto zainwestować jednak trochę czasu i poduczyć się, jak można to zjawisko wykorzystać dla własnych aplikacji?

O technologiach “chmurowych” mówi się od bardzo wielu już lat. Jednak to wygląda trochę tak, jak z programowaniem w .NET. Kto nie wskoczył do tej łódki na samym początku, ten może się teraz poczuć… nieco zagubiony. Zdecydowanie możemy zacytować własnych pradziadków, który kiedyś wstawali wraz ze słońcem, ciągali brony czy inne pługi cały dzień, a wieczorem wyprzęgali konia, walili kubek bimbru, padali na wyro i tyle. A teraz przerażeni patrzą na ekran smartfona i szepczą: “kiedyś było prościej“.

Oktawave & Red Hat zapraszają na webinarium: Ansible – stawianie środowiska HA.
Zabezpieczenie WordPressa.

28 lutego w godzinach 10:30 – 11:30

Podczas webinarium pokażemy, jak przygotować playbook uruchamiający zautomatyzowaną instalację serwera WordPress w konfiguracji HA wraz z zaleceniami bezpieczeństwa.
Uruchomione środowisko będzie się składało z dwóch serwerów aplikacyjnych i dwóch bazodanowych.
Do synchronizacji danych użyjemy Lsync i Unison. Ruch będzie balansowany przez load balancer Oktawave. W przygotowanej infrastrukturze wykorzystamy też autoskalowanie wertykalne.

AGENDA
– Konfiguracja serwerów www
– Konfiguracja synchronizacji pomiędzy serwerami www
– Konfiguracja bazy danych pod aplikacje WordPress
– Instalacja WordPress
– Konfiguracja WordPress wraz z zaleceniami bezpieczeństwa
– Dostosowanie konfiguracji iptables

Rejestracja ➡ http://bit.ly/WebinariumAnsibleHA

oktawave

Tak. Było. Było-minęło.

Co daje chmura?

Tak prosto z mostu waląc: kasę. Nie, dostawca chmury nie zapłaci Ci za wybranie jego usług. ALE! Dzięki chmurze to TY będziesz płacić prawdopodobnie mniej. Szczególnie jeśli mowa o początkowych inwestycjach w sprzęt. Nie musisz kupować serwerów na swoje aplikacje. Nie musisz fizycznie chronić tych serwerów. Nie musisz martwić się o ich chłodzenie, wentylację czy drobinki kurzu osiadające na wentylatorach i tylko czyhające, by narobić biedy. Dostajesz kawałek maszyny z całym tym dobrodziejstwem – o te wszystkie rzeczy dba ktoś inny.

Dzięki chmurze zyskujemy prostą skalowalność. Zaczynamy odnosić sukces, użytkowników przybywa? Przesuwamy odpowiednie suwaki i już – nagle nasza aplikacja ma do dyspozycji więcej RAMu, więcej dysku, więcej wszystkiego. Czasami nawet proces ten można zautomatyzować tak, aby środowisko samo wiedziało, kiedy trzeba “dokupić” zasobów i kiedy można je “zwolnić”. Cyber Monday? Święta? Ferie? Walentynki? Dzień Programisty? Nieważne w jaki czas roku celujemy swoim przedsięwzięciem – nie musimy kupować ton żelastwa na zapas, do wykorzystania tylko przez bardzo ograniczony okres.

A jeśli lubimy się pobawić, pouczyć, to także chmura nam dopomoże. Niezmiernie prosto jest stworzyć plac zabaw to eksperymentowania z nowymi technologiami. Nie musimy posiadać mega-wypasionych maszyn deweloperskich za X-naście tysięcy, tracących na wartości szybciej niż nowa fura. Wszystko postawimy sobie w obłokach. Jedyne wymaganie: dostęp do internetu. To nie powinno raczej nastręczać nikomu problemów, prawda?

Dla kogo?

Jeśli po prostu masz blogaska albo wizytówkę firmową i szukasz miejsca w internecie, które je czule przytuli, to… chmura oczywiście da radę. Ale niekoniecznie będzie to idealne rozwiązanie. Dedykowanych hostingów WordPressa (czy innych CMSów) jest cała masa.

Co innego, jeśli faktycznie mówimy o aplikacjach, usługach, serwisach. Tworzysz startup? Chmura jest dla Ciebie idealna. Budujesz system, który może rozrosnąć się w nieprzewidzianych kierunkach (jak chociażby moje parentingowe.pl)? Chmura, chmura, chmura!

Ważna, o czym napomknąłem już wcześniej, jest możliwość powolnego rozbiegania się.

Najpierw powoli, jak żółw ociężale,
Malutka maszyna: dużo nie chcę wcale.
Lecz pragnę mieć spokój i niedrżące ręce,
Gdy sukces zapuka, poprosi o więcej,
Bo gdy się rozpędzę, zostanę gigantem,
Chmurką się nakarmię! Niczym raper blantem

Tworząc aplikację gotową do działania w chmurze – a będzie taka, jeśli ją w chmurze od początku uruchomisz – jesteś gotowy na sukces. To jak z testowaniem: pisząc testy przed napisaniem kodu produkcyjnego siłą rzeczy utworzysz kod testowalny. Czyli: lepszy. Jak wielce smutne musi być uczucie niemocy, gdy powodzenie zabija produkt.

Dwa typy chmury

Do dyspozycji mamy kilka… rodzajów chmury. Dwa najpopularniejsze to:

Platform as a Service (PaaS) – kupujesz środowisko z systemem operacyjnym, frameworkami, runtimami i wszystkim tym, co jest potrzebne Twojej aplikacji do funkcjonowania. “Wrzucasz appkę i śmiga ™”.

Infrastructure as a Service (IaaS) – możesz wszystko. Kupujesz “komputer” i robisz co chcesz. Tyle, że nie musisz go targać ze sklepu do piwnicy na własnych plecach. I nikt Ci go nie ukradnie. Z wolnością jednak otrzymujesz w pakiecie odpowiedzialność: teraz to TY odpowiadasz za instalację, konfigurację i odpowiednie dbanie o swoje środowisko.

Tak naprawdę nie ma “jednego słusznego” podejścia. Wszystko ma swoje zastosowania, a oferta różni się pomiędzy dostawcami usług. Trzeba samemu zastanowić się, czego potrzebujemy. I ewentualnie wykorzystać ogromną elastyczność, jaką dostajemy wraz z chmurą.

Czy warto?

To nawet nie jest odpowiednie pytanie. Pytanie brzmi raczej: “czy już czas?”.

Tak. Trzeba zerknąć w stronę chmury i przygotować się na jej dominację. Pierwsze nieśmiałe kroki już za nami. Chmura jest, zadomowiła się, i żadne wichry jej nie rozwieją. Do nas należy świadome i mądre wykorzystanie oferowanych przez nią możliwości.

Podczas wielu rozmów słyszałem stwierdzenie, że “nie ma się co spieszyć“. Sam od dość dawna już należę do ostrożnych, mniej ryzykujących technologicznie, “nudniejszych” dinozaurów (do czego się zresztą przyznaję w tekście “‘Prawdziwy programista’ w pogoni za nowościami“). Nie piętnuję “niech inni najpierw zobaczą, z czym to się je“. Jako “ex-early-adopter” doceniam rozwagę i podejście “lata miną, zanim będzie sens eksplorowania tej technologii“. To wszystko prawda. Ale wiesz co? Te lata już minęły.

Teraz czas na nas. Trzeba zacząć nadganiać.

Miłego biegu!

Notify of
Tomek
Tomek

Myślę ze przy typach chmury powinien się jeszcze znaleźć SaaS (https://pl.wikipedia.org/wiki/Software_as_a_Service).

PioGasz

Z punktu widzenia przeciętnego biznesowego ludka – jest on (SaaS) najbardziej popularny i daje największe korzyści w określonym czasie. PaaS, IaaS to oferty dla programistów / kadry technicznej.

Tomasz Onyszko

Pełna zgoda! Dlatego właśnie SaaS rośnie, a wraz z nim wyzwania z nim związane (dostęp, kontrola, montorowanie itp.).

Z drugiej strony raz na jakiś czas pojawia się potrzeba, której nie zaadresuje gotowe rozwiązanie, lub chociażby potrzeba rozszerzenia gotowego pakietu SaaS. I tutaj wchodzi już przewaznie platforma.

I tak – PaaS to rozwiązanie kierowane do developerów. Dlatego, aby szybciej i łatwiej tworzyli oprogramowanie wspierające biznes.

piatkosia

Problem z chmurą jest taki, że nadal jest droga, jeśli stawiamy ją na cały czas. Chmura ma sens, jak przez krótki czas musimy coś policzyć. Każdy z zasobów, łącznie z czasem, czy bazą jest bowiem kalkulowany. Nie masz nad tym żadnej kontroli, więc pojedynczy dedyk jest lepszy. Masz limit i najwyżej ci aplikacja zacznie przymulać. Jak nie będzie wyrabiać, dopiero się przerzuci na chmurę. Wiesz, że nagle nie oskubią cię do golca. Jeżeli zaś piszesz o poligonie doświadczalnym – mamy teraz kompy na tyle szybkie, że postawienie maszyny wirtualnej, czy trzech maszyn wirtualnych nie stanowi problemu. Baw się puki chcesz,… Read more »

Tomasz Onyszko

No właśnie – w szczególności jak ktoś nie zarabia 15k to chmura jest dla niego dobra. Uruchamiasz tyle ile chcesz wtedy kiedy chcesz. Koszty da sie kontrolowac i nikt cie nie oskubie. Ewentualnie oskubiesz się sam jak odpalisz maszynę gigant na tydzień i zapomnisz wyłączyć.

Kiedyś miałem też takie podejście – maszyny wirtualne na laptopie, w końcu jest szybki itp. ale to jest bez sensu. Nie zrobisz tego tak szybko jak na chmurze jeżeli już mówimy o VMkach i wymaga to od Ciebie większego wysiłku. W szczególności jeżeli chcesz zrobić cos skomplikowanego.

Tomasz Onyszko

Z punktem #1 od razu się zgodzę i nie zgodzę :). Zgodzę się – tak, kasa. Nie zgodzę się – chmura nie oznacza, że od razu będzie taniej. Uwaga tłumaczę! Większość ludzi nadal kojarzy chmurę z maszynami wirtualnymi. To jedno z podstawowych zastosowań obecnie ale to skojarzenie to błąd. Maszyny wirtualne to tylko przejście do PaaS. W tym wypadku jeżeli ktoś porówna koszt maszyn wirtualnych z jakimś dedykowanym serwerem – chmura wyjdzie drożej. i tak ma być. Nie chodzi o to, że ma być taniej. Ma być bardziej elastycznie. Dedykowany serwer tak czy inaczej musisz utrzymywać, zarządzać nim itp. Jeżeli… Read more »

Mirek Burnejko

Ten Tomasz. Tak pięknie pisze <3

Jacek
Jacek

Brakuje kwestii prawnych np. ochrony danych osobowych, przekazanie odpowiedzialności podmiotom trzecim, lokalizacja przetwarzania danych (UE) itp.
Jeśli zbiera się jakieś dane osobowe (a kto nie zbiera?) to warto poświecić nieco czasu na przekminkę.
Gdzieś widziałem info, ze rozwiązania MS są zgodne z dyrektyw UE dotyczącą ochrony danych osobowych tylko czy urzędnik podczas kontroli w to uwierzy?

Tomasz Wisniewski

Nie ma powodu NIE uwierzyć bo na wszystko sa stosowne papiery i rozwiązania. W razie potrzeby w Microsoft służymy pomocą w tych kwestiach :)

Tomasz Onyszko

Jacek,
Bardzo sensowne uwagi – nawet poniekąd trochę w tym temacie pisałem ostatnio u nas na blogu: http://predica.pl/blog/google-vs-microsoft/.

Kazdy z dostawców chmury dba o to, żeby te uwagi jakoś zaadresowac – stąd centra dnaych w niemczech, stąd certyfikacje w kolejnych krajach i na zgodność z kolejnymi normami i regulacjami.

Teraz jeżeli masz wymóg na spełnienie jakiejś regulacji, masz na to dokument potwierdzający, że dany dostawca to spełnia i taki urzędznik przychodzi i mówi, że on tego nie uznaje:
(1) koleś ma problem ze swoim ego :)
(2) I tak go nic nie przekona :)

Tomasz Onyszko

JAcek, i BTW – lokalizacja przetwarzania danych jest, w zależności o których usługach mówimy.

Devman10
Devman10

Czy VPS to też IaaS?

websk0

Chmura to przyszłość. Kto wcześniej w nią nie zainwestuje ten potem będzie liczyć straty. Ilość zalet jaka płynie ze współpracy z chmurą jest ogromna. Super artykuł.

Kurs Gita

Zaawansowany frontend

Szkolenie z Testów

Szkolenie z baz danych

Facebook

Książka

Zobacz również