Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

1 Vývojář a (Azure) cloud Michael Juřek Software Architect Microsoft s.r.o.

Podobné prezentace


Prezentace na téma: "1 Vývojář a (Azure) cloud Michael Juřek Software Architect Microsoft s.r.o."— Transkript prezentace:

1 1 Vývojář a (Azure) cloud Michael Juřek Software Architect Microsoft s.r.o.

2 2 Agenda Aplikační vrstva Databáze Úložiště Ostatní služby Některé důležité aspekty

3 3 Aplikační vrstva pohledem vývojáře Azure nabízí hostovaný operační systém Windows Server 2008 a 2008 R2 Prakticky cokoliv, co běží na Windows Serveru lze spustit na Windows Azure: ASP.NET, ASP, PHP, Java, Ruby, …, nativní kód Libovolný web server běžící na Windows (IIS předinstalován ve web roli) Něco mezi IaaS a PaaS

4 4 Zlatá střední cesta? Čisté IaaS (Amazon) Windows Azure Čisté PaaS (Google) FlexibilitaVysokáStředníNízká Náklady na správu OS AnoNe Izolace aplikacíVysoká Nízká Symetrie mezi cloud a on- premise Ano Ne Jednoduchý upgrade NeAno

5 5 Rozdělení kompetencí My pro vás připravíme operační systém Vy dodáte balíček se „zaZIPovanou“ aplikací My balíček nasadíme do OS a spustíme aplikaci My aktualizujeme a spravujeme virtuální počítač Vaše aplikace nemá administrativní práva k OS Pokud chcete, tak může mít, ale není to z hlediska bezpečnosti doporučená praxe Vy můžete OS modifikovat, ale na vlastní riziko My můžeme kdykoliv vytvořit nový virtuál

6 6 Rozdíly mezi během lokálně a v cloudu Téměř stejná aplikace běží v cloudu i na vašem serveru Velká výhoda – flexibilita do budoucna Některé aspekty je třeba řešit různě: Logování, diagnostika – různé mechanismy on- premise a cloud Lokální souborový přístup Pouze do deklarovaných složek a bez záruky zachování dat Veškerá trvalá data nutno ukládat mimo (SQL Azure, Azure Storage)

7 7 Cíl: MASIVNÍ ŠKÁLOVATELNOST Škáluje „out” – nikoli „up“ – replikováním worker instancí podle potřeby. Umožňuje škálovat uživatelské a výpočetní aktivity nezávisle. Instance dvou typů: Web Role & Worker Role Windows Azure aplikace se mohou skládat z web role instancí, worker role instancí nebo kombinací obou. Každá instance běží ve svém vlastním VM, replikovaném podle potřeby. Architektura „velké“ aplikace

8 8 WEB ROLEWORKER ROLE Interaguje s koncovým uživatelem nebo web službou Zpracovává příchozí HTTP/HTTPS dotazy Vyvinuty s Microsoft a non-Microsoft nástroji: ASP.NET, WCF, jiné.NET nástroje Java, PHP, atd. Příchozí dotazy přes zvolený protokol Iniciuje své vlastní dotazy na data nebo úkoly z fronty Podobné jako "batch job" nebo Windows service. Web a worker role

9 9 Konfigurace - detaily Velikost VM – impl. S = 1 CPU, 1.7 GB, 250 GB M = 2/3.5/500, L = 4/7/1000, XL = 8/14/2000 Connection strings Speciální nastavení pro DevStorage Počet instancí služeb Verze OS Implicitně – poslední verze s automatickým update Lokální souborový systém Definuje alokovanou kapacitu z lokálního souborového systému Endpoints Web role 1 (HTTP/S), Worker role 5 (HTTP/S, TCP) Interní / Externí

10 10 Nasazení aplikace Aplikace přeložena do balíčku (*.cspkg) + konfigurace (*.cscfg) Vytvoření ve VS, Eclipse, z příkazové řádky (cspack) Upload přímo do role některým z nástrojů Web provisioning portál – windows.azure.com Visual Studiem* Eclipse* MMC* PowerShell* Nástroje třetích stran* Alternativní upload do Azure Storage *nutné instalovat/registrovat admin certifikát

11 11 Upgrade vaší aplikace Dva modely: VIP Swap a In- Place Upgrade VIP Swap: Používá Staging a Production prostředí Umožňuje rychlé přepnutí prostředí Produkční: v1  Staging: v2, po přepnutí Produkční: v2  Staging: v1. In-Place Upgrade Provádí vystavení upgradu do živé služby Celá služba nebo jedna role Manuálně nebo automaticky napříč doménami

12 12 Hello, Azure

13 13

14 14

15 15

16 16

17 17

18

19

20

21 21

22 22

23 23

24 24 Agenda Aplikační vrstva Databáze Úložiště Ostatní služby Některé důležité aspekty

