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

Post on 11-Jan-2015

1.465 views 5 download

description

 

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

Azure: co i kiedy użyć (IaaS vs PaaS vs Hybrid Cloud vs Websites vs …) (400)

Tomasz KopaczArchitect Evangelist | Microsoft

Jak poruszać się w gąszczu różnych usług związanych z Azure

By napisać „niezawodną” aplikację

Cel sesji

Azure v2

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

„Niezawodna” aplikacja?

Dane IaaS (SQL + mirroring, inne) Usługi Skalowalność i koncepcja CQRS Chmura hybrydowa i Azure „lokalnie” Różne komponenty / slajdy do lektury w domu

Plan prezentacji

Dane

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)

Główny problem – co zrobić gdy pojemnik (usługa) jest niedostępny (na chwilę)

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;

„Resilency” i Azure Storage

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

SQL Azure – jak działa

Incident ID – do kontaktu z suportem Code – dlaczego, patrz rysunek

Najważniejsze – czego nie można robić!

Throttling – błędy zawierają dwa kody

SQL Azure – wybrane sposoby postę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 [..]

Demo

SQL Azure profiler

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

Ponawianie: Incremental (przyrostowe) Fixed interval (stały odstęp) Exponential back-off (rośnie wykładniczo)

Transient Fault Handling Application Block (Topaz)

Hands On Lab tutaj

EntLib For Azure zawiera też:Autoscaling Application Block (Wasabi) Blob configuration sourceWindows PowerShell cmdletsTailspin Surveys sample application

Demo – istotne fragmenty kodu

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

„Omijanie” throttlingu

(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

SQL Azure Federation

Demo

Azure Federation – jak działa

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

Dyskusja – SQL Azure, Azure Storage

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

Zapewnienie dostępności – czyli KOPIA (AZ)

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

Zapewnienie dostępności – czyli KOPIA (SQL)

Demo

Kopia danych – Azure Storage i SQL Azure

(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!

A może cache

Cechy Nazwane cache | Regiony i tagi | Wysoka dostępność Lokalne cache z powiadamianiem! API odpowiadające temu które jest dostępne w AppFabric

Server 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

Rola cache - zalety nowego cache

Patr

z se

sja T

om

asz

a W

iśnie

wsk

iego

Co n

ow

ego w

Azu

re

To może IaaS?

Trwały pojemnik Aplikacje LOB Infrastruktura dla aplikacji Rozwiązanie chmury hybrydowej Windows i Linux

Windows Azure Virtual Machines (IaaS)

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

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/li

nux-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”

Ważne – co jest zarządzane

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

IaaS: failover + dostępność w IaaS

Licencja Analysis Services DTS / SSIS Reporting Services Brak ograniczeń w TSQL Ale – samodzielnie Failover i

skalowanie… Opłaty za czas

I grosze za rozmiar

Baza relacyjna + raporty Database Federation Częściowe samoskalowanie Samozarządzanie Wbudowany Failover Pewne limity w TSQL Opłaty za rozmiar

SQL Server na IaaS SQL Azure

C – dysk OS D – dysk tymczasowy, tempdb Dodatkowe dyski z danymi

Z nich zrobić prosty, programowy stripe-set na dyskach pod MDF

(porty – domyślnie firewall jest włączony)

Uważać na typy cache dysku… Skryptem: Add-AzureDataDisk / Set-AzureDataDisk

Cache ReadOnly Cache ReadWrite Cache None - domyślnie

To jak zainstalować SQL Server na Azure IaaS?

InstancjaLiczba dysków z danymi

Extra Small 1

Small 2

Medium 4

Large 8

Extra Large 16

DEMO

Dyski – jak to działa

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’)

Kilka „obowiązkowych” kroków

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

Database Mirroring - Procedura

Demo

Database Mirroring na IaaSPodobnie usługi analityczne i inne

(Jakbym zapomniał pokazać)

Ś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

Uwagi utrzymaniowe dla developerów

Demo (przegląd skryptów)06 Skrypty lokalne„Konfiguracja sieci” + TaskSheduler„Jak podnosić maszynę”

(Otworzyć port 1433 do Internetu – na pewno zadziała )

Lepiej: Dołączyć PaaS do Virtual Network (na razie

ręcznie!)

Zaraz, ale jak to użyć z poziomu PaaS?

……………….</Role> <NetworkConfiguration> <VirtualNetworkSite name="VPNNORTH" /> <AddressAssignments> <InstanceAddress roleName="WebRole1"> <Subnets> <Subnet name="BackEndSubnet" /> </Subnets> </InstanceAddress> </AddressAssignments> </NetworkConfiguration></ServiceConfiguration>

Demo

Klient w PaaS

Usługi

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

Usługa - wybórW

arto

obejrze

ć:H

ost a

nd u

se W

CF S

erv

ices in

Win

dow

s Azu

re (

CS

Azu

reW

CFS

erv

ices)

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

Zabezpieczanie usług?

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

Autoryzacja - ACS

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”

Ale, proszę rzucić okiem na szablon projektu

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");

Autoryzacja w REST

DEMO

ODATA + autoryzacja + interceptorWebAPI + AutoryzacjaWebSocket + Aplikacja Konsolowa

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ą

Usługi odporne na awarię

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

Typy endpointów w Cloud Services

Porty w Worker Role

Internal – obowiązkowy, by dało się odczytać liczbę instancji itp..

1. Z usługi bezstanowej odczytuje (przykład) Liczbę działających instancji

2. 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!

InstanceInput – po stronie klienta

Demo

Inteligentny klient (tu – Windows 8)

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ę

Skąd Azure Fabric wie, że serwis nie działa?

<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>” />

Cloud Services - LoadBalancerProbes

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…

Traffic Manager

Trzy ciekawe scenariusze

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

JPG (czy duży obiekt binarny) w Azure

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

Windows Azure Mobile Services

Demo

WAMS

Ś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…

Dużo, bardzo dużo małych danych

AppForTrace1. 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!

WorkerSave1. Wyjmuje komunikat z queuesave2. Zapisuje rekordy do tabeli3. Wysyła polecenia do queueaggregate – by policzyć coś dalej

WorkerAggregate1. Wyjmuje komunikat z queueaggregate 2. Dokonuje obliczeń

Precyzyjniej, role w aplikacji

DEMO

VS jako ADMINCo robić, jak się usługi zupełnie zatkają?

Skalowanie

Koncepcje

Azure

Skalowalna architektura – Azure Queue

Żądanie

Azure Queue, kolejka, rozładowuje natłok żądań

Pojemnik na wynik

Usługa nasłuchująca

w Cloud ServicesWorker

wykonujący zadania w

Cloud Services

1

2 3

45

Azure

Skalowalna architektura – Service Bus

Service Bus

Żądanie i odpowiedź

Worker, wykonuje polecenia i zwraca

wynik

12

34

Spójność

Stan

Szybkość „widzenia” skutków wykonanej akcji

No tak, ale:

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)

