211service.com
Przywoływanie chmur
Duża część popularności przetwarzania w chmurze wynika z technologii znanej jako wirtualizacja. Komputer hosta uruchamia aplikację znaną jako hipernadzorca; tworzy to jedną lub więcej maszyn wirtualnych, które symulują prawdziwe komputery tak wiernie, że symulacje mogą uruchamiać dowolne oprogramowanie, od systemów operacyjnych po aplikacje użytkownika końcowego. Oprogramowanie myśli, że ma dostęp do procesora, sieci i dysku, tak jakby miało tylko prawdziwy komputer. Hiperwizor zachowuje jednak najwyższą kontrolę i może w dowolnym momencie wstrzymywać, usuwać lub tworzyć nowe maszyny wirtualne. Wirtualizacja oznacza, że serwery poczty e-mail, sieci Web lub plików (lub cokolwiek innego) można wyczarować, gdy tylko są potrzebne; gdy potrzeba zniknie, można je usunąć, uwalniając komputer hosta do uruchomienia innej maszyny wirtualnej dla innego użytkownika. W połączeniu z oprogramowaniem do zarządzania i ogromnymi centrami danych, technologia ta pozwala dostawcom chmury uzyskać ogromne korzyści skali. Daje też użytkownikom chmury dostęp do takiej ilości mocy obliczeniowej, jaką chcą, kiedy tylko chcą.
Marzenie o przetwarzaniu na żądanie — narzędziu, które może dostarczać moc obliczeniową do domów tak łatwo, jak elektryczność lub wodę — powstało, gdy tylko komputery stały się zdolne do wielozadaniowości między różnymi użytkownikami. Jednak wczesne próby stworzenia takiej pojemności były zbyt restrykcyjne – na przykład ograniczały użytkowników do określonego systemu operacyjnego lub zestawu aplikacji. Dzięki wirtualizacji użytkownik może pisać aplikacje od podstaw, używając praktycznie dowolnego systemu operacyjnego. A użytkownicy nie muszą pisać własnych aplikacji: dostawcy usług w chmurze i firmy z nimi współpracujące mogą oferować i dostosowywać różnorodne zaawansowane usługi nałożone na podstawowe maszyny wirtualne. Oznacza to, że programiści zainteresowani, powiedzmy, wprowadzeniem nowej witryny sieci społecznościowej nie muszą projektować i wdrażać własnej pomocniczej bazy danych lub serwerów sieci Web. Pozwalając użytkownikom i programistom dokładnie wybrać, ile chcą mocy obliczeniowej i usług pomocniczych, przetwarzanie w chmurze może zmienić ekonomię branży IT i oprogramowania oraz stworzyć całą gamę nowych usług online (patrz Komputery wirtualne, prawdziwe pieniądze) .
Przetwarzanie w chmurze to reinkarnacja narzędzia obliczeniowego z lat 60., ale jest znacznie bardziej elastyczna i na większą skalę niż [systemy] z przeszłości, mówi dyrektor Google i pionier Internetu, Vint Cerf. Zdolność oprogramowania do wirtualizacji i zarządzania do przenoszenia mocy obliczeniowej z jednego miejsca do drugiego, to jedna z rzeczy, które sprawiają, że przetwarzanie w chmurze jest tak atrakcyjne.
Technologia wirtualizacji sięga 1967 roku, ale przez dziesięciolecia była dostępna tylko w systemach mainframe. Kiedy centra danych stały się powszechne podczas boomu internetowego w latach 90., zwykle nie składały się z komputerów typu mainframe, ale z wielu niedrogich komputerów, często opartych na chipach x86 spotykanych w komputerach PC na całym świecie. Te komputery miały specyfikę sprzętową, która utrudniała wirtualizację. Podczas gdy firmy takie jak VMware oferowały rozwiązania programowe pod koniec lat 90., dopiero w 2005 r. Intel (a następnie jego rywal AMD) zaoferował sprzętową obsługę wirtualizacji w systemach x86, umożliwiając maszynom wirtualnym działanie prawie tak szybko, jak system operacyjny hosta. .
Nawet z nowym wsparciem nie można po prostu podłączyć serwera i oczekiwać, że będzie on używany do przetwarzania w chmurze, mówi Reuven Cohen, założyciel firmy Enomaly zajmującej się platformą przetwarzania w chmurze i Forum Interoperacyjności Cloud Computing. Zamiast tego przetwarzanie w chmurze opiera się na szeregu warstw. Na samym dole znajduje się fizyczny sprzęt, który faktycznie obsługuje pamięć masową i przetwarzanie — prawdziwe serwery stłoczone w centrum danych, montowane w szafie na szafie. Chociaż firmy niechętnie ujawniają wielkość swoich centrów danych, John Engates, CTO firmy Rackspace, mówi, że firmy hostingowe zazwyczaj budują je w modułach o powierzchni od 30 000 do 50 000 stóp kwadratowych na raz. Na sprzęcie działa warstwa wirtualizacji, która pozwala jednemu serwerowi o dużej mocy obsługiwać wiele serwerów wirtualnych, z których każdy może działać niezależnie od innych. Klienci mogą zmieniać konfiguracje lub dodawać więcej serwerów wirtualnych w odpowiedzi na takie zdarzenia, jak wzrost ruchu w sieci Web. (Należy zauważyć, że nie każdy dostawca chmury korzysta z serwerów wirtualnych; niektórzy łączą zasoby komputerów fizycznych w inny sposób.)
Potem przychodzi warstwa zarządzania. Zamiast plutonów administratorów systemu ta warstwa dystrybuuje zasoby fizyczne tam, gdzie są potrzebne, i zwraca je do puli, gdy nie są już używane. Monitoruje zachowanie aplikacji i używanych przez nie zasobów, a także zapewnia bezpieczeństwo danych. Warstwa zarządzania umożliwia również firmom w chmurze rozliczanie użytkowników z rzeczywistymi opłatami zgodnie z rzeczywistym użyciem, zamiast wymagać od nich dzierżawy zasobów obliczeniowych z góry na określony czas. Lepsze rozliczanie może wydawać się drobnym szczegółem, ale okazało się, że jest to kluczowa przewaga nad wcześniejszymi próbami stworzenia przetwarzania na żądanie.
Dostawcy chmury mogą oferować usługi poza warstwą zarządzania, umożliwiając klientom korzystanie z infrastruktury opartej na chmurze zamiast fizycznego sprzętu, takiego jak serwery internetowe lub macierze dyskowe. Na przykład Simple Storage Service (S3) firmy Amazon Web Services umożliwia klientom przechowywanie i pobieranie danych za pośrednictwem prostego interfejsu internetowego, płacąc w Stanach Zjednoczonych około 15 centów za gigabajt miesięcznie (z pewnymi dodatkowymi opłatami za transfer danych). Elastic Compute Cloud (EC2), również firmy Amazon, udostępnia wirtualne komputery, których klienci mogą używać do zadań przetwarzania. Ceny wahają się od 10 centów za godzinę do 1,25 dolara za godzinę, w zależności od rozmiaru wirtualnego komputera i zainstalowanego na nim oprogramowania.
Jednak oprócz ofert infrastrukturalnych firmy oferują również bardziej zaawansowane usługi, w tym bazy danych do zarządzania informacjami i maszyny wirtualne, które mogą obsługiwać aplikacje napisane w językach wysokiego poziomu, takich jak Python i Java, z których wszystkie mogą pomóc programistom uzyskać nową usługę lub aplikację szybciej wprowadzać na rynek. Na przykład Google App Engine zapewnia klientom dostęp do technologii leżących u podstaw własnych aplikacji internetowych Google, w tym do systemu plików i technologii przechowywania danych, Bigtable. Nawet jeśli te usługi nie wykorzystują warstwy serwerów wirtualnych (App Engine tego nie robi), nadal pozwalają użytkownikom rozszerzać i ograniczać ich wykorzystanie z elastycznością, która jest cechą charakterystyczną przetwarzania w chmurze.
Na wierzchu wszystkich tych warstw znajdują się aplikacje użytkownika końcowego, takie jak kalendarze online lub programy do edycji i udostępniania zdjęć. Zachęcając do udostępniania treści i rozluźniając ograniczenia nakładane przez możliwości przetwarzania lokalnego naszych komputerów, aplikacje te zmieniają sposób, w jaki korzystamy z oprogramowania. Podczas gdy niektóre – takie jak poczta internetowa – poprzedzają chmury, budowanie takich usług w chmurach może uczynić je bardziej atrakcyjnymi, mówi Rick Treitman, przedsiębiorca z firmy Adobe Systems i siła napędowa pakietu aplikacji Acrobat.com (które wykonują obliczenia na komputera użytkownika, ale w razie potrzeby pobieraj dane z chmury). Zdaniem Treitmana, dla konsumentów najbardziej atrakcyjne w aplikacjach w chmurze jest ich stała dostępność, niezależnie od systemu operacyjnego lub lokalizacji użytkownika, oraz łatwość, z jaką wielu użytkowników może udostępniać dane i współpracować. Zauważa jednak, że te cechy mogą być sprzeczne: umożliwienie dostępu offline do danych przechowywanych na przykład w aplikacjach w chmurze zapewnia wygodę użytkownikom, ale może powodować problemy, jeśli wielu użytkowników uzyskuje dostęp do dokumentu, zmienia go w trybie offline, a następnie próbuje zsynchronizować swoje starania. (Aby dowiedzieć się więcej o niektórych wyzwaniach technicznych stojących przed przetwarzaniem w chmurze, zobacz Pytanie o standardy, s. 59). Podczas gdy Amazon i inni dostawcy publicznie udostępniają usługi w chmurze, niektóre firmy zwracają się do technologii przetwarzania w chmurze w swoich prywatnych centrach danych, w celu wydajniejszego korzystania ze sprzętu i zmniejszenia kosztów administracyjnych. A gdy firma założy własną chmurę prywatną, ma szansę skorzystać z dodatkowej elastyczności. Na przykład firma Cohena, Enomaly, specjalizuje się w tworzeniu przepełnień obliczeniowych, znanych również jako pękanie w chmurze. Firma może przez większość czasu hostować swoje usługi internetowe i aplikacje we własnych centrach danych, ale gdy nastąpi gwałtowny wzrost ruchu, zamiast odrzucać klientów, może zwrócić się do dostawców zewnętrznych o dodatkowe zasoby.
Ostatecznie chmury mogą nawet zmienić sposób, w jaki inżynierowie projektują komputery, które są coraz częściej osadzane w przedmiotach codziennego użytku, takich jak samochody i pralki. Jeśli te systemy o niskim poborze mocy mogą sięgać i pobierać dowolną ilość mocy obliczeniowej zgodnie z potrzebami, to niebo jest limitem tego, co mogą zrobić.