25 25 Databáze pohledem vývojáře Bez relační databáze se většina aplikací neobejde, „No SQL DB“ ji nenahradí „Jiný připojovací řetězec k databázi“ Ve většině aspektů nerozlišitelná od klasické relační databáze Ale pozor na rozdíly: Ne všechny schopnosti klasické databáze jsou podporovány Server není jenom pro vás, proto nelze využívat funkce, které by byly rizikem pro bezpečnost, výkonnost, stabilitu celého serveru

26 26 Výhody databáze jako služby Nižší náklady (TCO) Nulové pořizovací náklady – nekupujete hardware ani licence Předvídatelné provozní náklady Automatická vysoká dostupnost Tři servery s aktuální replikou vašich dat Automatická odolnost proti selhání Automatická aktualizace a údržba (téměř nulový výpadek) Vysoká symetrie s klasickým SQL serverem: Stejné znalosti Stejný kód Stejné nástroje

27 27 Síťová topologie Aplikace Load Balancer TDS (tcp:1433) Aplikace používající standardní knihovny: ODBC, ADO.NET, … Load balancer se snaží směrovat vždy na stejnou TDS gateway Data Node Gateway Škálovatelnost a dostupnost: překlenutí výpadku, replikace, rozkládání zátěže

28 28 Databázové repliky Replika 1 Replika 2 Replika 3 DB Replika 4 !

29 29 Model služby Každý účet vlastní jeden nebo více serverů Správa pomocí portálu Subjekt pro účtování Každý server má jednu nebo více databází Ekvivalent SQL instance, má DNS jméno master databáze – metadata o ostatních databázích, uživatelské účty apod. Jednotka autentizace Jednotka umístění (různá datová centra v oblasti) Každá databáze má standardní SQL objekty Tabulky, pohledy, indexy,... Jednotka účtování Jednotka izolace a konzistence Účet Účet Server Server Databáze Databáze

30 30 Správa serveru Prostřednictvím portálu Vytvoření/zrušení serveru Vytvoření/zrušení databáze Administrátorský účet Konfigurace síťových pravidel Reportování o provozu a nákladech Editace schématu i dat v tabulce Spuštění libovolného SQL dotazu Prostřednictvím T-SQL Např. pomocí SQL Management Studia 2008 R2 Správa uživatelských účtů a rolí Vytvoření/zrušení databáze Konfigurace firewallu Reporty o provozu a nákladech Veškerá další standardní funkčnost SQL serveru Master DB

31 31 Správa SQL Azure Portál pro správu Připojení z SQL Management Studia

32 32

33 33

34 34

35 35

36 36

37 37 Pozor na omezení Nelze překročit hranice jedné databáze: Příkaz USE Distribuované transakce Distribuované dotazy Nelze ovlivnit fyzické atributy databáze: Umístění souborů, mirroring, obnova, … Chybí funkce, které nejde dobře izolovat od ostatních databází: Fulltext v databázi Nasazení vlastního kódu do databáze A řada dalších (zdokumentováno)

38 38 Agenda Aplikační vrstva Databáze Úložiště Ostatní služby Některé důležité aspekty

39 39 Úložiště pohledem vývojáře Náhrada souborového systému v cloudu HTTP/REST přístup Knihovny pro.NET, Javu, PHP zapouzdřují REST protokol objektovým modelem Konkurenční nabídky jsou poměrně podobné

40 Datové možnosti ve Windows Azure Relační databáze Strukturované úložiště Nestrukturované úložiště Servisní komunikace NTFS disk

41 Poskytuje strukturované úložiště Automaticky škáluje na tisíce serverů podle nárůstu provozu (použitím partition klíče) Není relační databáze Nemá Foreign Keys, Joins, Aggregation, apod. Pouze jeden index Možnosti transakcí pouze v rámci partice Známá a jednoduchá programová rozhraní.NET třídy a LINQ REST na libovolné platformě a v jazyce Azure Table

42 42 Azure Blob Úložiště rozsáhlých souborů (mapové podklady, média, obrázky, apod.) společně s jejich metadaty Block Blob Vytvořen pro streamovací scénáře Každý blob se sestává ze sekvence bloků [až do 4MB na blok] Velikostní limit 200GB na blob Page Blob Vytvořen pro náhodné read/write scénáře na úrovni stránek Každý blob se skládá z pole stránek Velikostní limit 1TB na blob

43 Komunikace mezi službami pomocí zpráv Zajišťuje škálovatelnost aplikace Odděluje Front End (uživatelské rozhraní) od Back End (business logika) Zajistí korektní funkci v exponovaných momentech Není vhodné pro dlouhodobé ukládání dat nebo objemná data Zprávy mohou být do 8KB s životností max. 7 dní Důležité si uvědomit Zprávy jsou zpracovávány v libovolném pořadí Zpráva může být zpracována vícekrát Azure Queue

44 44 Azure BLOB … pomocí Azure MMC konzole

