Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud vs websites vs )

1,754 views
1,641 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,754
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
10
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • SLAJD OBOWIĄZKOWY (proszę nie usuwać)Jest to slajd archiwizacyjny, więc prezentację na sali na MTS rozpoczynamy od slajdu 2 – tytułowego.
  • Aktualna wersja Azure oferuje programiście bardzo dużo różnych sposobów rozwiązania danego problemu. Podczas sesji omówione zostaną wybrane typy aplikacji i przeanalizowane różne mechanizmy w Azure (storage, hosting, dodatkowe usługi) pozwalające je zrealizować. Uwaga! Sesja zakłada ogólną znajomość Azure.
  • SLAJD DOMYŚLNIE UKRYTYMożna w nim podać namiary kontaktowe na prelegenta (nie jest to obowiązkowe).Mają one pozwolić (po pobraniu prezentacji) skontaktować się z prelegentem.Można również pokazać ten slajd na prezentacji.
  • SLAJD OBOWIĄZKOWY (proszę nie usuwać, i wypełnić zgodnie z instrukcją powyżej)PROSZĘ POKAZAĆ GO NA SESJI!
  • Odebranie żądaniaWłożenie go do kolejkiWolny worker wyjmuje kolejkęWorker po wykonaniu zadania wkłada wynik do tabeliUsługa / Klient sprawdza kiedy jest gotowy wynik
  • Tu wpisujemy AGENDĘ
  • SLAJD OBOWIĄZKOWY (proszę nie usuwać i nie zmieniać)PROSZĘ POKAZAĆ GO NA SESJI!
  • SLAJD OBOWIĄZKOWY (proszę nie usuwać, można dopisać godziny swojego „dyżuru” w strefie ATE – lub usunąć tą część o swojej obecności)PROSZĘ POKAZAĆ GO NA SESJI!
  • SLAJD OBOWIĄZKOWY (proszę nie usuwać i nie zmieniać)
  • Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud vs websites vs )

    1. 1. Azure: co i kiedy użyć (IaaS vsPaaS vs Hybrid Cloud vsWebsites vs …) (400) Tomasz Kopacz Architect Evangelist | Microsoft
    2. 2. Cel sesji Jak poruszać się w gąszczu różnych usług związanych z Azure By napisać „niezawodną” aplikację
    3. 3. „Niezawodna” aplikacja? Resiliency (odporność na awarie)  Jak komponent nie działa, to aplikacja sobie poradzi High Availability (wysoka dostępność)  System działa, gdy składnik padnie Disaster Recovery (odzyskiwanie po awarii)  Szybko można uruchomić system jak „bardzo padnie” Wymagania „dodatkowe”  Działa w miarę szybko…  Jest w miarę tania w utrzymaniu  Niezbyt skomplikowana przy pisaniu
    4. 4. Plan prezentacji Dane IaaS (SQL + mirroring, inne) Usługi Skalowalność i koncepcja CQRS Chmura hybrydowa i Azure „lokalnie” Różne komponenty / slajdy do lektury w domu
    5. 5. Dane
    6. 6. Główny problem – co zrobić gdy pojemnik(usługa) jest niedostępny (na chwilę) Powód: głównie „coś” w sieci, czasami – wewnętrzne przełączenie w usłudze 3 główne „rozwiązania”  Ponawianie  Też:  Świadomy klient, który potrafi się przełączać  Broker, przekierowujący na inną maszynę (Load Balancer, Service Bus)
    7. 7. „Resilency” i Azure Storage Azure Storage: 5000 operacji/ sekundę, 3GB/sek Queue: 500 / sek Blob: 60 MB/sek Kody HTTP warte uwagi:  ServerBusy (503)  Timeout (504)  Inne: patrz StorageErrorCodeStrings;
    8. 8. SQL Azure – jak działa Model współdzielony Soft throttling – dla bazy Hard throttling – dla serwera Lista komunikatów o błędach  General Errors  Database Copy Error  Connection-Loss Errors  Federation Errors
    9. 9. Throttling – błędy zawierają dwa kody Incident ID – do kontaktu z suportem Code – dlaczego, patrz rysunek  Najważniejsze – czego nie można robić!
    10. 10. SQL Azure – wybrane sposobypostępowania  Poczekać 10 sekund  40501 :The service is currently busy. Retry the request after 10 seconds.Incident ID: <ID>. Code: <code>.  Za dużo sesji – zwykle bug w kodzie | kolejkowanie? | federacja?  10928 : Resource ID: %d. The %s limit for the database is %d and has been reached.  Poczekać z zapisem / aktualizacją  40545: The service is experiencing a problem that is currently under investigation.  Za duża operacja na raz (2GB na log, blokad > 1 mln, za złożone)  40552 | 40550 | 40549 | 40551 | 40553 | 40549  Podłączyć się ponownie (przekierowanie na inną bazę)  10053: A transport-level error has occurred […]  40197: The service has encountered an error processing [..]
    11. 11. DemoSQL Azure profiler
    12. 12. Transient Fault Handling Application Block(Topaz)  Część Enterprise Library 5.0 Integration Pack for Windows Azure  Zadanie: łatwe dodanie sensownej logiki ponawiania czynności kiedy to ma sens  Wbudowana obsługa:  SQL Azure  Windows Azure Service Bus  Windows Azure Storage  Windows Azure Caching Service Hands On Lab tutaj  Ponawianie:  Incremental (przyrostowe)  Fixed interval (stały odstęp) EntLib For Azure zawiera też: Autoscaling Application Block (Wasabi)  Exponential back-off (rośnie wykładniczo) Blob configuration source Windows PowerShell cmdlets Tailspin Surveys sample application
    13. 13. Demo – istotne fragmenty kodu
    14. 14. „Omijanie” throttlingu Po pierwsze – pomierzyć i logować!  Stąd – TOPAZ Azure Storage – partycjonowanie  Każda kolejka to oddzielna partycja  Czyli – wiele kolejek!  W Azure Table – odpowiedni model danych  Indeksy na Row Key i Partition Key (TYLKO!)  Im mniej skanujemy, tym lepiej SQL Azure – federacja
    15. 15. SQL Azure Federation (podział danych po wielu bazach SQL) Podstawowe SQL-e  CREATE FEDERATION federation_name (distribution_name <data_type> RANGE)  CREATE TABLE [Sales].[SalesOrderHeader]( [SalesOrderID] [int] NOT NULL, IDENTITY(1,1) […] [Comment] [nvarchar](128) NULL PRIMARY KEY (SalesOrderID, CustomerID)) FEDERATED ON (CustID = CustomerID)  USE FEDERATION Customer_Federation(CustID=100) WITH RESET, FILTERING=OFF  USE FEDERATION Customer_Federation(CustID=100) WITH RESET, FILTERING=ON
    16. 16. DemoAzure Federation – jak działa
    17. 17. Dyskusja – SQL Azure, Azure Storage SQL Azure – oczywiste, tam gdzie relacje Azure Storage – użyteczny Blob i Kolejka (też dalej)  Tabela – z doświadczeń… jako trwały pojemnik na listę, ale nie do skomplikowanych danych  Log  Rejestr czynności … Jest jeszcze HDFS (HDInsight, Hadoop) Jest jeszcze VHD
    18. 18. Zapewnienie dostępności – czyli KOPIA(AZ) Azure Storage  Azure Table – brak operacji; trzeba wiersz po wierszu  Copy Blob (to też pomiędzy kontami / pojemnikami!)  Docelowy – musi być stworzonych po 7.6.2012; Copy Source to URL  Asynchroniczne! - StartCopyFromBlob  x-ms-copy-status (CopyStatus): pending | success | aborted | failed  x-ms-copy-id (CopyId) | x-ms-copy-status-description (CopyStatusDescription) |  x-ms-copy-progress (CopyProgress) | x-ms-copy-completion-time (CopyCompletionTime)  A – jest też Snapshot, ReadOnly, czas życia nieograniczony, blob może mieć wiele snapshotów
    19. 19. Zapewnienie dostępności – czyli KOPIA(SQL) SQL Azure  BACPAC – do robienia backupu; też opcja odzyskania z BLOB  CREATE DATABASE Database1B AS COPY OF Database1A;  CREATE DATABASE Database2A AS COPY OF Server1.Database1A;  Pomiędzy serwerami,  Na jednym użytkownik musi być administratorem, na drugim - dbmanager
    20. 20. DemoKopia danych – Azure Storage i SQL Azure
    21. 21. A może cache (czyli – rzadziej pytać pojemnik) Dwa rozwiązania  Azure Cache (Uwaga! 128 MB za $45, 4GB za $325 /miesiąc)  Rola Cache (Serwis, jak dedykowany to ok 1.2GB za $86,4 / miesiąc)  Największa zaleta – może być „dzielony” z inną rolą No i jeszcze  SQL Azure + Azure Storage + kopie!
    22. 22. Rola cache - zalety nowego cache Cechy Patrz sesja Tomasza Wiśniewskiego  Nazwane cache | Regiony i tagi | Wysoka dostępność  Lokalne cache z powiadamianiem!  API odpowiadające temu które jest dostępne w AppFabric Server Co nowego w Azure  ASP.NET session state, output caching itp. Wydajność  Opóźnienia około 4 razy mniejsze niż w przypadku Azure Shared Cache Protokół tekstowy i binarny dla Memcached
    23. 23. To może IaaS?
    24. 24. Windows Azure Virtual Machines (IaaS) Trwały pojemnik Aplikacje LOB Infrastruktura dla aplikacji Rozwiązanie chmury hybrydowej Windows i Linux Możliwości Typy instancji 5 Maksymalny rozmiar dysku OS 127GB Maksymalna liczba dysków z danymi per instancja 16 Maksymalny rozmiar dysku z danymi 1TB Dysk z danymi : Zmiana działania cache bez restartu Trwały pojemnik Maksymalna liczba rdzeni 8 Maksymalna liczba GB RAM 14
    25. 25. Ważne – co jest zarządzane Azure Web Site – czy działa witryna (SaaS) Cloud Services – znany model zdrowia + sprzęt Virtual Machines – sprzęt + prosty „check” czy maszyna odpowiada  https://www.windowsazure.com/en-us/manage/linux/how-to-guides/linux- agent-guide/ (tam widać jak to działa)  Kod źródłowy tu: https://github.com/windows-azure/walinuxagent  https://github.com/Windows-Azure/WALinuxAgent/blob/master/waagent  LoadBalancerProbeServer Dalej – model zliczający „błędne/brak odpowiedzi” Zawsze odpowiada na żądanie a nie inicjuje!  Czyli – opóźnienie w wykryciu „padu”
    26. 26. IaaS: failover + dostępność w IaaS Availability Set + wbudowany Load balancer na endpoincie Technologie znane z serwerów „normalnych” ?  NLB – zupełnie bez sensu – to robi LB Azure  WebFarm – raczej do rozkładania typów ruchu  Cluster Services – NIE DZIAŁAJĄ SQL Server  Własna logika!  Database Mirroring  SQL Log Shipping  Replikacja  Snapshot | Transactional | (*)Peer-to-Peer | (*)Merge
    27. 27. SQL Server na IaaS SQL Azure Licencja  Baza relacyjna + raporty Analysis Services  Database Federation DTS / SSIS  Częściowe samoskalowanie Reporting Services  Samozarządzanie Brak ograniczeń w TSQL  Wbudowany Failover Ale – samodzielnie Failover i  Pewne limity w TSQL skalowanie…  Opłaty za rozmiar Opłaty za czas  I grosze za rozmiar
    28. 28. To jak zainstalować SQL Server na AzureIaaS? C – dysk OS D – dysk tymczasowy, tempdb Liczba Dodatkowe dyski z danymi Instancja dysków z  Z nich zrobić prosty, programowy stripe-set na danymi dyskach pod MDF  Extra Small 1 (porty – domyślnie firewall jest włączony) Small 2 Uważać na typy cache dysku… Medium 4 Skryptem:  Add-AzureDataDisk / Set-AzureDataDisk Large 8  Cache ReadOnly Extra Large 16  Cache ReadWrite  Cache None - domyślnie
    29. 29. DEMODyski – jak to działa
    30. 30. Kilka „obowiązkowych” kroków Ustawić w skrypcie uprawnienia! (TaskSheduler on start)  icacls "d:" /grant "Everyone":F Przenieść bazę tempdb na dysk D:  USE master  ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = „D:tempdb.mdf‟)  ALTER DATABASE tempdb MODIFY FILE (NAME = templog, FILENAME = „D:templog.ldf‟)
    31. 31. Database Mirroring - Procedura Domena, 2 serwery SQL dołączone do domeny  Właściwe DNS-y na wszystkich serwerach – nie zapomnieć o kontrolerze domeny  Ew. logowanie przez certyfikaty Witness – by automatyczny failover
    32. 32. DemoDatabase Mirroring na IaaSPodobnie usługi analityczne i inne
    33. 33. (Jakbym zapomniał pokazać)
    34. 34. Uwagi utrzymaniowe dla developerów Środowisko często restartowane / zmieniane (testy) Wewnętrzne adresy IP przypisywane przez DHCP, w kolejności podnoszenia maszyn VM z Domain Controller podnoszona jako pierwszy  Dostaje adres *.*.*.4 (np. 10.0.3.4) = To znamy DNS AD  W środku Task Scheduler (uruchamiane jako lokalny admin):  At System Startup: ustawienie praw dla dysku D  On event – Log: System, Source: Microsoft-Windows-Iphlpsvc: ustawienie DNSów  Netsh, PowerShell itp Do tego skrypty do podnoszenia instancji itp.  Płacimy de facto za storage; 100GB = $9.30/miesiąc (Locally Redundand wystarczy)  Lub – wgrywamy; upload do Azure jest DARMOWY  Ps. Nie pokazywać Administratorom – pewno to można zrobić bardziej elegancko 
    35. 35. Demo (przegląd skryptów)06 Skrypty lokalne„Konfiguracja sieci” + TaskSheduler„Jak podnosić maszynę”
    36. 36. (Dla nowych maszyn (prościej))
    37. 37. Zaraz, ale jak to użyć z poziomu PaaS? (Otworzyć port 1433 do Internetu – na pewno zadziała ) Lepiej: Dołączyć PaaS do Virtual Network (na razie ręcznie!) VPNNORTH WebRole1 BackEndSubnet
    38. 38. DemoKlient w PaaS
    39. 39. Usługi
    40. 40. Usługa - wybór (CSAzureWCFServices) Host and use WCF Services in Windows Azure Warto obejrzeć: Gdzie:  Web Sites: Limit: port 80 (ale WebSocket) + 443 (SSL)  Nie da się otworzyć innych portów!  Cloud Services – Web Role (TCP / UDP / HTTP / HTTPS)  Cokolwiek, hostowane w IIS  Cloud Services – Worker Role (TCP / UDP)  Cokolwiek, hostowane we własnym procesie  Nie zapomnieć o RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["External"];  IaaS + co nam się podoba.. Co:  WCF (WF Services i okolice) | REST | WebSocket
    41. 41. Zabezpieczanie usług? Active Directory (podobnie jak w przypadku IaaS)  PaaS można dołączyć do domeny itp… WCF – certyfikaty, hasła itp. (standardowo) Dwa „nowe” elementy w aplikacjach:  ACS - Access Control Services  Typ usług - REST
    42. 42. Autoryzacja - ACS Access Control Services Integracja z Windows Identity Foundation (WIF) Wspiera  Windows Live ID, Google, Yahoo, i Facebook  Active Directory Federation Services (AD FS) 2.0  OAuth 2.0 (draft 13), WS-Trust i WS-Federation  JSON Web Token (JWT), SAML 1.1, SAML 2.0 i Simple Web Token (SWT) token formats Home Realm Discovery pozwalajcie wybierać sposób autoryzacji Usługa Odata do konfigurowania usługi + portal
    43. 43. Ale, proszę rzucić okiem na szablonprojektu DotNetOpenAuth w WebRole  OpenID | OAuth 1.0, 1.0a i 2.0 | Relay, przekazywanie atrybutów  Biblioteka kliencka ACS: potrafi też zabezpieczać URI, można go traktować jako „dzierżawiony” firewall ACS pozwala zmieniać sposób autoryzacji bez konieczności zmiany kodu Natomiast – czasy takie, że raczej pisze się i konsumuje styl „REST”
    44. 44. Autoryzacja w REST IHttpModule (składnik potoku); dokleja Principal ASP.NET MVC WebApi (zalecane API do REST!)  ActionFilterAttribute, OnActionExecuting, actionContext.Request.Headers.Authorization Klient  var te = new AzureTestModel.AzureTestEntities(new Uri("http://tkwebodataserver[...].svc"));  te.Credentials = new NetworkCredential("Tomasz","Kopacz");
    45. 45. DEMOODATA + autoryzacja + interceptorWebAPI + AutoryzacjaWebSocket + Aplikacja Konsolowa 
    46. 46. Usługi odporne na awarię Klasycznie, przez Load Balancer  Jeżeli jest w pełni bezstanowa aplikacja – bezproblemowo  Jak stan – to np. każde wywołanie wymusza odczyt/zapis z pojemnika Też: ServiceBus jako pośrednik  (Patrz MTS 2011; Topic; Queue; Relay)  Klient „stuka” do ServiceBus, który przechowuje komunikat / przekierowuje go dalej Od kwietnia 2012 dostępny jest nowy typ „enpointu” pozwalający na bezpośrednią komunikację z zewnątrz z instancją
    47. 47. Typy endpointów w Cloud Services Internal: Wewnętrzny, pomiędzy instancjami Input: Wejściowe, widoczne z Internetu, przechodzi przez Load Balancer InstanceInput: Zakres, dostępne z Internetu, mapowane na poszczególne instancje  Można zestawić komunikację BEZPOŚREDNIO z instancją z Internetu, bez VPN / Azure Connect Protokoły: HTTP, HTTPS, TCP, UDP Limity: wejściowych, zewnętrznych: 25, wszystkich: 50
    48. 48. Porty w Worker RoleInternal – obowiązkowy, by dało się odczytać liczbę instancji itp..
    49. 49. InstanceInput – po stronie klienta1. Z usługi bezstanowej odczytuje (przykład)  Liczbę działających instancji2. Pyta każdą instancję o jej „obciążenie”3. Wybiera jedną z nich. W przypadku awarii – wie że się może na inną przełączyć Zaleta:  Praktycznie „prywatny” serwer usług (np. – stan WCF!)  LB po stronie klienta… Ale świadome naszej logiki!
    50. 50. DemoInteligentny klient (tu – Windows 8)
    51. 51. Skąd Azure Fabric wie, że serwis niedziała? Cloud Services  RoleEnvironment.StatusCheck  Możliwość ręcznego „odłączania się” od Load Balancer  SetBusy()  Definicja LoadBalancerProbes IaaS  Get-AzureVM -ServiceName "MyService" -Name "MyTestVM2" | Set-AzureEndpoint - LBSetName "MyLBSet" –Name MyTestEndpoint2 –Protocol tcp –LocalPort 80 -ProbePort 80 - ProbeProtocol http -ProbePath "/" | Update-AzureVM  Co 15 sekund, brak 2 kolejnych odpowiedzi = wypina maszynę
    52. 52. Cloud Services - LoadBalancerProbes <ServiceDefinition> (plik .csdef) <LoadBalancerProbes> <LoadBalancerProbe name="<load-balancer-probe-name>" protocol="[http|tcp]" path="<uri-for-checking-health-status-of-vm>„ port=”<port-number>” intervalInSeconds="<interval-in-seconds>" timeoutInSeconds="<timeout-in-seconds>” /> </LoadBalancerProbes> [….] <Endpoints> <InputEndpoint [….] loadBalancerProbe=”<load-balancer-probe-name>” />
    53. 53. Traffic Manager Główny cel: „Business Continuity” Też:  Performance | Round robin  Failover Bazuje na LoadBalancerProbes IaaS - odpowiednia konfiguracje DNS-ów  Zauważmy, że jak aplikacja potrafi ponawiać operację, to wszystko działa…
    54. 54. Trzy ciekawe scenariusze
    55. 55. JPG (czy duży obiekt binarny) w Azure Czasami nie warto pisać usługi pośredniczącej Prywatny Azure Blob ma możliwość generowania SAK  Shared Access Key, Dostęp czasowy | RO/RW/W  Zakres: dany blob/kontener Procedura:  Klient woła usługę  Dostaje URI + SAK  Pracuje bezpośrednio z BLOB-em
    56. 56. Windows Azure Mobile Services Cel – chmura rozszerzenie urządzenia mobilnego.  Dane | Powiadamianie | Autoryzacja (na razie Windows 8, iOS, Windows Phone 8) Funkcjonalności:  Dostęp do bazy SQL za pośrednictwem usług Web (ODATA)  Triggery po stronie bazy (w JavaScript); skrypty  Autoryzacja (Microsoft Accounts, Facebook, …)  Powiadamianie Push  Współpracuje z Live Connect  Model Web Sites – albo współdzielone albo dedykowane instancje
    57. 57. DemoWAMS
    58. 58. Dużo, bardzo dużo małych danych Śledzimy aplikacje dla Windows 8 „Co użytkownik klika”  Czas pobytu w formatce, czytanie artykułu (reklamy – im dłużej czyta, tym dłużej widzi reklamę)  Chcemy to śledzić by:  Lepiej zarobić na aplikacji … | Zrobić lepszą aplikację v2 … Scenariusz  (zły: każdy ruch = wysłanie komunikatu i zapis danych do pojemnika)  Lepiej:  Aplikacja na Windows 8 ma lokalny pojemnik  Który okresowo jest wysyłany do Azure  Azure grupuje informacje w większe paczki (potencjalnie – wykonując agregacje, uproszczenie itp.)  Które z opóźnieniem zapisuje w sposób trwały..  Wada: Technicznie możemy stracić porcję danych, ale…
    59. 59. Precyzyjniej, role w aplikacji AppForTrace 1. Gromadzi „ślad” 2. Eliminuje niepotrzebne elementy (tu – zbyt małe ruchy myszą) 3. Wysyła komunikat REST z paczką śladów, nie częściej niż co 5s i nie mniej niż 10 na raz MvcTraceW8AppSrv 1. Gromadzi (tu – do 30 wpisów) 2. Dodaje wpis do kolejki z danymi do zapisania (queuesave); Sam nic nie robi! WorkerSave 1. Wyjmuje komunikat z queuesave 2. Zapisuje rekordy do tabeli 3. Wysyła polecenia do queueaggregate – by policzyć coś dalej WorkerAggregate 1. Wyjmuje komunikat z queueaggregate 2. Dokonuje obliczeń
    60. 60. DEMOVS jako ADMINCo robić, jak się usługi zupełnie zatkają?
    61. 61. SkalowanieKoncepcje
    62. 62. Skalowalna architektura – Azure Queue
    63. 63. Skalowalna architektura – Service Bus
    64. 64. No tak, ale:SpójnośćStanSzybkość „widzenia” skutków wykonanej akcji
    65. 65. CQRS – idea (wstęp do…) Command Query Responsibility Segregation Pomysł: Rozbić aplikację na dwie części  Jedną, odpowiedzialną za zapis  Drugą, odpowiedzialną za odczyt Dodatkowo, aby wykonać zapis:  Do kolejki wkładane jest polecenie (Kolejka zawiera aktualny stan systemu!)  Ich wykonanie zmienia stan pojemnika docelowego Warto pamiętać też generalnie odczytów jest znacznie więcej niż zapisów (średnio)
    66. 66. Architektura trójwarstwowa Odczyt Pojemnik Zapis Domena / Model UI
    67. 67. Architektura CQRS Pojemnik - Aktualizacja Pojemnik - Albo jeden odczyt zapisOdczyt pojemnik Zapis Model - Model - odczyt zapis Polecenie (Command) UI Kolejka
    68. 68. Zasoby od Pattern & Practices CQRS journey  Jak dojść do sensownej architektury CQRS na przykładzie systemu rezerwacji Pobrać przykładowy projekt Ksiażka (WARTA LEKTURY)  Zręcznie napisana 
    69. 69. Co można zainstalowaćlokalnie?Też: chmura hybrydowa
    70. 70. Web Platform Installer i Azure
    71. 71. Azure Services for Windows Server Web Sites Virtual Machines  System Center 2012 SP1 – Orchestrator, Service Provider Foundation Service Management Portal and API  !Frontend
    72. 72. (RTM!) Service Bus na Windows 2012 Bazuje na Windows Fabric „Migracja”  URI (adresy serwera)  CreateServiceUri -> CreatePathBasedServiceUri  NamespaceManager -> CreateWindowsTokenProvider  Reszta API TAKA SAMA CHMURA- ON PREMISE Też farma Czytać tutaj, pobrać przez WPI
    73. 73. (beta; nadal) Workflow Services 1.0 Idea – farma do hostowania Workflow Workflow Manager, WorkflowManagerClient Funkcjonalności (rozszerzenie .NET 4.5 WF)  REST API do „zlecania” nowego Workflow  Workflow Revisions  Komunikacja na razie PublishNotification / REST; gwarancja dostarczenia, stanu, HA  Komunikacja też przez Service Bus  Monitorowanie (liczniki itp.)  Powershell!  Komponent też w Office 365 i Sharepoint 2013 Czytać tutaj, pobrać najlepiej przez WPI, przykłady tu  (Sam Windows Server AppFabric – trochę inny zakres)
    74. 74. Cloud Services? Porównajmy.. Azure  Windows Server  Azure Queue, Service Bus  MSMQ, WCF + MSMQ, Service  Azure Blob Bus  Azure Table  System plików!  Diagnostyka  … Ale z drugiej strony – RDBMS?  Diagnostyka - taka sama! Odpowiednio napisany kod! Tych elementów specyficznych dla Azure nie ma tak dużo! Znacznie ważniejsze – IDEE i architektura
    75. 75. Kilka słów o Virtual Network Pozwalają zdefiniować topologię po stronie Azure Pozwalają też zestawić Gateway z siecią lokalną Routery: Cisco/Juniper  Najtańszy wspierany to model Cisco ASA 5505 (około $300)  TMG: Informacje tutaj  WS 2008 R2: Informacje tutaj i tutaj  Generalnie: znaleźć administratora z wiedzą o VPN używających IPSec Potem – Azure jest widziane jako DataCenter Extension
    76. 76. Azure Connect? Nadal działa! (konfiguracja – stary portal) IPSec over HTTP Instaluje się endpoint na maszynie  Też na IaaS/PaaS wewnątrz Azure! Azure Virtual Network + VM + Azure Connect = łączność z laptopem do środka Azure Auć – rozpoznawanie nazw Rozwiązanie: Lubimy IPV6
    77. 77. Zarządzanie (dladeveloperów)(przepraszam, odrobina marketingu – ale warto)
    78. 78. Z kodu i portalu Kod: OnStart(), i potem:  var config = DiagnosticMonitor. GetDefaultInitialConfiguration();  config.PerformanceCounters. DataSources.Add(new PerformanceCounterConfiguration () (nic się nie zmieniło) Jeśli celem skalowanie – gotowe do użytku WASABi (od P&P)
    79. 79. System Center (subiektywnie wybraneskładniki) Service Manager (SM) – zarządzanie incydentami Orchestrator (Orch) – Automatyzacja procesów IT (w tym provisioning serwerów + „diagramowe pisanie skryptów” App Controller - zarządzanie i monitorowanie aplikacji w chmurze Też:  Virtual Machine Manager (VMM)  Data Protection Manager (DPM)  Configuration Manager (CM)  Operations Manager (OM)  Endpoint Protection
    80. 80. App Controller: „Cloud on Your Terms”
    81. 81. Zarządzanie aplikacjami w chmurach Deploy Monitor Hyper-V Manage App Controller – zarządzanie chmurą publiczną + prywatną
    82. 82. Monitorowanie aplikacji w Azure Read app roles and structure Windows Azure Service API Worker Role Performance data, Web Role events, logs Performance data, Read operational events, logs Table storage data and grooming On-Premise Operations Manager Windows Azure Application On-premise Windows Azure Operations Manager Console Diagram View
    83. 83. Co zapamiętać? Nie boimy się System Center  Po prostu klocek którego nie trzeba pisać! Czy on zarządza jedną czy 10 aplikacjami SaaS obojętne Warto odwiedzić/przeczytać  OM12 APM – some very usefull posts  APM with SCOM 2012  APM Authoring Guide  APM Operations Guide  APM Object Model  APM Working with Alerts  Jump Start AVICode journey
    84. 84. Reporting Services „Motor raportujący”  Osadzanie raportów na stronie Web lub w aplikacji klienckiej  Publikacja plików .rdl (takich samych jak w SQL 2008 R2)  SOAP Management Endpoint | IReportServerCredentials Limity  Źródło danych – baza SQL do której Azure ma dostęp  Nie da się pisać rozszerzeń  Mechanizmy bezpieczeństwa – jak w SQL Azure  Nie ma subskrypcji na raporty  Report Builder 3.0 -> BI Developer Studio -> Azure Reporting Services  Obrazy do 1MB; nie można linków do zewnętrznych  Lektura tutaj Ważne pytanie – co taniej – IaaS + SQL Server czy Reporting Services
    85. 85. Windows Azure Media Services Assety  H.264, MPEG-1, MPEG-2, VC-1, Windows Media Video  AC-3 (Dolby Digital audio), Advanced Audio Coding (AAC), MP3 (MPEG-1 Audio Layer 3), Windows Media Audio  *.asf, *.wmv, *.wma, *.mp4, *.ismv, *.isma, .3gp, .3g2, .3gp2, .asf, .mts, .m2ts, .avi, .mod, .dv, .ts, .vob, .xesc, .mp4, .mpeg, .mpg, .m2v, .ismv, .wmv, .ac3, .aiff, .bwf, .mp3, .m4A, .m4b, .wav, .bmp, .gif, .jpeg, .jpg, .png, .tif, .xaml Strumień, CDN, Koncepcja „procesora”:  Windows Azure Media Encoder  PlayReady Protection Task  MP4 to Smooth Streams Task  Smooth Streams to HLS Task  Storage Decryption
    86. 86. Windows Azure Active Directory Zarządzanie tożsamością w chmurze. Używane:  Office 365 | Dynamics CRM Online | Windows Intune  250,000 firm (lasów) założonych w WAAD Funkcjonalności  Graph API – api w stylu REST do odczytywania AD, na razie RO  Powershell do konfiguracji tenantów które mogą stosować SSO  WebSSO  STS metadata, WS-Federation, ADFS  Nie: „Normalne AD” , VNET itp..
    87. 87. Windows Azure Active Directory
    88. 88. Windows Azure Online Backup Dla Windows Server 2012 agent  Też Windows Server 2012 Essentials W System Center 2012 SP1 Data Protection Manager Funkcjonalności  UI + Powershell  Block level backup, backup przyrostowy (oszczędność pasma; tylko zmienione bloki)  Przechowuje delty pomiędzy zmianami (per blok)  Kompresja, szyfrowanie, throttling  Chmura weryfikuje integralność  Definiowana polityka retencji danych Zapisać się na preview - tutaj
    89. 89. Integracja portalu zarządzanego z AD URL-e:  http://manage.windowsazure.com/ - Nowy portal, Web Sites, IaaS, AVN  http://windows.azure.com/ - Starty portal, dostęp do ACS  http://account.windowsazure.com/ - dostęp do konta zakupowego, podgląd zużycia (z punktu widzenia systemu billingowego) (na razie – działa dla wybranych klientów, w tym Microsoft)  http://manage.windowsazure.com/microsoft.com  http://windows.azure.com/microsoft.com  http://account.windowsazure.com/microsoft.com
    90. 90. Cloud Numerics Biblioteki  Matematyczna, tablice, algorytmy  Rzadkie struktury danych Rozproszony motor uruchomieniowy  Z symulatorem lokalnym  Apply / Sweep Bazuje na Azure HPC Scheduler
    91. 91. Cloud Numerics – kod
    92. 92. Cloud Numerics – kod
    93. 93. Microsoft Codename “Trust Services” Lab Cel: zabezpieczenie danych. End to end.  Przekazywanie bezpieczne kluczy. Aplikacja przechowuje dane bezpiecznie w chmurze, przetwarza je ale nie musi trzymać „rozkodowanych” Funkcje:  Wyszukiwanie w zaszyfrowanych danych  Szyfrowanie strumieni  Separacja ról – administrator, publikujący, konsumujący Dalsze materiały  SDK tutaj | Ulotka tutaj  Usługa tutaj: https://trustservices.cloudapp.net
    94. 94. Trust Service – kod
    95. 95. HDInsight (dawniej Hadoop) & (very)BigData Prawie otwarta beta  (wypełnia się formularz do Connect) Funkcjonalności  HDFS – system plików  Zadania MapReduce w JavaScript, C#, Java  C# Hadoop Streaming  Sterownik ODBC + HiveQL  Hive Query Pane w Excelu  Integracja z PowerPivot  (generalnie – ze wszystkim dzięki HiveQL) Szczegóły: Michał Żyliński, Big Data, Deep Dive w Hadoop-a
    96. 96. Oficjalna nazwa - HDInsight Web Platform Installer, wyszukać Hadoop Click, click itp. Działa lokalnie Można zainstalować w we własnym kawałku Azure…
    97. 97. Payment and metering Metanga  Metanga (on Azure) offers a red carpet service to integrate Azure solutions to their offering. Full metering + payment processing  http://metanga2.squarespace.com/functionality-matrix/  Typical fees: monthly fee (~$500 for Metanga) + 1-2% per transaction fee MobilPay  MobilPay offers only payment processing via multiple channels. Romania-based, presence in multiple countries. Ready to do customizations to their service
    98. 98. ABBYY FineReader SDK: Azure OCR WW leader in OCR – now available as cloud service Convert image into text – 30+ languages, complex layouts, etc Great for any solution (CSV, end customer) working with paper documents
    99. 99. Polskie aplikacje na Windows 8 http://www.microsoft.com/poland/windows8/polskie-aplikacje/
    100. 100. PowerShell i „czyszczenie” usług Płacimy głownie za CZAS działania usługi Opłaca się je „usuwać” po zakończeniu testów/pracy Sposoby postępowania:1. Klikanie po portalu2. Napisanie prostego skryptu który poklika za nas!  Sposób ZALECANY, TAŃSZY, GODNY POLECENIA i STOSOWANIA
    101. 101. Wypełnij ankietę i wygraj nagrody!Organizatorzy MTS czytają Wystarczy 5 minut Twojegowszystkie ankiety. czasu na wypełnienie ankiety!Dzięki nim masz realny wpływ na Masz szansę wygrać m.in.konferencję oraz merytorykę i wejściówkę na MTS 2013 (25x)prelegentów kolejnego MTS. oraz inne nagrody.Gdzie i jak? Ankiety dostępne są online – na stronie konferencji (konferencjamts.pl) Można je wypełnić od dziś, aż do 11 listopada 2012
    102. 102. Strefa Ekspertów (ATE) Strefa ATE dostępna jest w strefie Partnerów Zapraszamy wszystkich zainteresowanych poszerzeniem wiedzy Eksperci będą do Państwa dyspozycji Ja będę tam:  20121030 11:40 – 12:30
    103. 103. © 2012 Microsoft Corporation. Wszelkie prawa zastrzeżone.Microsoft, Windows oraz inne nazwy produktów są lub mogą być znakami towarowymi lub zastrzeżonymi znakami towarowymi firmy Microsoftw Stanach Zjednoczonych i innych krajach. Zamieszczone informacje mają charakter wyłącznie informacyjny. FIRMA MICROSOFT NIE UDZIELAŻADNYCH GWARANCJI (WYRAŻONYCH WPROST LUB DOMYŚLNIE), W TYM TAKŻE USTAWOWEJ RĘKOJMI ZA WADY FIZYCZNE I PRAWNE, CO DOINFORMACJI ZAWARTYCH W TEJ PREZENTACJI.

    ×