Google obniża ceny za korzystanie ze swojej chmury
Ostatnio Google ogłosiło dużą obniżkę cen swoich usług chmurowych. Nowy cennik przynosi nie tylko niższe koszty używania ich usługi, ale również upraszcza obliczanie tych opłat eliminując część z nich lub łącząc kilka osobnych opłat w jedną. Niektóre opłaty spadają bardzo mocno. Na przykład koszt utrzymania miejsca na dysku w chmurze spada o 68%, przechowywanie danych w Big Table aż 85% (przemianowanym na BigQuery). Inne usługi tanieją przeciętnie o około 30%.
Jedni ucieszą się z tak dużych obniżek, ale inni z wrodzoną dociekliwością zapytają dlaczego? Google tłumaczy ten fakt obniżką cen hardware, powołując się na prawo Moore'a, które moim zdaniem ostatnio przestaje powoli się sprawdzać w odniesieniu do rozwoju sprzętu. Według nich koszty sprzętu tanieją 30 do 45 punktów procentowych rocznie, podczas gdy w większości chmur koszty ponoszone przez klientów maleją tylko o 6 do 8. Google chwali się, że dzięki obniżce, użytkownicy korzystający bez przerwy z chmury, oszczędzają przeciętnie połowę dawnych kosztów. To sporo. Pytanie tylko dlaczego Google obniża te ceny mimo, że tak spektakularnych obniżek nie robi konkurencja? Może po prostu Google nie jest "evil"? A może chodzi o coś innego?
Tłumaczenie, że koszty utrzymania chmury są zdeterminowane kosztami podzespołów komputerowych nie wydaje się sensowe. W końcu nawet nie działając w tej branży łatwo się domyśleć, że większy wpływ mogą mieć koszty utrzymania budynków, koszty prądu elektrycznego, czy moim zdaniem najważniejsze: pensje dla ludzi utrzymujących te centra obliczeniowe i nie chodzi tu tylko o administratorów i programistów. W końcu taki budynek musi też ktoś np. odkurzać. Nie słychać też, aby inne firmy kwapiły się do tak drastycznych cięć cen. Co więc jest z tą chmurą od Google? Przez pewien czas korzystałem z ich rozwiązań utrzymując kilka aplikacji na Google App Engine (GAE). Nie ukrywam, że tym co mnie głównie zachęciło do jej używania to właśnie cena, a w zasadzie jej brak. Moje aplikacje były na tyle małe i miały tak mało użytkowników, że bez problemu mieściły się w darmowych limitach. Jak wygląda zatem z punktu widzenia dewelopera praca z GAE?
Same administrowanie jest wygodne. Panel administracyjny jest bardzo rozbudowany i dość łatwy do opanowania, a pozwala nawet śledzić błędy w naszej aplikacji. Pod tym względem jest o wiele lepiej niż w nie zawsze łatwym do zrozumienia sposobie zarządzania aplikacją w Amazonie. Trzeba jednak pamiętać, że Google udostępnia swoją chmurę w formule PaaS, podczas gdy inni więksi konkurencji umożliwiają ją również w formie IaaS. W GAE mamy sporo ograniczeń. Na razie dostępne są tylko platformy programowania: Python, JVM i eksperymentalnie Go (choć już pracują nad PHP i jest on dostępny jako beta). Najlepiej w tym przypadku wypada Python, do którego wbudowano framework Django. We wszystkich językach można używać własnych frameworków webowych, które musimy w tym przypadku przesłać na serwer razem z aplikacją. Szczególnie ciekawie wydaje się tu zastosowanie JVM gdzie dostępnych jest wiele języków pracujących na tej maszynie wirtualnej, z których wymienię tylko: Scalę, Grooviego czy JRuby. Jednak problem w tym, że ograniczenie sandboksa GAE nie pozwala uruchamiać, żadnych dodatkowych wątków. Powoduje to, że wiele frameworków nie może być w pełni wykorzystanych. Trudne jest szczególnie pisanie aplikacji korzystających z technologii Comet. Niemiły jest również fakt, że zmuszeni jesteśmy do korzystania z bazy danych Google, co bardzo utrudnia w razie czego przeniesienie się na inne rozwiązanie (ostatnio rozwijają Cloud SQL w oparciu o MySQL co może poprawić nieco sytuację, jeśli baza ta osiągnie pełną zgodność z oryginałem). Z usługi Google zrezygnowałem po przejściu na Scalę i framework Lift, którym to GAE nie umożliwiała pełnego wykorzystania ich możliwości.
Problem z przenośnością aplikacji z Google do innych usługodawców, lub też na własne maszyny, jest tutaj moim zdaniem kluczowy. Firma ta bardziej niż inni uzależnia od siebie klienta. Trudno znaleźć jakiś większy startup korzystający z ich usług. Nic dziwnego bo kto chciałby się uzależniać na samym początku od jednego usługodawcy. Aż się tutaj prosi o porównanie do innej, ostatnio coraz bardzie popularnej chmury Azure od Microsoftu (chmura Amazonu jest tutaj, aż nadto oczywista). Ta wydawałoby się zła, uzależniająca od swoich produktów korporacja robi chmurę, która w żadnym stopniu nie wymusza na kliencie używanych technologii. Deweloper może postawić dowolny system operacyjny wybierając jeden z wielu gotowych obrazów. Dostępne są wszystkie popularne rozwiązania. Bardzo wygodnie używa się aplikacji napisanych w PHP, popularnych CMSów. Z chmury szczególnie chętnie korzystają programiści NodeJS. Nawet programiści Javy mogą bez problemu jej używać mimo, że stanowi ona konkurencję dla Microsoftowego .NETu. Korzystać możemy z wielu baz danych, a w szczególności najbardziej popularnej MySQL i wśród NoSQL-owych MongoDB. Można więc korzystać z usług Microsoftu bez specjalnych obaw, a w razie potrzeby nie będzie, żadnych problemów z przeniesieniem aplikacji na własne serwery lub do konkurencji. To na czym jest wirtualizowane Azure dla użytkownika nie ma najmniejszego znaczenia. Ważne, że sam może wybierać ulubione przez siebie rozwiązania.
Google wypada tutaj bardzo niekorzystnie w porównaniu do Microsoftu. Można by odnieść wrażenia, że Google celowo próbuje uzależnić użytkownika od swoich usług, co można zaobserwować nie tylko w chmurach. Czyżby wpatrzyli się w strategię Bill Gatesa polegającą na dostarczeniu wygodnego, taniego oprogramowania, ale przy okazji uzależnieniu ich od swoich rozwiązań, by potem wykorzystać monopol do dyktowania cen.
Analizując to wszystko można dojść do przekonania, że jak na razie chmura Google to jedna wielka klapa, albo przynajmniej niezbyt dobrze sobie radzi na tle konkurencji. Trudno znaleźć większe portale i aplikacje działające na ich rozwiązaniach. Ludzie po prostu nie są głupi i potrafią myśleć do przodu. Inny powód to brak możliwości uruchomienia bardzo popularnych rozwiązań webowych. Stąd działania Google w kierunku PHP i MySQL. Firma musi też drastycznie obniżać ceny, aby przyciągnąć do siebie klientów. Warto zastanowić się nad ich ofertą, ale też myśleć perspektywiczne i zastanowić się, czy dla tworzonego rozwiązania uzależnienie od usługodawcy nie będzie w przyszłości problemem.
Na zakończenie dodam, że świat IT zmienia się w bardzo dziwnym kierunku. Dotychczasowy największy wróg Open Source coraz częściej wykonuje działania wspomagające ten ruch, bo jak nazwać chociażby zatrudnianie głównych deweloperów PHP. Pewnie, że robi to dla własnego zysku, tak jak każda firma współdziałająca przy otwartym oprogramowaniu, ale fakt, że dostrzega swoją szansę na rozwój również w tym kierunku daje do myślenia. Z drugiej strony dla wielu osób Google widziane jako wielka firma wspierająca Linuksa zachowuje się czasami tragicznie, jak choćby z brakiem jakiegokolwiek wsparcia dla otwartego ODF. A jej wkład w rozwój Open Source jest procentowo dużo niższy niż wielu firm o znacznie skromniejszych środkach finansowych i w mniejszym stopniu tak uzależnionych od rozwiązań otwarto-źródłowych. Świat IT nie jest więc czarno biały jak widziałoby go wielu komentujących.
Warto rozważyć poniższy tekst. Czyżby Microsoft zaczynało go rozumieć?
Open Source jest dziś największym i najważniejszym nurtem w sektorze IT - albo dasz się ponieść na fali, albo utoniesz próbując płynąć pod prąd...
Sprostowanie:
Faktycznie w momencie pisania artykułu przeoczyłem fakt, że w zeszłym roku Google uruchomiło również usługi IaaS. Dziękuję za wyprowadzenie mnie z błędu użytkownikowi grapeli23. Z jednej strony to mój błąd, że nie przeszukałem wcześniej sieci, aby upewnić się, że taka usługa się pojawiła, a z drugiej świadczy to o bardzo słabym marketingu Google i małym zainteresowaniu mediów tym tematem. Uważam, że mnie jako użytkownika GAE Google mogłoby powiadomić o fakcie osobiście e‑mailem o możliwości użycia innego rozwiązania.