45 45

46 46

47 47

48 48

49 49

50 50

51 51

52 52

53 53

54 54 Dvojklik na jménu containeru !!!

55 55

56 SQL Azure vs. Azure Storage 1/2 CharakteristikaSQL AzureAzure Storage Přístup k datůmADO.NET/ODBC + T-SQLREST, LINQ „Velikost“ dotazuNeomezená velikost, zpracování max. 5 minut Maximálně 1000 entit a 5 s, stránkování výsledku Zpracování na straně serveru Uložené procedury, relace, funkce, triggery apod. Ne Indexy1 clustrovaný, až 999 neclustrovaných Jediný podle primárních klíčů TransakceNad jedinou databází, max. 5 minut Pouze nad daty ve stejném oddílu, max. 100 operací a 4 MB dat Izolace uživatelůCelá škála možností nabízených databází Optimistický přístup

57 SQL Azure vs. Azure Storage 2/2 CharakteristikaSQL AzureAzure Storage ŠkálovatelnostOmezena na jeden virtuální server, případně možno dělit zátěž již v aplikaci Prakticky neomezená Max. kapacita50 GB100 TB Max. velikost 1 položky2 GB1 TB Redundance a vysoká dostupnost Ano Platba za uložení9.99 USD/GB/měsíc (podle naalokované velikosti) 0.15 USD/GB/měsíc (podle skutečné spotřeby) Platba za používáníGB přenesené do/z Azure serverovny GB přenesené do/z Azure serverovny + transakce nad daty

58 Asynchronní komunikace pomocí fronty trvalých zpráv -> Azure Queue Velké soubory (videa, obrázky apod.) s jasným identifikátorem -> Azure BLOB Relační data: Mimořádná velikost a zátěž -> Azure Table Všechny ostatní případy -> SQL Azure, nerelační úložištím chybí kritické schopnosti pro běžné aplikace Praktické vodítko – co použít?

59 59 Agenda Aplikační vrstva Databáze Úložiště Ostatní služby Některé důležité aspekty

60 60 Další služby platformy Azure Nejsou typickou součástí každé aplikace Jsou nezbytné v některých scénářích Z časových důvodů pouze výčet: Service Bus – bezpečné propojení cloud a on- premise aplikací Access Control – bezpečnost pomocí SAML známek, integrace s Active Directory, Live ID, Google ID, Facebook ID Cache – distribuovaná paměťová cache Připravují se i další

61 61 Agenda Aplikační vrstva Databáze Úložiště Ostatní služby Některé důležité aspekty

62 62 Platba za spotřebu SQL Azure čas x počet serverů objem dat počet transakcí velikost x počet databází Azure AppFabric počty připojení počty ověření objem dat dovnitř + ven z cloudu Metriky pro měření spotřeby Počítají se podle spotřeby a platí na měsíční bázi

63 63 Platba za spotřebu Zcela jiný model, než na jaký jsou vývojáři zvyklí Přestože za svůj mobil platí podle spotřeby a nevadí jim to Pozitivní i negativní důsledky: Chyba je drahá (nechat něco běžet je jako nezavěsit telefon) Experimentování je levné – prostředí si lze pronajmout krátkodobě – nedocenitelné při nasazování nové verze

64 64 Bezpečnost FYZICKÁ: Microsoft datacentra s nejnovějšími bezpečnostními procesy Redundantní napájení od oddělených poskytovatelů, baterií a záložních diesel agregátů, klimatizace a ochrana proti požáru Logická: Kódování a autentikace úložiště Po drátu přes zabezpečený HTTPS Windows Azure běží na modifikovaném Windows 2008 Server, optimalizovaném pro cloud přístup bez admin přístupu k hostům nebo aplikacím Aplikace nebo uživatelé neupdatují OS KONTINUITA: Datová centra v různých geo-lokacích Uživatelé si mohou vybrat místo hostingu, jedno místo nebo geo-distribuované Úložiště je vícekrát replikováno Fabric je navržen pro zálohování a obnovení z checkpoints COMPLIANCE & CERTIFIKACE: Microsoft je zavázán k splnění všech právních předpisů. Průmyslové certifikace jsou základem. Cílem je dosažení certifikací a standardů jako SAS70 a dalšími. Uživatelé jsou plně odpovědni za bezpečnost a standardy svých služeb a aplikací - Windows Azure je platformou.

65 65 Závěrem PaaS – platform as a service Šetří vám starosti s infrastrukturou Umožňuje provozovat aplikace alternativním způsobem s jinou strukturou nákladů Aplikace vyžadují relativně malé úpravy a lze je napsat tak, aby běželi v cloudu i na vlastním hardware

66 66 © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Stáhnout ppt "1 Vývojář a (Azure) cloud Michael Juřek Software Architect Microsoft s.r.o."

Podobné prezentace


Reklamy Google