Tomasz Kopacz, Cloud computing na bazie Windows Azure

31
Cloud computing na bazie Windows Azure Tomasz Kopacz [email protected]

description

 

Transcript of Tomasz Kopacz, Cloud computing na bazie Windows Azure

Page 1: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Cloud computing na bazie Windows Azure

Tomasz [email protected]

Page 2: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Plan

Definicja „chmury” (…)

Podstawowa charakterystyka platformy Cloud Computing

Przegląd i pierwsze demoplatformy Azure

Wybrane szczegóły platformy Azure

Page 3: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Terminologia i próba definicji

Cloud Computing to styl wykonywania obliczeń w którym wysoce skalowalna infrastruktura IT jest udostępniona jako usługa zewnętrznym klientom.

Obecnie, termin stosowany jest też:• Jako wyróżnik typu rozwiązania

(wielopodmiotowość, elastyczność, SaaS, „cloud enabled” app).

• Określenie związane z infrastrukturą i wirtualizacją (“utility computing").

Praktycznie: NOWA PLATFORMA DO URUCHAMIANIA APLIKACJI

Page 4: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Dlaczego platforma „w chmurze”?

Redukcja inwestycji i kosztów operacyjnych Uproszczone wdrażanie i zarządzanie Elastyczność: aplikacji i infrastruktury Uproszczone skalowanie rozwiązań

masowych (internet) Tania obsługa obciążenia w szczycie Pozwala skupić się na funkcjonalności – nie

infrastrukturze

Zmiana w „ekonomii” oprogramowania

Page 5: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Aplikacje w chmurze

Aplikacje „wewnętrzn

e”

InneWindowsMobile

WindowsVista/XP/7

WindowsServer

Page 6: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Możliwości Azure Services

Bazuje na istniejących inwestycjachZnane narzędzia, języki i frameworki – .NET & Visual StudioPozwala wybrać: „on-premise”, w „chmurze” lub rozwiązania

pośrednieIntegracja z istniejącymi zasobami: AD, aplikacje zainstalowane

lokalnie…

Oparty o standardy internetoweObsługa wielu protokołów, w tym HTTP, REST, SOAP, AtomPubInwestycje w otwarty dostęp (we współpracy ze społecznością)

Elastyczna platforma usług dla skali InternetuProste scenariusze są proste – skomplikowane można realizowaćUsługi hostowane w centrach danych MicrosoftZaprojektowany pod kątem wysokiej dostępności i skalowalności

Page 7: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Skala serwisówObecne obciążenie: 30 miliardów autoryzacji Live ID na miesiąc 2 miliardy zapytań Live Search na miesiąc 10 miliardów wizyt na stronach MSN na miesiąc 240 miliardów komunikatów na miesiąc

Nowe inwestycje Quincy, WA: zakończona, około 13 km2

San Antonio, TX: zakończona w 2008, około 12 km2

Chicago, IL: wiosna/lato 2009, około 14 km2

Dublin, Irlandia: lato 2009, około 14,5 km2

Des Moines, Iowa: Niedawno nabyty teren

Centra danych to nowe „Intelectual Property”

Page 8: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Scenariusz przykładu

Page 9: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Windows Azure

Platforma Windows Azure

Demo

Page 10: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Demo: Hello Windows Azure

Prosta aplikacja ASP.NET

Visual Studio 2008 SP1

Role, instancje w konfiguracji

Śledzenie kodu lokalnie

Portal Azure Wgranie w chmurę Wersje, staging,

produkcja

Scenariusz:

Środowisko do uruchomienia koduMaszyny, szafy, przełączniki, połączenie…Automatyczne wdrożenie i konfiguracjaIzolacja, redundancja, rozkład obciążeńElastycznośćAbstrakcja „datacenter”

Azure zapewnił:

Page 11: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Kilka(+) szczegółów

Page 12: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Tematy

Hosting Azure

Skalowalność i wydajność

Współpraca i komunikacja

Page 13: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Co oferuje Windows Azure?

Obliczenia .NET 3.5 sp1 na IIS7 Server 2008 – 64bit Medium Trust* Web Role Witryna WWW

(ASP.NET) Usługa Web (WCF) Worker Role Zadanie obliczeniowe Serwer bez sesji! Http(s)

Pojemnik Trwałość, skalowalność,

dostępność Blobs Tabele Kolejki Interfejs REST

• Można używać niezależnie

Page 14: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Co oferuje Windows Azure?

Compute Storage

Narzędzia deweloperskie

• Windows Azure SDK– Lokalną „symulację” środowiska w

chmurze– Obliczenia + pojemnik

– Narzędzia z linii poleceń– API do zarządzania (proste)

• Logowanie, monitoring

• Dodatek do Microsoft Visual Studio 2008

Page 15: Tomasz Kopacz, Cloud computing na bazie Windows Azure

InfrastrukturaSprzętowe urządzenia Load

BalancersSerwerySiećDNSMonitorowanie

Automatyczne zarządzanie serwisami

O co nie trzeba się martwić?

Obliczenia Pojemnik

Narzędzia developerski

e

Page 16: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Skalowalność i wydajność

Page 17: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Kolejka

Obliczenia, kolejki i role

Web Role

ASP.NET, WCF,

itp.

Worker Role

main(){ … }

1) Otrzymanie zadania

