CLOUD COMPUTING CHMURA OBLICZENIOWA I PLATFORMA WINDOWS AZURE
Chmura obliczeniowa (ang. cloud computing) Termin chmura obliczeniowa powstał na początku XXI w., ale sam pomysł pojawił się już w XX w. Nazwa pochodzi od sposobu wizualizacji, którą zazwyczaj jest chmura. Chmura obliczeniowa to model przetwarzania oparty na użytkowaniu usług dostarczonych przez zewnętrzne organizacje 1. Funkcjonalność rozumiana jest tutaj jako oferowana przez dane oprogramowanie usługa. Konsument nie musi kupować sprzętu ani oprogramowania. Płaci tylko za użytkowanie określonej usługi. Inna definicja podaje, że przetwarzanie w chmurach (ang. cloud computing) to wynajęcie/ wypożyczenie infrastruktury komputerowej (sprzętu) oraz aplikacji, udostępnionych za pośrednictwem Internetu. Podstawą rozliczenia się za te usługi jest ich realne wykorzystanie 2. Najlepiej natomiast definicja chmury została opracowana przez analityków Gartnera: Cloud computing to styl obliczeń, w którym dynamicznie skalowalne (zwykle zwirtualizowane) zasoby są dostarczane jako usługa za pośrednictwem Internetu. Użytkownik nie musi mieć wiedzy na temat tego, w jaki sposób ta usługa jest realizowana, nie musi też zajmować się aspektami technicznymi niezbędnymi do jej działania 3. Rys. 1. Diagram przedstawiający chmurę źródło: http://pl.wikipedia.org/wiki/chmura_obliczeniowa 1 http://pl.wikipedia.org/wiki/chmura_obliczeniowa 2 http://msdn.microsoft.com/pl-pl/library/platforma-windows-azure--budowa.aspx 3 http://komputeks.pl/windows-azure-platforma-cloud-computing-dla-programistow-p-5319.html
Wyróżnia się 3 rodzaje chmur: 1. prywatne (ang. private cloud), będące częścią organizacji, aczkolwiek jednocześnie autonomicznym dostawcą usługi, 2. publiczne (ang. public cloud), będące zewnętrznym, ogólnie dostępnym dostawcą (np. Amazon.com, Google, Microsoft, itd.) 3. hybrydowe (ang. hybrid), będące połączeniem filozofii chmury prywatnej i publicznej. Pewna część aplikacji i infrastruktury danego klienta pracuje w chmurze prywatnej, a część jest umiejscowiona w przestrzeni chmury publicznej 4. Jeden z podstawowych podziałów odnoszących się do chmur, definiuje, co użytkownik może wynająć: kolokacja wynajęcie jedynie dobrze klimatyzowanego pomieszczenia z kablem od Internetu i prądem. O sprzęt i oprogramowanie musi zadbać użytkownik. Iaas (Infrastructure as a Service) użytkownik wynajmuje nam oprócz pomieszczenia również sprzęt, ale nadal do nas należy wgranie w niego całego niezbędnego oprogramowania. PaaS (Platform as a Service) użytkownik dostaje to, co w poprzednim modelu, jednak wzbogacone o działającą platformę aplikacyjną, na której może oprzeć swoje rozwiązanie. Do tej kategorii zalicza się właśnie platforma Windows Azure. SaaS (Software as a Service) w tym przypadku użytkownik otrzymuje już działającą aplikację, z której jedynie korysta. S+S (Software + Services) jest to model, który swoim charakterem stanowi w zasadzie sposób podejścia do klienta. Opiera się on w głównej mierze na modelu SaaS i polega na połączeniu klasycznego sposobu korzystania z aplikacji, czyli wersji pudełkowych (software), ale w razie potrzeby nie zamyka możliwości użycia produktu w wersji online (Service) 5. Jakie są korzyści z wykorzystywania chmury obliczeniowej? uniwersalny dostęp użytkownik może korzystać z usług z każdego miejsca na świecie, używając dowolnego sprzętu i (wspartego) systemu oszczędność cała infrastruktura jest w rękach usługodawcy w związku z czym nie ma potrzeby wydatku na jej utrzymanie przez konsumenta (co w szczególności przydaje się 4 http://pl.wikipedia.org/wiki/chmura_obliczeniowa 5 http://msdn.microsoft.com/pl-pl/library/platforma-windows-azure--budowa.aspx
gdy korzystamy z takowej nieczęsto), ponadto może być umieszczona w miejscach gdzie np. są niskie rachunki za prąd; z drugiej strony chmury obliczeniowe mogą powodować nadmierny ruch w sieci wydajność jest monitorowana przez odpowiednie jednostki, ale może być także obniżona przez nadmierne wykorzystanie istniejącej sieci niezawodność może być osiągnięta poprzez rozproszenie serwerów udostępniających usługę; niemniej przypadki zawsze się zdarzają i użytkownicy nie mogą na to nic poradzić skalowalność może być szybko dostosowywany do wymagań użytkownika ponieważ użytkownicy mogą robić to, co aktualnie potrzebują robić; pomaga to osiągnąć niższe koszty w eksploatacji chętne używanie użytkownik nie jest skazany na tworzenie produktu czy odpowiednią konfigurację jako, że używane produkty są łatwe do opanowania i używania; z drugiej strony nie mamy dużego wpływu na działanie aplikacji i jej zmianę (ponieważ to producent zarządza kodem) 6. Jakie wady niesie za sobą wykorzystywanie cloud computing? bezpieczeństwo wielu szefów działu informatyki obawia się przenoszenia infrastruktury, danych i aplikacji do chmur oraz oddawania kontroli nad nimi na zewnątrz organizacji ze względów bezpieczeństwa. Dokładniejsza analiza pokazuje jednak, że podobnie jak w tradycyjnych rozwiązaniach najsłabszym ogniwem jest użytkownik, a nie technologia. Odpowiednie procedury są w stanie zagwarantować poziom bezpieczeństwa na takim samym poziomie jak tradycyjne modele przetwarzania wysokie koszty transferu danych w niektórych przypadkach koszty zapewnienia łączy odpowiedniej przepustowości mogą decydować, że cloud computing będzie nieopłacalny. wydajność aplikacji umieszczenie w chmurze aplikacji, w których opóźnienie musi być minimalne, jak np. te wykorzystywane przez banki czy firmy inwestycyjne do zarządzania akcjami giełdowymi, może być ryzykowne. Nawet niewielkie opóźnienia transferu informacji z chmury na komputery pracowników mogą przekładać się na znaczne straty finansowe. skalowalność kusi małych dla bardzo dużych firm obietnice lepszej utylizacji zasobów i możliwości skalowania nie są aż tak kuszące. Posiadając już ogromną, złożoną i zwykle heterogeniczną infrastrukturę, przejście do chmury nie wydaje tak atrakcyjne jak dla małej czy średniej firmy, która się rozwija. 6 http://startups.pl/startup,1594,blogip,news,64536,co-to-chmura-obliczeniowa
problemy z działem IT usługowy model przetwarzania danych odbierany jest przez wielu informatyków jako zagrożenie. Propozycję wykorzystania cloud computing odbierają jako próbę odebrania im pracy. Jeśli dział IT nie jest otwarty na podejście usługowe, jeśli nie udało się przekonać ludzi, że przyniesie im to więcej korzyści niż problemów, lepiej w ogóle nie zaczynać 7. Platforma Windows Azure Podczas konferencji PDC 2008, która odbyła się w Los Angeles, zaprezentowano Platformę Windows Azure i udostępniono ją w wersji CTP, ale tylko dla uczestników będących na konferencji. Natomiast 1.02.2008 r. odbyła się publiczna premiera platformy oraz udostępniono ją do użytku komercyjnego. Platforma Windows Azure (wcześniej wykorzystywana nazwa to Azure Services Platform) jest to platforma cloud computingowa firmy Microsoft stworzona w modelu PaaS (Platform as a Service). Udostępnia ona mechanizmy pozwalające przetwarzać dane (Windows Azure Compute), a także je składować (Windows Azure SWtorage, SQL Azure) 8. Platforma składa się z grupy trzech technologii, które zapewniają specjalizowany zestaw możliwości programistom. Może być ona wykorzystywana przez aplikacje lokalnie uruchamiane na komputerach użytkowników oraz przez aplikacje uruchomione w chmurach. Rys. 2. Komponenty platformy Windows Azure źródło: http://msdn.microsoft.com/plpl/library/platforma-windows-azure--budowa.aspx 7 http://www.wyzwaniafirm.pl/artykuly/plus-i-minus-cloud-computing/ 8 http://pl.wikipedia.org/wiki/azure_services_platform
Komponenty platformy Windows Azure: Windows Azure zapewnia środowisko uruchomieniowe dla aplikacji oparte na systemie operacyjnym bazującym na Windows Server, a także przestrzeń do składowania danych SQL Azure zapewnia możliwość używania relacyjnej bazy danych zaimplementowanej do uruchamiania w chmurze Windows Azure Platform AppFabric zapewnia mechanizmy dla połączenia oraz komunikacji międzyprocesowej aplikacji uruchomionych zarówno w chmurach, jak i lokalnie 9. Tymi mechanizmami są: 1. Service Bus pozwala tworzyć chmurę hybrydową i zapewnia bezpieczne połączenie między zasobami zdalnymi i lokalnymi 2. Access Control Services mechanizm odpowiadający za kontrolę dostępu do usług 3. Caching rozproszony cache «w pamięci» 10. W środowisku uruchomieniowym Windows Azure możemy wydzielić trzy główne części odpowiedzialne za podstawowe funkcjonalności całej platformy. Te części to: 1. Compute odpowiada za zadania obliczeniowe hostowanych aplikacji, 2. Storage - odpowiada za przechowywanie danych w chmurze, 3. Fabric odpowiada za zarządzanie i monitorowanie aplikacji uruchomionych w chmurze, a także nadzór maszyn działających w centrum obliczeniowym 11. Ogólny schemat budowy środowiska uruchomieniowego 9 http://msdn.microsoft.com/pl-pl/library/platforma-windows-azure--budowa.aspx 10 http://pl.wikipedia.org/wiki/azure_services_platform 11 http://msdn.microsoft.com/pl-pl/library/platforma-windows-azure--budowa.aspx
Rys. 3. Architektura Windows Azure źródło: http://msdn.microsoft.com/plpl/library/platforma-windows-azure--budowa.aspx Windows Azure jest bardzo dobrym rozwiązaniem dla małych oraz dla dużych przedsiębiorstw. Platforma jest elastyczna i jej zastosowanie jest nieograniczone. startupy pracując nad daną aplikacją bądź usługą, nie chcąc by serwery się przeciążyły, warto zaufać platformie Windows Azure firmy międzynarodowe dzięki centrom danych, znajdujących się na platformie Windows Azure, wdrażanie aktualizacji u klientów na całym świecie będzie dużo łatwiejsze niezależni dostawcy oprogramowania wykorzystując platformę Windows Azure, tworząc aplikację webowa, firma będzie mogła skupić się na jej biznesowej funkcjonalności, a nie na zarządzaniu infrastrukturą informatyczną 12. Windows Azure to elastyczna platforma przetwarzania w chmurze, która pozwala Ci skupić się na rozwiązywaniu problemów biznesowych i zaspokajaniu potrzeb klientów 13. 12 Opracowano na podstawie: http://www.microsoft.com/poland/windowsazure/ 13 http://www.microsoft.com/poland/windowsazure/
BIBLIOGRAFIA 1. http://pl.wikipedia.org/wiki/chmura_obliczeniowa 2. http://msdn.microsoft.com/pl-pl/library/platforma-windows-azure--budowa.aspx 3. http://komputeks.pl/windows-azure-platforma-cloud-computing-dla-programistow-p- 5319.html 4. http://startups.pl/startup,1594,blogip,news,64536,co-to-chmura-obliczeniowa 5. http://www.wyzwaniafirm.pl/artykuly/plus-i-minus-cloud-computing/ 6. http://pl.wikipedia.org/wiki/azure_services_platform 7. http://www.microsoft.com/poland/windowsazure/ Przygotował Karol Błażewicz