Apps in the clouds, czyli jak policzyć chmury?
Czym właściwe jest chmura? To pytanie nieuchronnie pojawia się, gdy zaczynamy zgłębiać tematykę określaną jako cloud computing i bardzo szybko dochodzimy do wniosku, że jest to bardzo pojemny termin. |
W zależności od tego, kogo zapytamy, dostaniemy inną odpowiedź. Dla producenta sprzętu chmura to zdolność do zapewnienia mocy obliczeniowej dynamicznie skalowanej zgodnie z aktualnym zapotrzebowaniem odbiorcy. Producent platformy programistycznej natomiast będzie dostarczał środowisko programistyczne i narzędzia, które umożliwią stworzenie aplikacji korzystającychz infrastruktury udostępnionej w modelu cloud computing. Z kolei producent oprogramowania umożliwi korzystanie z aplikacji online przy pomocy prostych, ogólnodostępnych narzędzi, typu przeglądarki internetowe. Warto więc sięgnąć do wiarygodnego źródła po definicję tego pojęcia. Amerykański National Institute of Standards and Technology podaje, iż jest to model dostępu do puli współdzielonych zasobów przetwarzających dane, które mogą być dynamicznie rozdysponowane i udostępnione w sieci na żądanie, przy minimalnym udziale dostawcy. Oczywiście dla użytkownika końcowego najbardziej interesujący jest efekt finalny – nowe możliwości, jakie daje aplikacja udostępniona w tym modelu.
Dziś mówimy jeszcze o dosyć oczywistych zaletach chmury, jednak nie bierzemy pod uwagę ogromnej wyższości oprogramowania tworzonego w tym modelu nad tradycyjnym. Potężne moce obliczeniowe, transparentność względem technologii stosowanych przez użytkownika, dostęp do ogromnej liczby danych czy mobilność. Właściwości cloud computingu sprawią, że aplikacje tworzone w tego typu środowisku będą mieć z czasem nieporównywalnie większe możliwości niż obecnie. Jakie zatem będą aplikacje za kilka lat? Z pewnością skalowalne i nieprzypisane do żadnych konkretnych zasobów sprzętowych – staną się niezależne od stosowanych systemów operacyjnych czy posiadanej infrastruktury. Będą przede wszystkim oferować dostęp do ogromnych zasobów zgromadzonych w ogólnie dostępnych publicznych chmurach (public cloud). Będą bardziej inteligentne, bazujące na naszym profilu społecznościowym, bardziej spersonalizowane i dostosowane do naszych potrzeb.
Kiedy tak naprawdę dokona się ta swoista rewolucja? Odpowiedź na to pytanie możemy uzyskać, obserwując świetnie rozwijający się obecnie rynek aplikacji dedykowanych na urządzenia mobilne. Zaczął on rosnąć wyjątkowo szybko wraz z pojawieniem się telefonów Apple i platformy programistycznej umożliwiającej dopisywanie własnych rozwiązań przez deweloperów. Cel jest prosty – zamieścić w jednym miejscu aplikacje, które pozwolą w prosty i ergonomiczny sposób skorzystać z zasobów zgromadzonych w sieci. Wytworzona w ten sposób wartość dodana telefonu, tabletu czy też ogólnie urządzenia przenośnego bardzo szybko okazała się oczywistym sposobem na budowę przewagi konkurencyjnej. Powszechna dostępność odpowiednich narzędzi i popularność produktu zdecydowała o wyjątkowym sukcesie przedsięwzięcia. W ślad za producentem telefonów podążyli kolejni, powielając model biznesowy prekursora. Jeśli potraktujemy chmurę jako specyficzną platformę dla aplikacji, okazuje się, że mamy już gotową odpowiedź na nasze pytanie. Aplikacje ewoluują wówczas, gdy technologia staje się na tyle powszechna i przyjazna, że tworzenie aplikacji jest względnie proste. Problem w tym, że obecnie nie ma optymalnych narzędzi, które pozwalałyby wykorzystać specyficzne właściwości chmury. Programowanie rozproszone jest jednym z trudniejszych zagadnień z dziedziny informatyki, a brak intuicyjnych narzędzi stanowi hamulec rozwoju nowej technologii. Czy wkrótce się to zmieni?
Jedną z ciekawszych propozycji podejścia do problemu stanowi język BLOOM, nad którym pracują naukowcy z Uniwersytetu w Berkeley. Prowadzone przez nich prace mają na celu zapewnienie spójności danych poprzez budowę odpowiednich mechanizmów koordynujących komunikację, które nie będą wprowadzać dodatkowych opóźnień. Kluczem do rozwiązania problemu jest stworzenie środowiska programistycznego, które zapewni mechanizmy do intuicyjnej obsługi wszystkich anomalii związanych z tym trudnym zagadnieniem. W momencie, kiedy programiści zyskają proste narzędzia, ułatwiające poruszanie się w nowym środowisku, tylko „niebo będzie granicą” rozwoju oprogramowania. Nie ulega wątpliwości, iż ogromny potencjał rynku związany z chmurą jest dostrzegany przez największych graczy na rynku IT. Oczywiście jest jeszcze wiele barier do pokonania, ale ci, którzy już teraz zdecydują się na model biznesowy oparty na cloud computingu, mają szansę zbudować ogromną przewagę konkurencyjną i skorzystać z niej w krytycznym momencie, kiedy rozwiązania tego typu staną się dla wszystkich dostępne, a korzyści z ich użytkowania oczywiste.
Czy cloud computing będzie zatem wyłącznie domeną największych korporacji? Okazuje się, że bariera wejścia w technologię nie jest aż tak wysoka. Największe firmy IT współpracują z kompetentną w zakresie ich produktów siecią partnerów. Budowa prywatnej chmury może okazać się doskonałym modelem współpracy na linii producent – partner – klient. A jakość świadczonych w ten sposób usług osiągnie zupełnie nowy poziom.
Autor: Robert Różycki, Channel Manager Comarch
Artykuł pochodzi z magazynu Nowoczesne Zarządzanie nr 1/2011.