2) Zadanie do kolejki

3) Pobranie zadania do wykonania

4) Praca

Skalowanie = dodanie więcej

Dowolna liczba klientówTylko raz komunikat „wybrany”Rozmiar komunikatów – do 8 Kb

Page 18: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Obliczenia i role

Demo

Page 19: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Opcje przechowywania

Zaprojektowane dla chmury; 3 repliki (+ rozproszenie geograficzne)

REST API (opis na MSDN) Bardzo pomocny przykład StorageClient Partycjonowanie Transakcje (jednostkowe operacje)

Azure Queue Kolejka; komunikacja Web-Worker role

Azure Blob System plików; ścieżka + dane binarne

Azure TableArkusz z miliardami wierszy z różnymi zestawami kolumn w każdym wierszu. Wersjonowanie wierszy, izolacja snapshot

SQL Services

Dane relacyjne, join, kwerendy, TSQL, ADO.NET, geolokalizacja; ADO.NET Data Services

Page 20: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Współpraca i komunikacja

Page 21: Tomasz Kopacz, Cloud computing na bazie Windows Azure

.NET Services

Aplikacja http://service./

Usługa.NET Workflow Service

Aplikacja

Usługa

Usługa

.NET Service Bus

Service Bus

.NET Access Control Service

Aplikacja

Usługa

Przepływ

SDS

AccessControl

Page 22: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Access Control - Zarządzanie

Page 23: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Service Bus - zadanie

Dwukierunkowa komunikacja z/w• Klient w hotelu, na lotnisku, współdzielone biura• Udostępnienie lokalnie hostowanej usługi w

Internecie• + Autoryzacja + integracja z workflow itp..

Kilka szczegółów:• Konwencja nazewnicza

• sb://<projekt>.servicebus.windows.net/test1/MulticastService/

• Rejestr: po prostu Feed (Atom 1.0 / WS-Transfer)• http://<projekt>.servicebus.windows.net• API R/W

• Odpowiedniki bindingów WCF• Możliwości połączeń typu hybrydowego z

komunikacją NAT Traversal

Page 24: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Workflow Service - zadanie

Mechanizm orkiestracji w chmurze Pod spodem• Windows Workflow Foundation• Operacje:

• IfElse ; Sequence ; Suspend ; Terminate ; While• .NET Workflow Service

• CloudDelay• CloudHttpSend ; CloudHttpReceive• CloudServiceBusSend• CloudXPathRead ; CloudXPathUpdate

API do tworzenia przepływu, uruchamiania instancji, wysyłania komunikatu

Page 25: Tomasz Kopacz, Cloud computing na bazie Windows Azure

.NET Services

Demo

Page 26: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Live Services

Page 27: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Live Services - zadania

Dostęp do danych

użytkownikaDostęp do informacji naurządzeniach klienta

Dostęp do „grafu powiązań społecznych”

Synchronizacjadanych

użytkownikaDostęp do profilu

Kontrola dostępu do danych użytkownika!

Współdzieleniedanych

Wiadomości(app / dane)

Zarządzanie aplikacjami

Usługi „użytkowe” które pozwalają na:- Dostęp do danych użytkownika- Dostęp do usług Windows Live- Hostowanie aplikacji klienckich (desktop w chmurze)

Page 28: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Typy aplikacji Live Framework

Mesh-enabled Web Applications

Hostowana i wdrażana w MeshDziała na pulpicie albo na Live Desktop Pełne wykorzystanie Live Services

Strony Web wykorzystujące Live Framework

Witryna

GET https://user-ctp.windows.net/v0.1

Aplikacja może uzyskać dostęp do danychMusi być udzielone zezwolenie na dostęp

Page 29: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Jak zacząć? (kody dostępu)

Są 3 typy kodów:1. Windows Azure2. .NET & SQL Services3. Live Framework & Services

Jak je uzyskać?• Wejść na http://www.azure.com• Wysłać zgłoszenie (przez Microsoft Connect)

• .NET Services, SQL Services, Live Services• Azure Hosting / Storage - dostępne• Czas oczekiwania od 20 lutego – 2 dni (pracujące)

Page 30: Tomasz Kopacz, Cloud computing na bazie Windows Azure

Podsumowanie

1. Wszechstronna platforma w chmurze: Aplikacje i dane

2. Bez martwienia się o infrastrukturę (abstrakcja)

3. Elastyczność – dowolne łączenie usług4. Łączność z systemami „on-premises”5. Znane narzędzia i model programowania6. Dużo opcji związanych z UX dzięki Live

Services7. Standardowe protokoły i formaty (HTTP,

REST, WS-Trust...)