Faktem jest, że takie korporacje jak Amazon,
Google, Microsoft od wielu lat przed pojawianiem się tematu wykorzystywały chmury lub tzw. gridy w swoich infrastrukturach sieciowych, lecz dziś mogą mocami obliczeniowymi cieszyć również klienci indywidualni.
Jako przykład praktyczny wykorzystam zlecenie jakie miałem okazję wykonać ostatnio. Klient potrzebował zaindeksować i otagować kilka gigabajtów danych dostarczonych w postaci plików tekstowych na DVD-ROM. Algorytm indeksacji nie jest tajny, więc wspomnę tylko, że danych źródłowych docelowy miał kilka tytułów, kilka opisów w różnych językach oraz powiązane atrybuty. Po krótkim reserchu okazało się, że na maszynie lokalnej oraz na dostępnym wirtualnym hostingu skrypty muszą działać dokładnie ok. tygodnia, aby przetworzyć wszystkie dane i utworzyć tabelę wyników. Uwzględniłem tutaj tabele wyników pośrednich dla optymalizacji oraz cachowanie często powtarzających się atrybutów w pamięci RAM.
Jak na złość zlecenie zostało zaplanowane na 5 dni i klient był nieugięty w terminie. Postanowiłem dać zarobić właścicielom chur obliczeniowych i skorzystałem z usługi Amazon. Jedyne co zrobiłem, to wypożyczyłem moc obliczeniową z bazą danych mysql i cachowaniem na 3 dni. Koszt był wystarczająco niski i udało się wykorzystując chmury uzyskać bardzo zadowalające wyniki. Co ciekawe rozliczałem się za megabajt transferu oraz czas procesowa w używaniu bazy danych mysql ;-) Polecam - na pewno nie stracicie, ale będzie to pozytywne zauroczenie mocami, jakimi dysponuje taka chmurka.
Aby móc efektywnie korzystać z serwerów wirtualizacji i zrobić pierwszy krok do korzystania z przetwarzania sieciowego, należy zoptymalizować sprzęt oraz oprogramowanie pod kątem zbalansowania poboru mocy oraz wydajności. Uzyskanie odpowiedniej równowagi eliminuje problem przeciążenia serwerów, a zasoby dla aplikacji i oprogramowania mogą być przydzielane w zależności od potrzeby, by zapewnić ich optymalne działanie.
Niniejszą wypowiedzią chciałbym skierować uwagę i odnotować istniejące,
zarazem promowane na rynku usługi i API upraszczające używanie chmur do minimum.
Skupić się warto na tym, że niektóre API obsługują wielu providerół chmur.
Oto lista providerów chmur, z którymi warto się zapoznać:
http://incubator.apache.org/libcloud/ - zestawienie wspieranych chur przez API
http://www.simplecloudapi.org/ http://www.simplecloudapi.org/api PHP class API http://www.simplecloudapi.org/api/simple-queue
http://deltacloud.org/ http://deltacloud.org/api.html
http://webhosting.pl/print/Zend.oferuje.deweloperom.PHP.interoperacyjnosc.dla.chmur
http://incubator.apache.org/libcloud/getting-started.html Python example
Materiały:
Matt Mullenweg o roli Open Source w technologii chmur
Dokument PDF na temat konstruowania chmur obliczeniowych
Cloud computing - MultiCore klucz do wirtualizowanych systemow