Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilMarcela Beranová
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
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.
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.