Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00483 003507 12432634 na godz. na dobę w sumie
Platforma Windows Azure - książka
Platforma Windows Azure - książka
Autor: , Liczba stron: 480
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-246-4879-5 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> programowanie >> inne - programowanie
Porównaj ceny (książka, ebook, audiobook).

Wydajna chmura obliczeniowa w Twoim zasięgu!

Chmury obliczeniowe nie są już marzeniami lub niedojrzałymi produktami w fazie testów. One nas otaczają, a efekty ich obecności widać gołym okiem. Każdy w ciągu kilkunastu minut może stać się właścicielem niezawodnej, wydajnej platformy dla swojego biznesu. Nie potrzebujesz już inwestycji we własne serwerownie, administratorów i mierzenia się z codziennymi problemami z zasilaniem lub łącznością z internetem. Brzmi wspaniale? I tak właśnie jest!

Ta książka poświęcona jest jednej z takich platform - Windows Azure. W trakcie lektury odkryjesz możliwości chmury firmy Microsoft oraz dowiesz się, jak wykorzystać jej potencjał. W kolejnych rozdziałach poznasz poszczególne komponenty platformy. Compute jest odpowiedzialny za zadania obliczeniowe, Storage zajmuje się bezpiecznym przechowywaniem danych, Fabric gwarantuje dostęp do informacji na temat stanu technicznego chmury. Ponadto znajdziesz tu dokładny opis komponentu Windows Azure Platform AppFabric, który oferuje dodatkowe funkcje, pozwalające między innymi na caching czy kontrolę dostępu. Książka ta jest niezbędną pozycją dla każdego programisty chcącego uruchamiać aplikacje w chmurze Windows Azure.

Sięgnij po tę książkę i wykorzystaj możliwości chmury obliczeniowej:

