...jak zrozumieć i wydobyć najwięcej z idei cloud computing'u :)
Cloud Computing to stosunkowo nowa idea, będąca wynikiem ewolucji rozumienia oprogramowania oraz dostosowywania się metod jego tworzenia do nowoczesnych technologii. W skrocie - development2.0 ;)
A w czym wyraża się to "nowe podejście"? Kiedyś* proces wytwarzania oprogramowania oparty był o model "in the box" - oprogramowanie rozumiano jako pewną integralną całość. Szukając prostej analogii między kolejnymi wersjami produktu wykonywano z punktu widzenia użytkownika "milowe kroki" (ironicznie milestones? :P) Przykładem takiego podejścia są pakiety oprogramowania biurowego - oprócz wstecznej zgodności niewiele łączy starą i nową wersję (oczywiście poza funkcją), zmiany są widoczne gołym okiem! Wpływ na takie podejście miała przede wszystkim droga technologia wdrożeń. Produkt musiał działać na praktycznie dowolnej platformie sprzętowej, mieścić się na płytę, te płyty trzeba też jakoś dostarczyć. Tak więc działanie "w locie" było strasznie nieopłacalne (dopóki Internet nie zaczął wkraczać w tę sferę, oczywiście).
Niedawno jednak powstał nowy trend - aplikacje zaczęto dzielić na mniejsze kawałki, często działające w przeglądarkach internetowych (rozwój technologii przeglądarek oraz rozwój skryptów). Wraz z dzieleniem aplikacji powstał trend tworzenia protokołów - XML, microformats itp., które pozwoliły składać ze sobą mini-aplikacje porozumiewające się tym samym protokołem. W ten sposób powstawały "chmury", czyli sieć luźno powiązanych autonomicznych funkcjonalności, które poprzez współpracę tworzą większe, elastyczne produkty.
Przykładem niejako oczywistym oprogramowania w chmurze są Google Apps - Google Docs, Google Spreadsheets, Google Presentations, Google Sites i ostatecznie Gmail, Google Calendar i iGoogle (oraz wszystkie pozostałe). Każda z usług działa autonomicznie i jest kompletnym produktem w ramach jednego konta Google. Mimo to, każda posiada zestaw protokołów do komunikacji z innymi usługami - w GMail możemy utworzyć wpis w kalendarzu z zaproszeniem kontaktu, możemy także przeglądać nasze dokumenty**, czy porozmawiać na GTalku wbudowanym w interface (a nasza rozmowa zostanie zapisana w logu). Jak widać programy dość luźno ze sobą koegzystują, pozwalając nam na swobodne dobieranie stopnia w jakim je wykorzystujemy - to jest właśnie cloud computing i filozofia jaka za nim stoi.
Dużo ciekawsze jest jednak to, jak cloud computing wpływa na codzienną pracę. Oczywiste jest to, że Internet to "żywy cyrk" i w każdej sekundzie kilka milionów ludzi wykonuje szereg fascynujących czynności z nim związanych - rozmawiają, pracują, wysyłają wiadomości e-mail, szukają informacji itd. Wszystko realtime i z ogromnym udziałem samych ludzi - cloud computing daje się nam we znaki również tutaj! :D
Internetowa natura mini-aplikacji, ich działanie w przeglądarce, oparte o uniwersalne protokoły sprawia, że mogą one działać w czasie rzeczywistym. Normalny produkt, powiedzmy edytor tekstów, doskonale sprawdza się w sytuacji, kiedy tylko my nad nim pracujemy (pisząc np. nasze CV) - dużo gorzej, kiedy musimy pracować z innymi. Wtedy pojawia się pewien problem z wersjonowaniem zmian, ponieważ ludzie mają pewną denerwującą tendencję do nadpisywania sobie nawzajem pracy ;) Jakże wygodniej pracuje się w przeglądarce internetowej, w której to co wpisujemy jest asynchronicznie*** wysyłane do serwera i sekundę później jest widoczne o wszystkich osób, które w tym samym czasie pracują nad dokumentem. Bez wysyłania załączników, bez kilkunastu (tylko?) wersji tego samego pliku, który ostatecznie i tak się gubi :) Wszystko jest w jednym miejscu, czysta kolaboracja nad projektem :]
A propos kolaboracji i trzymania w jednym miejscu - spotkałem się z wieloma głosami sprzeciwu z ideą cloud computingu, jakoby miał on powodować zagrożenia dla bezpieczeństwa danych. W przypadku Google Docs, przecież Google może mieć pełen dostęp do naszych ściśle tajnych dokumentów. Owszem może. Mimo to, warto rozważyć pracę w chmurze, chociażby do działań kolaboracyjnych ;) Kopię zawsze można pozostawić sobie na komputerze lokalnym...
Idea cloud computingu napewno jeszcze wróci na łamy mojego bloga - naturalnie w kategorii cloud computing ;)
__________________________________
Przypisy:
* na studiach nadal mnie tego uczą ;)
** zajrzyj do Google Labs w ustawieniach GMail ;)
*** w uproszczeniu "w tle" ;)
czwartek, 30 października 2008
Subskrybuj:
Komentarze do posta (Atom)

0 komentarzy:
Prześlij komentarz