CQRS – idea (wstęp do…)

Architektura trójwarstwowa

UI

Domena / Model

PojemnikO

dcz

yt Zapis

Architektura CQRS

UI

Model - zapis

Pojemnik - zapis

Model - odczyt

Pojemnik - odczyt

Odcz

yt Z

apis

Kolejka

Aktualizacja

Polecenie (Command)

Albo jeden pojemnik

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

Co można zainstalować lokalnie?Też: chmura hybrydowa

Web Platform Installer i Azure

Web Sites Virtual Machines

System Center 2012 SP1 – Orchestrator, Service Provider Foundation

Service Management Portal and API !Frontend

Azure Services for Windows Server

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

(RTM!) Service Bus na Windows 2012

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)

(beta; nadal) Workflow Services 1.0

Azure Azure Queue, Service Bus Azure Blob Azure Table Diagnostyka

Windows Server MSMQ, WCF + MSMQ, Service

Bus System plików! … Ale z drugiej strony –

RDBMS? Diagnostyka - taka sama!

Cloud Services? Porównajmy..

Odpowiednio napisany kod! Tych elementów specyficznych dla Azure nie ma tak dużo!

Znacznie ważniejsze – IDEE i architektura

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

Kilka słów o Virtual Network

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

Azure Connect?

Zarządzanie (dla developerów)(przepraszam, odrobina marketingu – ale warto)

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)

Z kodu i portalu

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

System Center (subiektywnie wybrane składniki)

Elastyczność + Delegacja + Kontrola Samoobsługa aplikacji w chmurach Zarządzanie: Fizyczne, Wirtualne, Chmurowe

App Controller: „Cloud on Your Terms”

Service Templates

Zarządzanie aplikacjami w chmurach

Private Cloud

XenVMwar

eHyper-V

Windows Azure

Deploy

Manage

MonitorPackage and Configuration

App Controller – zarządzanie chmurą

publiczną + prywatną

Monitorowanie aplikacji w Azure

Worker Role

Web Role

Table storage

Windows AzureService API

Performance data,events, logs

Read app rolesand structure

Read operationaldata and grooming

Windows Azure ApplicationOn-Premise Operations Manager

Windows AzureOn-premise

Performance data,events, logs

Operations Manager Console Diagram View

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

Azure – mniej znane komponenty(referencyjnie; lektura do domu)

„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

Reporting 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

Windows Azure Media Services

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..

Windows Azure Active Directory

Windows Azure Active Directory

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

Windows Azure Online Backup

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

Integracja portalu zarządzanego z AD

Biblioteki Matematyczna, tablice, algorytmy Rzadkie struktury danych

Rozproszony motor uruchomieniowy Z symulatorem lokalnym Apply / Sweep

Bazuje na Azure HPC Scheduler

Cloud Numerics

Cloud Numerics – kod

Cloud Numerics – kod

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

Microsoft Codename “Trust Services” Lab

Trust Service – kod

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)

HDInsight (dawniej Hadoop) & (very) BigData

Szczegóły: Michał Żyliński, Big Data, Deep Dive w Hadoop-a

Web Platform Installer, wyszukać Hadoop

Click, click itp. Działa lokalnie Można zainstalować w

we własnym kawałku Azure

Oficjalna nazwa - HDInsight

Kilka rozwiązań partnerskich (po angielsku)

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

Payment and metering

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

ABBYY FineReader SDK: Azure OCR

Podsumowanie…

Za: http://www.dilbert.com

Po końcu prezentacji

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

PowerShell i „czyszczenie” usług

Organizatorzy MTS czytają wszystkie ankiety.

Dzięki nim masz realny wpływ na konferencję oraz merytorykę i prelegentów kolejnego MTS.

Wystarczy 5 minut Twojego czasu na wypełnienie ankiety!

Masz szansę wygrać m.in. wejściówkę na MTS 2013 (25x)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

Wypełnij ankietę i wygraj nagrody!

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

Strefa Ekspertów (ATE)

© 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 Microsoft w 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 DO INFORMACJI ZAWARTYCH W TEJ PREZENTACJI.