Wykorzystaj potencjał chmury obliczeniowej!

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Tytuł oryginalny: Windows Azure Platform Tłumaczenie: Radosław Meryk Original edition copyright © 2011 by Tejaswi Redkar and Tony Guidici. All rights reserved. Polish edition copyright © 2013 by HELION SA. All rights reserved. ISBN: 978-83-246-4879-5 All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher. Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji. Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Wydawnictwo HELION dołożyło wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie bierze jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Wydawnictwo HELION nie ponosi również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce. Wydawnictwo HELION ul. Kościuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: helion@helion.pl WWW: http://helion.pl (księgarnia internetowa, katalog książek) Pliki z przykładami omawianymi w książce można znaleźć pod adresem: ftp://ftp.helion.pl/przyklady/plawia.zip Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/plawia Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. Printed in Poland. • Kup książkę • Poleć książkę • Oceń książkę • Księgarnia internetowa • Lubię to! » Nasza społeczność „ „ „ Spis treĂci O autorach .............................................................................................................13 „ „ „ O recenzencie technicznym ....................................................................................15 „ „ „ PodziÚkowania ......................................................................................................17 „ „ „ Wprowadzenie ......................................................................................................19 PrzeglÈd informacji o platformie Windows Azure ..................................................21 Rozdziaï 1. Wprowadzenie w tematykę przetwarzania w chmurze .................................................................. 21 Terminologia związana z przetwarzaniem w chmurze ........................................................... 22 Dostawcy usług w chmurze ......................................................................................................... 24 Migracja do paradygmatu chmury .................................................................................................... 25 Ekosystem chmury obliczeniowej ..................................................................................................... 27 Dostawcy usług ............................................................................................................................. 27 Twórcy oprogramowania ............................................................................................................ 28 Niezależni dostawcy oprogramowania ...................................................................................... 28 Integratorzy ................................................................................................................................... 28 Przedsiębiorstwa ........................................................................................................................... 28 Strategia firmy Microsoft w zakresie chmury obliczeniowej ........................................................ 29 Ogólne informacje o platformie Windows Azure .......................................................................... 30 Architektura przetwarzania na platformie Windows Azure .................................................. 32 Windows Azure ................................................................................................................................... 33 Usługa Compute ........................................................................................................................... 35 Usługa Storage ............................................................................................................................... 40 Usługa Management .................................................................................................................... 42 SQL Azure ............................................................................................................................................. 43 Windows Azure AppFabric ................................................................................................................ 46 Cennik usług na platformie Windows Azure .................................................................................. 48 Portal zarządzający — konfigurowanie usług ................................................................................. 51 Windows Azure Marketplace DataMarket ...................................................................................... 53 Popularne scenariusze użycia platformy Windows Azure .................................................................. 54 Scenariusze podstawowe .............................................................................................................. 54 Scenariusze korporacyjne ............................................................................................................ 55 Scenariusze dla niezależnych dostawców oprogramowania .................................................. 56 SPIS TRE¥CI Podsumowanie ..................................................................................................................................... 57 Bibliografia ............................................................................................................................................ 57 Rozdziaï 2. Windows Azure Compute ......................................................................................59 Usługa Compute .................................................................................................................................. 59 Domeny aktualizacji i awarii ....................................................................................................... 62 Bezpieczeństwo usługi Compute ................................................................................................ 65 Programowanie usług Windows Azure ........................................................................................... 65 Struktura API systemu Windows Azure ................................................................................... 66 Środowisko programistyczne ...................................................................................................... 66 Programy narzędziowe pakietu SDK Windows Azure ........................................................... 80 Modele usług ................................................................................................................................. 81 Lokalne środowisko testowe ....................................................................................................... 90 Lokalny emulator magazynu danych ......................................................................................... 91 Diagnostyka .......................................................................................................................................... 93 Rejestrowanie ................................................................................................................................ 95 Programowanie usług Windows Azure z mechanizmami komunikacji pomiędzy rolami ...... 98 Cele ................................................................................................................................................. 99 Dodanie mechanizmów diagnostycznych oraz komunikacji pomiędzy rolami ................. 99 Uruchamianie usługi HelloAzureCloud ................................................................................. 106 Publikowanie aplikacji w chmurze Windows Azure ............................................................. 107 Geolokalizacja .................................................................................................................................... 115 Włączanie opcji powinowactwa geograficznego .................................................................... 115 Zarządzanie usługami na platformie Windows Azure ................................................................. 117 Struktura API zarządzania usługami ....................................................................................... 117 Programowanie z wykorzystaniem API zarządzania usługami ........................................... 118 Cykl życia projektowania usługi Windows Azure ........................................................................ 120 Dobre praktyki projektowe .............................................................................................................. 121 Podsumowanie ................................................................................................................................... 122 Bibliografia .......................................................................................................................................... 122 Rozdziaï 3. Windows Azure Storage, czÚĂÊ I — usïugi Blob i Drives ......................................125 Taksonomia usługi Storage .............................................................................................................. 126 Architektura usługi Storage .............................................................................................................. 128 Usługa Blob ......................................................................................................................................... 129 Ograniczenia obiektów blob ..................................................................................................... 130 Architektura usługi Blob ................................................................................................................... 130 Konto w usłudze Windows Azure Storage ............................................................................. 130 Kontenery .................................................................................................................................... 131 Obiekty blob ................................................................................................................................ 132 Typy obiektów blob .................................................................................................................... 133 API REST ............................................................................................................................................ 134 Żądanie ......................................................................................................................................... 134 Odpowiedź ................................................................................................................................... 136 Interfejs API StorageClient ....................................................................................................... 138 Działania dotyczące konta ................................................................................................................ 143 Przykład programowania ................................................................................................................. 146 Działania na kontenerach ................................................................................................................. 148 Utwórz kontener ......................................................................................................................... 150 6 SPIS TRE¥CI Ustaw metadane kontenera ....................................................................................................... 152 Pobierz listę obiektów blob ....................................................................................................... 154 Działania na obiektach blob ............................................................................................................. 159 Wgraj obiekt blob ....................................................................................................................... 163 Pobierz obiekt blob ..................................................................................................................... 167 Kopiuj obiekt blob ...................................................................................................................... 170 Sieć Content Delivery Network ....................................................................................................... 172 Windows Azure Drives ..................................................................................................................... 174 Przegląd informacji .................................................................................................................... 174 Działania na dyskach usługi Windows Azure Drives .............................................................. 175 Scenariusze użycia dysków Windows Azure Drives ............................................................. 181 Scenariusze wykorzystania usługi Blob .......................................................................................... 183 Przekazywanie dużych ilości danych ....................................................................................... 183 Pamięć masowa jako usługa w chmurze ................................................................................. 184 Synchronizacja plików w przedsiębiorstwie ........................................................................... 185 Podsumowanie ................................................................................................................................... 187 Bibliografia .......................................................................................................................................... 187 Rozdziaï 4. Windows Azure Storage, czÚĂÊ II — usïuga Queue .............................................189 Ograniczenia usługi Queue .............................................................................................................. 190 Architektura usługi Queue ............................................................................................................... 190 Konto Windows Azure Storage ................................................................................................ 191 Kolejki ........................................................................................................................................... 191 Komunikaty ................................................................................................................................. 192 API REST ............................................................................................................................................ 193 Żądanie ......................................................................................................................................... 193 Odpowiedź ................................................................................................................................... 195 Interfejs API StorageClient ....................................................................................................... 196 Działania dotyczące konta ................................................................................................................ 198 Działania na kolejkach ...................................................................................................................... 202 Utwórz kolejkę ............................................................................................................................ 203 Ustaw metadane kolejki ............................................................................................................. 205 Działania na komunikatach ............................................................................................................. 207 Umieść komunikat w kolejce .................................................................................................... 207 Pobierz komunikaty ................................................................................................................... 210 Asynchroniczne wywołania API ..................................................................................................... 215 Scenariusze użycia usługi Queue ..................................................................................................... 216 Scenariusz 1. Komunikacja pomiędzy rolami Windows Azure Web i Worker ................ 216 Scenariusz 2. Rozkład obciążenia pomiędzy role Worker .................................................... 217 Scenariusz 3. Interoperacyjny system przesyłania komunikatów ....................................... 218 Scenariusz 4. Gwarantowane przetwarzanie .......................................................................... 219 Podsumowanie ................................................................................................................................... 220 Bibliografia .......................................................................................................................................... 220 Rozdziaï 5. Windows Azure Storage, czÚĂÊ III — usïuga Table ..............................................221 Architektura usługi Table ................................................................................................................. 222 Konto Windows Azure Storage ................................................................................................ 222 Interfejs API REST ............................................................................................................................ 226 Żądanie ......................................................................................................................................... 227 7 SPIS TRE¥CI Rozdziaï 6. Rozdziaï 7. 8 Odpowiedź ................................................................................................................................... 229 Biblioteka ADO.NET Data Services (.NET Client) ............................................................... 231 Przykład modelu tabeli ..................................................................................................................... 234 Działania dotyczące konta ................................................................................................................ 238 Operacje na tabelach ......................................................................................................................... 238 Utwórz tabelę ............................................................................................................................... 239 Wyświetl listę tabel ..................................................................................................................... 242 Działania na encjach .......................................................................................................................... 245 Wyświetl encje ............................................................................................................................. 246 Dodaj encję .................................................................................................................................. 252 Scal encję ...................................................................................................................................... 255 Storage Analytics ............................................................................................................................... 259 Rejestrowanie .............................................................................................................................. 259 Metryki ......................................................................................................................................... 260 Włączanie usługi Storage Analytics ......................................................................................... 261 Usługa Table czy SQL Azure? .......................................................................................................... 262 Scenariusze użycia usługi Table ........................................................................................................ 263 Scenariusz 1. Odczytywanie wskaźników wydajności z usługi Table ................................. 263 Scenariusz 2. Stronicowanie z wykorzystaniem usługi Table .............................................. 265 Podsumowanie ................................................................................................................................... 267 Bibliografia .......................................................................................................................................... 267 Role VM i Windows Azure Connect .....................................................................269 Rola VM .............................................................................................................................................. 269 Korzyści płynące ze stosowania ról VM i konieczne kompromisy ..................................... 270 Scenariusze ................................................................................................................................... 270 Tworzenie maszyny wirtualnej ................................................................................................. 271 Komponenty integracji z platformą Windows Azure ........................................................... 271 Wgrywanie obrazu na platformę Windows Azure ................................................................ 273 Windows Azure Connect ................................................................................................................. 277 Windows Azure Connect a Service Bus .................................................................................. 277 Konfiguracja usługi Windows Azure Connect ....................................................................... 278 Aktywne punkty dostępowe, grupy i role ............................................................................... 279 Instalacja i aktywacja punktu dostępowego Azure na lokalnym komputerze ................... 279 Włączanie usługi Windows Azure Connect dla roli ............................................................. 281 Tworzenie grupy Connect ......................................................................................................... 282 Podsumowanie ................................................................................................................................... 283 Bibliografia .......................................................................................................................................... 284 AppFabric — usïuga Access Control Service ........................................................285 Co to jest tożsamość cyfrowa? ......................................................................................................... 285 Co to są oświadczenia? ...................................................................................................................... 286 Model zarządzania tożsamościami bazujący na oświadczeniach ............................................... 288 Scenariusze użycia usługi ACS ........................................................................................................ 290 Scenariusz 1. Aplikacja korporacyjna działająca w chmurze ............................................... 290 Scenariusz 2. Aplikacja przedsiębiorstw-partnerów .............................................................. 292 Scenariusz 3. Usługa w chmurze niezależnych dostawców oprogramowania ................... 294 Pobieranie tokenów z usługi ACS ............................................................................................ 296 Portal zarządzający usługi Access Control Service ....................................................................... 297 SPIS TRE¥CI Definiowanie przestrzeni nazw usługi ACS ............................................................................ 297 Dostawcy tożsamości ................................................................................................................. 299 Aplikacje zależne ......................................................................................................................... 306 Grupy reguł .................................................................................................................................. 307 Certyfikaty i klucze ..................................................................................................................... 309 Tożsamości usług ........................................................................................................................ 310 Administratorzy portalu ............................................................................................................ 311 Usługa zarządzania ..................................................................................................................... 311 Integracja aplikacji ...................................................................................................................... 312 Programowanie aplikacji korzystających z usługi Access Control Service ............................... 315 Pasywna federacja z ACS ........................................................................................................... 315 Aplikacja webowa — wielu dostawców tożsamości i ACS ................................................... 315 Dodanie dostawcy WS-Federation ........................................................................................... 318 Podsumowanie ................................................................................................................................... 323 Pojęcia i terminologia ........................................................................................................................ 323 Dostawca tożsamości .................................................................................................................. 324 Aplikacje zależne ......................................................................................................................... 324 Token zabezpieczeń (token SAML) ......................................................................................... 324 Usługa STS ................................................................................................................................... 324 Żądanie bezpiecznego tokenu (Request for Security Token — RST) ................................. 324 Odpowiedź na żądanie bezpiecznego tokenu (Request for Security Token Response — RSTR) ............................................................... 324 Oświadczenie ............................................................................................................................... 325 Federacja tożsamości .................................................................................................................. 325 Windows Identity Foundation (WIF) ..................................................................................... 325 Serwer ADFS 2.0 (Active Directory Federation Server 2.0) ................................................. 325 Protokoły WRAP (Web Resource Authorization Protocol) i SWT (Simple Web Token) ................................................................................................... 326 Bibliografia .......................................................................................................................................... 326 AppFabric ServiceBus ..........................................................................................327 Wprowadzenie ................................................................................................................................... 327 Architektura firmowej magistrali usług (ESB) .............................................................................. 328 Zabezpieczenia i kontrola dostępu ........................................................................................... 329 Infrastruktura połączeń ............................................................................................................. 329 Korporacyjna usługa nazw ......................................................................................................... 329 Kontrakty interfejsu ................................................................................................................... 329 Ewolucja do internetowej magistrali usług (ISB) .......................................................................... 329 Usługa przekazywania ................................................................................................................ 331 Wprowadzenie w tematykę usługi AppFabric Service Bus ......................................................... 332 Zabezpieczenia ............................................................................................................................ 333 Usługa nazw ................................................................................................................................. 336 Rejestr usług ................................................................................................................................ 338 Blok komunikatów ..................................................................................................................... 340 Programowanie usługi AppFabric Service Bus ............................................................................. 343 Przykład usługi ProAzure Energy ............................................................................................ 345 NetOnewayRelayBinding .......................................................................................................... 347 netEventRelayBinding ................................................................................................................ 360 9 Rozdziaï 8. SPIS TRE¥CI Rozdziaï 9. NetTcpRelayBinding .................................................................................................................. 365 Dowiązania komunikacji HTTP ............................................................................................... 373 Bufor komunikatów .......................................................................................................................... 383 Programowanie aplikacji korzystających z bufora komunikatów ....................................... 385 Silnik komunikatów AppFabric: usługi Queues i Topics ............................................................ 388 AppFabric Service Bus Queues ........................................................................................................ 388 Porównanie usługi AppFabric Service Bus Queues z usługą Azure Storage Queues .............. 389 AppFabric Service Bus Topics ......................................................................................................... 390 Reguły subskrypcji ...................................................................................................................... 391 Programowanie usług Queues i Topics .......................................................................................... 391 .NET Client API .......................................................................................................................... 391 Interfejs API REST ..................................................................................................................... 396 Podsumowanie ................................................................................................................................... 407 Bibliografia .......................................................................................................................................... 407 AppFabric: Caching ..............................................................................................409 AppFabric Caching a inni dostawcy usług buforowania ................................................................. 410 Konfigurowanie usługi AppFabric Cache ...................................................................................... 410 Klienty AppFabric Cache ................................................................................................................. 411 Referencje do bibliotek ............................................................................................................... 411 Konfigurowanie klienta AppFabric Cache .............................................................................. 411 Programowanie usługi AppFabric Cache ............................................................................... 415 Dostawca stanów sesji dla aplikacji ASP.NET ............................................................................... 416 Włączenie obsługi stanów sesji w AppFabric Cache ............................................................. 416 AppFabric Cache jako bufor wyników aplikacji ASP.NET ............................................................... 416 Podsumowanie ................................................................................................................................... 417 Bibliografia .......................................................................................................................................... 417 Rozdziaï 10. SQL Azure ............................................................................................................419 Przegląd informacji na temat SQL Azure ...................................................................................... 419 Architektura usługi SQL Azure ....................................................................................................... 420 Warstwa infrastruktury .............................................................................................................. 420 Warstwa platformy ..................................................................................................................... 420 Warstwa usług ............................................................................................................................. 422 Warstwa klienta .......................................................................................................................... 422 Ograniczenia SQL Azure i obsługiwane własności ....................................................................... 422 Technologie bazodanowe .......................................................................................................... 423 Technologie aplikacyjne ............................................................................................................ 423 Technologie administracyjne .................................................................................................... 423 Dostęp do danych usługi SQL Azure .............................................................................................. 424 Połączenia typu code-near ......................................................................................................... 424 Połączenia typu code-far ............................................................................................................ 424 SQL Azure — podstawy .................................................................................................................... 426 Tworzenie serwera SQL Azure ................................................................................................. 426 Tworzenie bazy danych SQL Azure ......................................................................................... 429 Nawiązywanie połączenia z bazą danych SQL Azure ........................................................... 429 Programowanie usług Windows Azure korzystających z bazy danych SQL Azure ................ 445 Opis usługi ................................................................................................................................... 445 Procesy związane z redukcją ..................................................................................................... 445 10 SPIS TRE¥CI Architektura techniczna .............................................................................................................. 446 Projekt bazy danych o cenach i bramkach .............................................................................. 448 Tworzenie bazy danych proazuredemres ................................................................................ 449 Strategie migracji baz danych .......................................................................................................... 460 Migracja definicji danych .......................................................................................................... 460 Migracja danych .......................................................................................................................... 461 Migracja logiki biznesowej ........................................................................................................ 462 Migracja aplikacji ........................................................................................................................ 462 Strategie rozwoju i rozbudowy bazy danych ................................................................................. 463 Raportowanie w SQL Azure ............................................................................................................. 464 Przykładowy raport .................................................................................................................... 465 Tworzenie raportów ................................................................................................................... 465 Obsługiwane własności pakietu SSRS ............................................................................................. 467 Synchronizowanie danych ................................................................................................................ 467 Projekt mechanizmu synchronizacji danych ................................................................................. 468 Opcje synchronizacji .................................................................................................................. 468 Podsumowanie ................................................................................................................................... 468 Bibliografia .......................................................................................................................................... 468 Skorowidz ...........................................................................................................469 11 SPIS TRE¥CI 12 R O Z D Z I A ’ 1 „ „ „ PrzeglÈd informacji o platformie Windows Azure W ciągu ostatnich kilku lat tzw. przetwarzanie w chmurze (ang. cloud computing) wywarło ogromny wpływ na branżę IT. Skalę jego oddziaływania można porównać do takich zjawisk jak internet czy też offshoring. Według badań prowadzonych przez firmę Gartner Research przetwarzanie w chmurze znalazło się wśród 10 najbardziej przełomowych technologii lat 2008 – 2012. W opinii firmy Gartner za przełomową można uznać technologię, która wprowadza zasadnicze zmiany w przyjętym modelu rozwiązywania określonych problemów. Dla programistów, architektów oprogramowania i projektów przetwarzanie w chmurze oznacza istotną zmianę w sposobie budowania, wytwarzania i pielęgnacji oprogramowania. Przetwarzanie w chmurze demokratyzuje branżę IT na podobnej zasadzie, na jakiej internet zdemokratyzował rynek konsumencki. Internet otworzył cały ocean dostępnych zasobów dla konsumentów — począwszy od darmowego przeszukiwania reklam, a skończywszy na usługach bankowych online. Przetwarzanie w chmurze przynosi korzyści podobnej skali zarówno dla małych, jak i dużych firm. Mogą teraz korzystać z olbrzymiej elastyczności nowej technologii. Wystarczy uiścić opłatę za opublikowanie własnego oprogramowania w centrum obliczeniowym zarządzanym przez zewnętrzny podmiot. Dzięki dostawcom usług w chmurze z rachunku ekonomicznego całkowicie odpadają koszty sprzętu. Na pierwszy rzut oka opis przetwarzania w chmurze pasuje do usług hostingowych, z których od dawna korzystamy w celu przechowywania witryn internetowych. Pomiędzy hostingiem a przetwarzaniem w chmurze istnieje jednak wielka różnica — w tym drugim mamy do czynienia z modelem narzędziowym bazującym na wysoce skalowalnych platformach centrów obliczeniowych. Fala przetwarzania w chmurze stała się tak potężna, że nawet tak duża firma jak Microsoft zaczęła przebudowywać własny model biznesowy w celu zainwestowania w nową technologię. W niniejszym rozdziale omówię podstawowe wiadomości dotyczące usług w chmurze, a następnie przejdę do wprowadzenia w tematykę platformy Windows Azure. W poprzednim wydaniu tej książki omawiałem modele programowania stosowane przez niektórych dostępnych na rynku dostawców usług w chmurze. Przyjąłem takie podejście, ponieważ technologia była nowością i chciałem, by czytelnicy poznali różnice w oferowanych produktach. W niniejszym wydaniu także porównuję dostawców usług w chmurze, ale nie na tym samym poziomie szczegółowości, co w wydaniu poprzednim. Dostępna powszechnie literatura dotycząca tych platform dojrzała na tyle, aby opis niektórych z nich można było wyeliminować z niniejszej książki. Wprowadzenie w tematykÚ przetwarzania w chmurze W ramach wprowadzenia rozważmy typowy scenariusz realizowany we współczesnych średnich i dużych przedsiębiorstwach. Załóżmy, że firma ma potrzebę natychmiastowego wdrożenia wysoce interaktywnej niszowej aplikacji internetowej (mikrowitryny) dla nowego produktu, który ukaże się za pięć miesięcy. Aplikacja ma szczegółowo zaprezentować użytkownikom produkt, a także umożliwić zdefiniowanie indywidualnego PLATFORMA WINDOWS AZURE zamówienia i wysłanie go wprost z witryny internetowej. Firma dysponuje budżetem, ale nie ma czasu i środków potrzebnych do implementacji aplikacji. Tymczasem premiera aplikacji musi być gotowa w trzy miesiące. Rodzimy zespół IT firmy rozumie potrzeby, ale wdrożenie aplikacji o tego rodzaju zasobach wymaga koordynacji sprzętu, oprogramowania oraz zespołów projektowych i pomocniczych. Załóżmy, że zamówienie sprzętu i przygotowanie kompilacji systemu operacyjnego zajęło dwa miesiące. Po tym okresie zespół IT musi przeprowadzić standardowe procesy testowania, aby mieć pewność, że wszystkie potrzeby funkcjonalne zostały właściwie zidentyfikowane. Z analizy wynika, że aplikację można wdrożyć najwcześniej za sześć miesięcy. Właściciel firmy podkreśla ważność zadania, ale nie może wyjść poza granice wytyczonych procedur obowiązujących w przedsiębiorstwie. Ostatecznie podejmuje decyzję o zleceniu projektu firmie zewnętrznej. Dzięki temu uzyskuje działającą aplikację w trzy miesiące. Pomimo że aplikacja została dostarczona, firma nie gwarantuje odpowiedniego poziomu wsparcia dla klientów ani jakości działania. Tak wcale być nie musi — dział IT firmy powinien być preferowanym i wystarczającym źródłem do spełnienia wszystkich potrzeb biznesowych. Pomimo że skorzystanie z outsourcingu gwarantuje dużą stopę zwrotu z inwestycji, w dłuższej perspektywie firma poniesie straty na tej innowacji. Własny dział IT posiada zdolność wprowadzania innowacji w firmie. Członkowie tego działu powinni mieć możliwości realizacji tych innowacji bez sztucznych blokad ustanawianych przez wymogi proceduralne. Z opisanymi powyżej scenariuszami spotykam się na co dzień. Nie widzę innego rozwiązania problemu, jak całkowite odnowienie procedur i struktur działania organizacji albo powszechne wdrożenie takich technologii jak przetwarzanie w chmurze. W jaki sposób przetwarzanie w chmurze może pomóc? Aby to zrozumieć, wróćmy do pierwotnego wymogu: właściciel firmy chce jak najszybszego wdrożenia aplikacji — najpóźniej w ciągu trzech miesięcy. Ogólnie rzecz biorąc, firma potrzebuje zwinności działu IT. Jeśli stworzenie aplikacji trwa tylko jeden miesiąc, to czy naprawdę warto marnować sześć miesięcy na koordynację działań związanych z nabywaniem sprzętu? Przetwarzanie w chmurze natychmiast daje infrastrukturę potrzebną do wdrożenia aplikacji. Zadania związane z dostarczeniem sprzętu, systemu operacyjnego i oprogramowania są zautomatyzowane i spadają na dostawców usług przetwarzania w chmurze. Terminologia związana z przetwarzaniem w chmurze W celu ustandaryzowania ogólnej terminologii związanej z przetwarzaniem w chmurze w branży utrwaliły się trzy główne kategorie usług chmurowych: infrastruktura jako usługa (IaaS), platforma jako usługa (PaaS) oraz oprogramowanie jako usługa (SaaS). IaaS to usługa narzędziowa, która zapewnia sprzęt i wirtualne systemy operacyjne działające w wysoce skalowalnych centrach danych dostawcy chmury obliczeniowej. Użytkownik może wynająć tę infrastrukturę do wdrożenia własnego oprogramowania i zarządzania nie tylko aplikacją w całym cyklu jej życia, ale także systemem operacyjnym, w którym ta aplikacja działa. W IaaS użytkownik jest odpowiedzialny za aktualizowanie i utrzymywanie systemów operacyjnych oraz aplikacji działających na wynajętym sprzęcie. Z tego powodu klientem docelowym usługi IaaS są administratorzy systemowi i inżynierowie projektu. W skrócie: IaaS oferuje klientowi abstrakcję infrastruktury sprzętowej i wirtualizację. PaaS to usługa narzędziowa, która zapewnia sprzęt, systemy operacyjne oraz środowisko wykonawcze potrzebne do uruchomienia aplikacji w wysoce skalowalnych centrach danych dostawcy chmury obliczeniowej. PaaS zarządza systemami operacyjnymi i utrzymaniem sprzętu, ale klient musi sam zarządzać swoimi aplikacjami i danymi. Z tego powodu grupą docelową dla PaaS są zazwyczaj deweloperzy. Choć ostateczne wdrożenie i utrzymanie jest zarządzane przez zespoły operatorów, platforma umożliwia programistom podejmowanie pewnych decyzji projektowych za pośrednictwem konfiguracji. W skrócie: PaaS oferuje klientowi abstrakcję infrastruktury sprzętowej i systemu operacyjnego. SaaS to usługa narzędziowa, która zapewnia klientowi oprogramowanie aplikacyjne. Odbiorca usługi musi zarządzać tylko danymi biznesowymi, które rezydują w aplikacji i są przez nią przetwarzane. Sprzętem, systemami operacyjnymi i oprogramowaniem zarządza dostawca SaaS. Dlatego grupę docelową dla SaaS stanowią zazwyczaj właściciele firm. Ich zadanie sprowadza się do odwiedzenia witryny internetowej dostawcy SaaS, zarejestrowania konta w usłudze i używania jej. 22 ROZDZIA’ 1. „ PRZEGLkD INFORMACJI O PLATFORMIE WINDOWS AZURE Zgodnie z naturalnym postępem SaaS jest zbudowany na bazie PaaS, a PaaS jest zbudowany na bazie IaaS. Dlatego dostawcy PaaS oferują możliwości usług IaaS, które są wbudowane w PaaS. Czasem, w zależności od przyjętej strategii, IaaS jest oferowana jako oddzielna usługa. Typowe zakresy odpowiedzialności w usługach IaaS, PaaS i SaaS pokazano na rysunku 1.1. Rysunek 1.1. Zakresy odpowiedzialności dla usług IaaS, PaaS i SaaS Zarządzanie kontami użytkowników może być różne w różnych scenariuszach. Niektóre przedsiębiorstwa decydują się na stworzenie jednolitej usługi zarządzania kontami użytkowników, natomiast w innych konta użytkowników wewnątrz firmy i w usłudze SaaS są odrębne. Na przestrzeni kilku ostatnich lat można było także spotkać kilka innych terminów, np. DaaS (od ang. Data as a Service — dane jako usługa), IT as a Service — IT jako usługa, Security as a Service — bezpieczeństwo jako usługa i wiele innych. W niniejszej książce dla uproszczenia wszystkie usługi przypisałem do kategorii IaaS, PaaS i SaaS. Typy chmur W branży mówi się nie tylko o typach usług w chmurze, ale także o typach chmur występujących na rynku. Chmura to architektura centrów danych będąca „silnikiem” usług w chmurze. Jaka jest zatem różnica pomiędzy dostawcą usług hostingowych a dostawcą usług w chmurze? Doskonałe pytanie! Zgodnie z moimi doświadczeniami i wiedzą o chmurze mówię tylko wtedy, kiedy architektura centrum obliczeniowego dostarcza następujących usług: 23 PLATFORMA WINDOWS AZURE x Płać na bieżąco (ang. pay as you go) — chmura musi dostarczać modelu usług narzędziowych, w którym klienci ponoszą opłaty wyłącznie za zużyte zasoby bądź za liczbę użytkowników korzystających z usługi. Cena powinna wzrastać lub maleć w sposób dynamiczny, proporcjonalnie do stopnia korzystania z usługi. x Portal samoobsługowy (ang. self-service provisioning portal) — chmura musi dawać klientowi dostęp do portalu samoobsługowego pozwalającego na alokację i zwalnianie zasobów w sposób ręczny i programowy. x Abstrakcja sprzętu serwerów (ang. server hardware abstraction) — chmura musi zwalniać klienta z konieczności alokowania i (lub) utrzymywania serwerowych zasobów sprzętowych niezbędnych do uruchomienia aplikacji. x Abstrakcja sprzętu sieciowego (ang. network hardware abstraction) — chmura musi zwalniać klienta z konieczności alokowania i (lub) utrzymywania sieciowych zasobów sprzętowych niezbędnych do działania aplikacji. x Dynamiczna skalowalność (ang. dynamic scalability) — chmura musi dostarczać ręcznej i (lub) programowej opcji dynamicznego skalowania aplikacji (w górę lub w dół) w zależności od wymagań. x Umowa dotrzymania wysokiej dostępności (SLA) (ang. Service Level Agreement) — chmura musi jasno definiować umowę SLA określającą gwarantowaną dostępność platformy. Typ chmury determinuje także jej lokalizacja. Chmury mogą być prywatne bądź publiczne. Dla zapewnienia prostoty opisu zdefiniuję tylko te dwa typy chmur. Chmura publiczna to centrum obliczeniowe dostępne publicznie przez internet. Chmurą publiczną zarządza dostawca usług w chmurze. Niektóre platformy chmur publicznych zapewniają integrację z usługami intranetowymi firmy za pośrednictwem sieci federacyjnych, wirtualnych sieci prywatnych lub podobnych mechanizmów łączności. Główne aplikacje i dane w dalszym ciągu rezydują w centrum obliczeniowym dostawcy usług w chmurze. Chmura prywatna to infrastruktura działająca we własnym ośrodku obliczeniowym przedsiębiorstwa. Ze względu na to, że termin „chmura” może być różnie interpretowany, spotyka się różne definicje chmur prywatnych. Osobiście za niezbędne minimum do tego, by nazwać coś „chmurą” publiczną bądź prywatną, uznaję spełnienie wymienionych wcześniej wymagań. Jeśli chmura prywatna nie spełnia żadnego z nich, to jest to jedynie zoptymalizowane centrum obliczeniowe. Niekoniecznie musi to oznaczać coś złego. W niektórych scenariuszach zoptymalizowane centra obliczeniowe sprawdzają się lepiej od chmur obliczeniowych. Zasadniczą różnicą pomiędzy chmurami prywatną i publiczną jest wielkość kapitału, jaki trzeba zaangażować, aby dostarczyć infrastrukturę. Chmury publiczne nie wymagają tworzenia infrastruktury. „ Uwaga W niniejszej ksiÈĝce w zaleĝnoĂci od kontekstu bÚdÚ zamiennie uĝywaï terminów usïuga w chmurze oraz aplikacja w chmurze w ogólnym znaczeniu przetwarzania w chmurze. UsïugÚ w chmurze moĝna czasami uznaÊ za zbiór aplikacji w chmurze, ale w kontekĂcie niniejszej ksiÈĝki oba terminy oznaczajÈ to samo. Definicje terminów używanych w książce Zanim zagłębię się w tematykę chmury obliczeniowej, zaprezentuję terminologię stosowaną w niniejszej książce. Dla zapewnienia spójności stworzyłem ten podrozdział w celu zdefiniowania ważnych terminów. Używane pojęcia wraz z opisem znaczenia, w jakim występują one w tej książce, zestawiono w tabeli 1.1. Dostawcy usług w chmurze W ciągu kilku ostatnich lat niektóre duże firmy z branży oprogramowania i platform internetowych zaczęły oferować usługi w chmurze. Dla takich firm jak Amazon, Google i Microsoft, które już wcześniej uzyskały wysoką pozycję w internecie, była to naturalna transformacja. Firma VMware zbudowała ofertę usług w chmurze na drodze przejęcia innych firm, na przykład Springsource lub Zimbra. Oferty dostawców chmury obliczeniowej 24 ROZDZIA’ 1. „ PRZEGLkD INFORMACJI O PLATFORMIE WINDOWS AZURE są różnorodne. Czasami są trudności w zaprezentowaniu wachlarza usług oferowanych tylko przez jednego dostawcę. W tabeli 1.2 wyszczególniłem kilku dostawców oferujących dojrzałe usługi w chmurze. Tę samą tabelę można zastosować do dowolnego dostawcy usług w chmurze, zarówno obecnie, jak i w przyszłości. Tabela 1.1. Terminologia stosowana w książce Termin Azure lub Windows Azure Platforma Microsoft Windows Azure Aplikacja w chmurze Definicja Platforma chmury W siedzibie Poza siedzibą Rozwiązanie Aplikacja wdrożona na platformie chmury obliczeniowej. Zazwyczaj część większej usługi w chmurze Usługa PaaS oferowana przez dostawcę chmury obliczeniowej do wdrażania usług w chmurze (np. platforma Windows Azure oferowana przez Microsoft) Dotyczy aplikacji lub usług zainstalowanych i zarządzanych przez przedsiębiorstwo w jego własnych centrach obliczeniowych Dotyczy aplikacji bądź usług w chmurze Termin użyty samodzielnie dotyczy zbioru aplikacji i (lub) usług w chmurze zaprojektowanych w celu spełnienia specyficznego celu biznesowego (np. system płacowy składający się z trzech usług w chmurze i czterech aplikacji działających w siedzibie klienta) Tabela 1.2. Właściwości chmur obliczeniowych Właściwość Publiczne IaaS Amazon EC2Windows Rackspace.com PaaS Platforma Windows Azure Windows Azure AppFabric Force.com Google AppEngine SaaS Office 365 Salesforce.com Google Apps Prywatne VMWare vSphere Hyper-V Windows Azure Appliance SharePoint jako usługa IT (jeszcze niedostępne) Na podstawie tabeli 1.2 można oceniać dostawców usług w chmurze spełniających określone wymogi. Zazwyczaj trudno znaleźć jednego dostawcę chmury obliczeniowej, który odpowiadałby wszystkim kryteriom, ale podobnie jest w przypadku oprogramowania działającego w siedzibie przedsiębiorstwa. Migracja do paradygmatu chmury Jak wynika z poprzedniego podrozdziału, możliwość wyboru wynikająca z szerokiej oferty usług w chmurze może stwarzać dylematy. Zwykle przed podjęciem decyzji o wyborze konkretnej usługi w chmurze trzeba przetestować co najmniej dwie. Migracja od tradycyjnego modelu oprogramowania działającego w siedzibie klienta do modelu chmury jest dla firm fundamentalną zmianą paradygmatu. Zazwyczaj firmy, które wewnętrznie zarządzają swoimi zasobami IT, osiągnęły pewien stan komfortu. Decydując się na model przetwarzania w chmurze, firmy muszą opuścić strefę komfortu i przeprowadzić migrację paradygmatu do chmury obliczeniowej. Tylko w ten sposób mogą bowiem sprostać konkurencji. Migracja nie odbywa się w ciągu jednej doby, zwykle rygorystyczna analiza, planowanie i implementacja zajmuje kilka miesięcy. W zależności od 25 PLATFORMA WINDOWS AZURE kosztów, korzyści, ryzyka i wymagań bezpieczeństwa firma może pozostać przy rozwiązaniu oprogramowania „w siedzibie”, w pełni przejść na chmurę obliczeniową bądź też zdecydować się na model hybrydowy, gwarantujący oszczędności, a jednocześnie zachowanie najważniejszych aplikacji „w siedzibie”. Na rysunku 1.2 zaprezentowano odpowiedzialność za kluczowe zasoby przy zastosowaniu scenariuszy „w siedzibie”, „w chmurze” oraz modeli hybrydowych. Rysunek 1.2. Scenariusze „w siedzibie”, „w chmurze” i hybrydowe Zalecanym sposobem migracji jest przechodzenie krok po kroku — po jednej aplikacji. Kiedy w początkach tego wieku zaczął zyskiwać popularność offshoringowy model wytwarzania oprogramowania, firmy stawały przed podobnym dylematem. Obecnie wiele firm w dużym stopniu korzysta z offshoringu i zdecydowanie im się to opłaca. Przeprowadzenie migracji paradygmatu do offshoringowych projektów wytwarzania oprogramowania zajęło firmom sporo czasu i wymagało nauki. Aby chmura obliczeniowa odniosła sukces, firmy ponownie muszą przeprowadzić podobną migrację paradygmatu. 26 ROZDZIA’ 1. „ PRZEGLkD INFORMACJI O PLATFORMIE WINDOWS AZURE Scenariusze „w siedzibie” i „w chmurze” zaprezentowane na rysunku 1.2 są dość łatwe do zrozumienia, ponieważ albo wszystkie zasoby są umieszczone w siedzibie klienta, albo w chmurze obliczeniowej. Profile użytkowników zwykle są wymagane po obu stronach ze względu na wymóg pojedynczego logowania dla usług „w siedzibie” i „ w chmurze”. W modelach hybrydowych firmy muszą prowadzić negocjacje i w ich wyniku podjąć decyzję co do tego, które zasoby i usługi powinny być umieszczone w siedzibie, które w chmurze, a które w obu tych lokalizacjach. W scenariuszu „hybrydowy 1” profile użytkowników i mechanizmy hostingu występują po obu stronach, aplikacje biznesowe są umieszczone w chmurze, natomiast aplikacje narzędziowe, systemy operacyjne, magazyn danych i sprzęt działają w siedzibie przedsiębiorstwa. W scenariuszu „hybrydowy 2” profile użytkowników, systemy operacyjne, magazyn danych i sprzęt występują po obu stronach, natomiast aplikacje biznesowe, aplikacje narzędziowe i mechanizmy hostingu działają w chmurze obliczeniowej. Większość firm zwykle decyduje się na jakiś model hybrydowy, który najbardziej odpowiada ich potrzebom. Ekosystem chmury obliczeniowej Ekosystem chmury obliczeniowej obejmuje pięć głównych ról, które zaprezentowano na rysunku 1.3. Rysunek 1.3. Ekosystem chmury obliczeniowej Dostawcy usług Dostawcami usług są firmy, które dostarczają chmurę obliczeniową firmom i konsumentom. Firmy te prowadzą olbrzymie centra obliczeniowe, w których działają wysoce zwirtualizowane i redundantne systemy sprzętu i oprogramowania. Do kategorii dostawców usług można zaliczyć takie podmioty jak Amazon z usługą EC2 oraz Microsoft z platformą Windows Azure. Firmy te nie tylko mają doświadczenie w zarządzaniu centrami obliczeniowymi, ale także potrafią zarządzać skalowalnymi systemami oprogramowania. Dostawcy usług mogą oferować swoje usługi bezpośrednio firmom, indywidualnym konsumentom bądź niezależnym dostawcom oprogramowania. 27 PLATFORMA WINDOWS AZURE Twórcy oprogramowania Oprogramowanie przeznaczone do działania w siedzibie przedsiębiorstwa znacząco różni się od oprogramowania przeznaczonego do działania w chmurze. Pomimo że jedno i drugie dostarcza użytkownikom tych samych funkcjonalności biznesowych, to bardzo różnią się one pod względem architektury. W oprogramowaniu działającym w chmurze znacznie większego znaczenia niż przy architekturze oprogramowania w siedzibie przedsiębiorstwa nabierają takie cechy jak wielofirmowość (ang. multi-tenancy), skalowalność, niezawodność i wydajność. Oprogramowanie w chmurze działa w centrach obliczeniowych udostępnianych przez dostawców chmur obliczeniowych. W niektórych przypadkach role dostawców usług i twórców oprogramowania nakładają się na siebie. Na przykład platforma Microsoft Windows Azure, Microsoft Office 365 oraz Google Apps to oprogramowanie w chmurze działające w centrach obliczeniowych swoich producentów. W celu zoptymalizowania dostarczania sprzętu wraz z oprogramowaniem za pośrednictwem chmury obliczeniowej firmy te uznały za ekonomicznie uzasadnione umieszczenie ich we wspólnych centrach obliczeniowych. Niezależni dostawcy oprogramowania Niezależni dostawcy oprogramowania (ang. Independent software vendors — ISVs) odgrywają kluczową rolę w sukcesie usług w chmurze ze względu na swe doświadczenie w dziedzinowych aplikacjach biznesowych. Zazwyczaj budują oni aplikacje dziedzinowe na bazie istniejących platform. Identyfikują wymagania biznesowe dla konkretnego rozwiązania i oferują rozwiązanie na bazie gotowej platformy. Chmura obliczeniowa to doskonała platforma dla niezależnych dostawców oprogramowania, świetnie nadająca się do tworzenia aplikacji dziedzinowych. Na przykład można stworzyć w chmurze rozwiązanie naliczania opłat za usługi medyczne i zaoferować je wielu lekarzom oraz placówkom medycznym. Infrastruktura potrzebna do zbudowania wielofirmowego, skalowalnego oprogramowania jest dostarczana przez dostawcę chmury obliczeniowej. Niezależni dostawcy oprogramowania mogą zatem skoncentrować się na tworzeniu rozwiązania biznesowego. Dzięki temu zdobywanie nowych rynków może odbywać się błyskawicznie. Integratorzy Integratorzy (nazywani także implementatorami) to firmy oferujące usługi kompletnych rozwiązań tworzonych na bazie integracji oprogramowania wytwarzanego przez różnych producentów. Wiele firm zakupuje od producentów licencje na oprogramowanie, ale ze względu na brak strategicznej inicjatywy lub doświadczenia z produktem nigdy nie dochodzi do wdrożenia. Integratorzy wypełniają istniejącą lukę poprzez oferowanie usług konsultingowych dla zakupionego oprogramowania. Takie firmy jak Microsoft Consulting Services oraz IBM Global Services oferują usługi niezależnie od platformy. Integratorzy odgrywają kluczową rolę, ponieważ scalają usługi „w siedzibie” z usługami w chmurze lub tworzą kompletne rozwiązania w chmurze spersonalizowane pod kątem wymagań konkretnego odbiorcy. Chmura obliczeniowa daje integratorom możliwość rozszerzenia oferty poza rozwiązania działające „w siedzibie”. Przedsiębiorstwa Przedsiębiorstwa są końcowym odbiorcą i źródłem zapotrzebowania na produkty i usługi oprogramowania. Jeśli firmy dostrzegą wartość lub oszczędności finansowe w konkretnym rozwiązaniu, nie zawahają się przed jego wdrożeniem. Aby pozostać konkurencyjnymi na współczesnym rynku, firmy muszą zachować aktualność swoich portfeli zasobów IT i aplikacji i tam, gdzie to możliwe, czerpać tzw. korzyści skali. Usługi w chmurze obliczeniowej zostały zaprojektowane z myślą o osiąganiu korzyści skali, ponieważ wspierają wiele przedsiębiorstw na skalowalnej i zautomatyzowanej platformie. Aby oferta chmury obliczeniowej odniosła sukces, dostawcy usług, twórcy oprogramowania, niezależni dostawcy oprogramowania i integratorzy muszą działać wspólnie w kierunku tworzenia aplikacji i usług w chmurze. Aplikacje te nie tylko przynoszą oszczędności finansowe, ale także podnoszą konkurencyjność firm, a przez to dają korzyści konsumentom. 28 ROZDZIA’ 1. „ PRZEGLkD INFORMACJI O PLATFORMIE WINDOWS AZURE Strategia firmy Microsoft w zakresie chmury obliczeniowej Aby firma mogła stworzyć skuteczny biznes bazujący na chmurze obliczeniowej, musi najpierw zainwestować w utworzenie globalnych centrów danych, które są wysoce zautomatyzowane, wydajne i odpowiednio połączone. Stworzenie takich centrów obliczeniowych wymaga znaczących inwestycji, a czerpanie z nich zysków jest możliwe tylko przy wsparciu partnerów biznesowych zajmujących się wytwarzaniem oprogramowania i systemów operacyjnych. Z tego powodu usługi chmury obliczeniowej na globalną skalę oferują tylko duże firmy, takie jak Microsoft czy Amazon. Firma Microsoft to największy producent oprogramowania na świecie. Działająca w jej ramach grupa Global F
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Platforma Windows Azure
Autor:
,

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: