Azure Resource Manager programozása C#-al

Slides:



Advertisements
Hasonló előadás
Első tapasztalatok az NIIFI-nél üzemelő infrastruktúra cloud szolgáltatással kapcsolatban Stefán Péter NIIFI RICOMNET Miskolc.
Advertisements

RESTful Web Service tesztelése
Virtualizált Biztonságos BOINC Németh Dénes Deák Szabolcs Szeberényi Imre.
SZOFTVER MINT SZOLGÁLTATÁS: ÜZLETI HATÉKONYSÁG A FELHŐBEN Nagy Levente Üzletágvezető Microsoft Office.
Hálózati és Internet ismeretek
IT-DEV-CON – Addig nyújtózkodj, ameddig a felhőd ér! Kőnig Tibor | blogs.msdn.com/tibork-on-ms | twitter.com/tibork.
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Automatikus infrastruktúra menedzsment és alkalmazástelepítés.
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
IT-DEV-CON – IT-DEV-CON Kollár László Fejlesztési platform üzletág igazgató - Microsoft.
Infrastruktúra-felügyelet a privát felhőben
Windows hálózati infrastruktúra kialakítása
E-NAPLÓ Szabó László.
SQL Server 2005 Reporting Services a gyakorlatban
2 Forrás: The Standish Group International, Extreme Chaos, The Standish Group International, Inc., 2000.
Microsoft fejlesztőeszközök a szakképzésben Farkas Bálint Visual Studio 2008.
ASP.NET MVC 3 platform áttekintés
Service Pack 1 ^ ^ Hagyományos rendszerek Privát felhőPublikus felhő.
Az ETR technológia DEXTER Informatikai kft..
WEB Technológiák Coldfusion ME Általános Informatikai Tsz. dr. Kovács László.
Nagyvállalati projektmenedzsment GTM szeminárium sorozat A Microsoft nagyvállalati projektmenedzsment megoldása Előadó:Kőnig Tibor
Hasznos segédprogramok Systems Management Server ban Peti Sándor Terméktámogatási tanácsadó.
Microsoft Visual Web Developer Express Webfejlesztés Gubicza József.
SQL Server 2005 Reporting Services Kószó Károly rendszermérnök Microsoft Magyarország.
Egy ISA szerver naplója Sárosi György Terméktámogatási Tanácsadó Microsoft Magyarország.
Megoldás Felhő szolgáltatások és Windows 7.
SharePoint Adminisztráció
Átállás.
Delphi programozás 8. ELŐADÁS ADO ActiveX Data Objects.
WEB Technológiák ISAPI ME Általános Informatikai Tsz. dr. Kovács László.
WEB MES (webes gyártásirányító rendszer)
1 Operációs rendszerek Az ütemezés megvalósítása.
Hibrid felhő Privát-, publikus és hoster felhők összekapcsolása
…az ISA Server 2006 segítségével Gál Tamás Microsoft Magyarország.
Hálózatkezelési újdonságok Windows 7 / R2
Költség hatékony és rugalmas infrastruktúra ami az ismert és meglevő termékeken alapul  Heterogén környezetek támogatása  Folyamat automatizálás  Önkiszolgáló.
Exchange Server 2007 Client Access Role
CommunityCloud Private Cloud Public Cloud Hybrid Clouds Megvalósítás módja Szolgáltatás modell Alapvető jellemzők Közös jellemzők Software as a Service.
Információ és kommunikáció Szilágyi András. Követelmények A cd-n az anyag a következő részeket fedte le: Kliensprogramok, letöltés-vezérlők Kliensprogramok,
Az AJAX technológia használata Ez az előadó neve beosztása vállalata.
Felhasználók azonosítása és jogosultságai, személyre szabás Borsi Katalin és Fóti Marcell NetAcademia Oktatóközpont.
Segédlet vizuális programozáshoz Kovács László
PHP oktatási tapasztalatok
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Web Architecture. Development of Computing Architectures Monolithic mainframe programming Client Server Real Client Server Web Programming.
Nagy teherbírású rendszerüzemeltetés a felhőben. Miről lesz szó? Cloud áttekintő Terheléstípusok és kezelésük CDN Loadbalancing Nézzük a gyakorlatban.
Fontos információk.
Supervizor By Potter’s team SWENG. Tartalomjegyzék Tartalomjegyzék2 E heti célok3 Milyen szolgáltatásokat igényel egy rendszergazda?4 Milyen jellemzői.
Supervizor By Potter’s team SWENG 1Szarka Gábor & Tóth Gergely Béla.
Java web programozás 11..
Varga Viktor – G36ECF 1/5 Vendéglátói szoftverek sajátosságai Varga Viktor.
Azure Pack Felhő szolgáltatások a Windows Server 2012 R2 segítségével
Út a felhőbe - Azure IaaS Windows Server 2012 R2 konferencia
Eszköz és identitás kezelés Korlátlan fájl szerver kapacitás Másodlagos adatközpont Korlátlanul skálázódó infrastruktúra Biztonságos DMZ Hibrid adat-
Felhő PC demonstráció Gergely Márk MTA SZTAKI Laboratory of Parallel and Distributed Systems
Illés Zoltán ELTE Informatikai Kar
Christopher Chapman | MCT Content PM, Microsoft Learning, PDG Planning, Microsoft.
Webfejlesztés, Internet Explorer 10 Komjáthy Szabolcs
CALDERONI FORRÁSKEZELŐ RENDSZER A Calderoni Program során fejlesztésre kerülő rendszer vázlatos bemutatása.
Desktop virtualizáció Microsoft VDI használatával Háló Gyula.
.NET FRAMEWORK Röviden Krizsán Zoltán 1.0. Tulajdonságok I Rövidebb fejlesztés 20 támogatott nyelv (nyílt specifikáció) 20 támogatott nyelv (nyílt specifikáció)
Informatikai gyakorlatok 11. évfolyam
DR+HA+B/R+Azure Gál Tamás Datacenter Technical Specialist
Ingyenes, online technikai kurzusok Microsoft Virtual Academy.
Programozás III JPA.
Docker technológia és alkalmazások: gyártás és logisztika szimulátor
Adatmozgatás az MTA Cloudon Data Avenue segítségével MTA Cloud workshop november 21. Nagy Enikő MTA Cloud csapattag Szoftverfejlesztő.
Hogyan lesz jövő-biztos az OTP Bank?
Openstack-alapú privát felhő üzemeltetés 2017/2018 I. félév SZTE
Előadás másolata:

Azure Resource Manager programozása C#-al //Halányi Ferenc halanyi.ferenc@nexogen.hu https://github.com/haliferi/azurenuget

Azure Resource Manager programozása C#-al Bevezető Miért ARM? Rövid összehasonlítás a Classic modellel ARM Programozási lehetőségek áttekintése Célok és felhasználhatóság Programozzuk C#-al! Első lépések, első Nugetek Bejelentkezés az Azure-ba Alapvető erőforrások létrehozása VM-ek létrehozása és menedzselése

Hogy merült fel az igény? Matematikai modellekre épülő valós idejű döntéstámogató és optimalizációs szoftver megoldások Időszakosan nagy CPU terhelés Futási idő érzékenység Aktuális bejövő adatoktól és rendszer állapottól függő tervezési erőforrás szükséglet Nemzetközi több telephelyes elérés biztosítása > Szükséges optimalizálni az erőforrás költségeket is

Azure Resource Manager Bevezető Azure Resource Manager

Classic vs ARM Classic (v1) ARM (v2) Microsoft ki fogja vezetni, de néhány funkció még csak itt érhető el XML alapú Cloud Service konténer integrálta a VM-eket a hálózattal Régi portál: https://manage.windowsazure.com ARM (v2) JSON alapú Resource Groupba csoportosítható minden erőforrás VM, NIC, LB, IP address, DNS független egymástól Új portál: https://portal.azure.com További infó: https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-azurerm-versus-azuresm/

ARM előnyök fejlesztői szemmel - 1 Gyors: Párhuzamosan menedzselhetőek az erőforrások Template függőségeket, hivatkozásokat beépítve kezeli Kompatibilitás biztosított api-version=2015-06-15 paraméter minden kérésben Beszédes URI minden erőforráshoz 1 klikkel törölhető az egész mű Resource Group törölhető benne lévő erőforrásokkal együtt ! Néhány erőforrás nevének elengedése hosszú idő is lehet pl: SQL Server

ARM előnyök fejlesztői szemmel - 2 Azure Resource Explorer JSON Template lekérhető tetszőleges erőforrásról Használható menedzselésre is JSON Template módosítható, infrastruktúra frissítésre kerül Alapvető parancsok kiadhatóak GUI-n, akár paraméterekkel Paraméterezett PowerShell parancsok lekérhetőek https://resources.azure.com/ QuickStart Templates 260+ JSON Template különféle szcenáriókra https://github.com/Azure/azure-quickstart-templates

Azure Portál - Azure Resource Manager //DEMO Azure Portál - Azure Resource Manager

ARM Programozási lehetőségek JSON + REST API a közös interfész Minden parancs GET vagy JSON POST kérésre képződik le Hibakereséshez és visszafejtéshez elegendő egy HTTPS proxy Pl: Fiddler Web Debugger Több megközelítés PowerShell parancsok JSON Template Azure automatizáló szolgáltatások C# - Microsoft Nugetek Nem alternatívák, feladatfüggő a felhasználásuk

ARM Programozási lehetőségek - PowerShell 1500+ Azure parancs Lefedi a teljes Azure funkcionalitást Külön Rm parancsok a Resource Manager modellhez Az elkészült scripteket a felhőben is lehet futtatni Automation Account + Scheduler Job Inkább kisebb management feladatok ellátására, üzemeltetésre célszerű használni Példa ARM VM létrehozására PowerShell-ből: https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-ps-create-preconfigure- windows-resource-manager-vms/

ARM Programozási lehetőségek – JSON Template Komplett infrastruktúra létrehozható egy Template-ből Paraméterezhető, a futtatáskor át lehet adni változókat Támogat alapvető szöveges, matematikai funkciókat és ciklust is PowerShell-ből vagy a Portálon keresztül deployolható ARM kezeli a korrelációkat, többszálasítást és hiba esetén az újrapróbálkozást Visual Studio Support: Azure SDK Azure SDK újdonságok: https://azure.microsoft.com/en-us/blog/announcing-the-azure-sdk-2-6-for-net/ -> van még 2-7, 2-7-1, 2-8 is

Virtual machine scale sets Azure automatizálás Virtual machine scale sets Metrikák alapján automatikus elindítás és leállítás Nem kell létrehozni és beállítani egyenként a VM-eket Gyorsabb, mint az egyenkénti VM létrehozás JSON Template alapján működik SQL elastic pools Adatbázisok összefogása a terhelés kiegyenlítése érdekében Nem használható egyetlen adatbázis automatikus méretezésére Automation Account + Scheduler Job

ARM Programozási lehetőségek – C# Microsoft által kiadott Nugetek Elfedik a webes hívásokat Wrappelik a JSON objektumokat C# objektumokkal Folyamatosan fejlesztik őket Egyre több Azure funkcionalitást fednek le Pár hetente jelenik meg új stabil és prerelease verzió Teljesen integrált, saját infrastruktúrát menedzselő alkalmazás hozható létre

Teljesen automatikus infrastruktúra menedzsment C# Célok – előnyök - 1 Felhasználói tevékenység és üzleti adatok alapján dinamikus infrastruktúra kezelés Erőforrás optimalizáció Teljesen automatikus infrastruktúra menedzsment Azure Portálra, VM-ekbe akár be se szükséges lépni Homogén fejlesztés: teljes szoftver C# alapon Azure Nugetekhez Intellisense támogatás

Azure erőforrások állapotának lekérdezése és menedzselése C# Célok – előnyök- 2 Azure erőforrások állapotának lekérdezése és menedzselése Jövőben: előfizetési állapot és korlátok is Pl: Alkalmazás funkció korlátozása, keret túllépés csökkentése érdekében Jelenleg csak erőforrás felhasználás kérdezhető le Számítási idő, tárhely foglaltság, konkrét költségek nem Részletes statisztika érhető el, óránkénti és napi felbontásban

ARM Nugetek C# Programozása

Microsoft.Azure.Management névterű nugetek ARM Nugetek Microsoft.Azure.Management névterű nugetek ! Microsoft.WindowsAzure névtér a Classic-hoz van! Minden ARM Client külön nugetben van Folyamatosan frissülnek Stabil és Prerelease verziók Sok a különbség közöttük Microsoft.IdentityModel.Clients.ActiveDirectory 2.21.301221612 3.6.212041202-a Microsoft.Azure.Management.Compute 9.1.0 11.1.0-prerelease Microsoft.Azure.Management.Network 2.0.9-preview 3.1.0-preview Microsoft.Azure.Management.Resources 2.18.7-preview 3.3.1-preview Microsoft.Azure.Management.Sql 0.43.0-prerelease Microsoft.Azure.Management.Storage 2.4.0-preview 4.0.0-preview

Aktuális stabil ARM Nuget verziók - 1 Sok a hiányosság Nem fedik el teljesen a HTTP layert Többnyire AzureOperationResponse-ból származó válaszok HttpStatusCode vizsgálata szükséges Nincsenek közös interfészek DatabaseCreateOrUpdateResponse DeleteOperationResponse ComputeLongRunningOperationResponse

Aktuális stabil ARM Nuget verziók - 2 ARM funkciók implementálása kódból szükséges Hibakezelése és újrapróbálkozási stratégia Többszálasítás Hivatkozott erőforrások megfelelő sorrendben hozandóak létre Hivatkozott adatok (pl: IP cím) lekérdezése Erőforrás tulajdonságok stringként vannak kezelve Lokációk: „North Europe” ! A legtöbb helyen csak „northeurope” formátumot fogad el Méretezések: „Standard_D1”, „S0”

Prerelease ARM Nuget verziók - 1 Folyamatosan frissülnek, akár heti rendszerességgel Teljesen elfedik a HTTP layert Csak C# Azure erőforrás objektum be és kimenetű függvények vannak Egymásra épülő erőforrások létrehozhatóak egyetlen kérésben VM, NIC, IP cím esetén már a teljes objektum fa megadható

Prerelease ARM Nuget verziók - 2 Még nem egységesek, nem kompatibilisek egymással Management kliensek bejelentkezési logikája változik Eddig: Microsoft.Azure.TokenCloudCredentials Prerelease: Microsoft.Rest.ServiceClientCredentials SubscriptionId megadása szükséges ! De SQL, Subscription nugetekben még nem frissült Erőforrás string helyett segédosztály VirtualMachineSizeTypes Van a stabilban is, de a D sorozat még nincs benne!

Külön réteg, kifelé nincsenek Azure objektumok Saját Azure Wrapper Külön réteg, kifelé nincsenek Azure objektumok Azure nuget verzió független Bejelentkezési logika egységes Általánosított hibakezelés Erőforrás stringek helyett osztályok Nem teljes, az éppen használt Azure funkciók kerülnek bele

C# ARM Nugetek áttekintése //DEMO C# ARM Nugetek áttekintése

Bejelentkezés, azaz Token kérése OAuth2 interfész Felhasználónév + jelszó vagy tanúsítvány a hitelesítéshez Siker esetén Token (b64 string), 1 óra lejárat Auzre ManagementClient-ek létrehozásakor kell átadni https://login.windows.net/{tenant}.onmicrosoft.com/oauth2/token Microsoft.IdentityModel.Clients.ActiveDirectory - ADAL 2.21.* a legfrissebb stabil nuget 3.*-alpha, szükséges a többi prerelease nugethez ! Hozzá kell adni a futtatott projecthez is, különben exception!

Azure hitelesítési módok Felhasználó alapú Egyszerű beállítani, de nem biztonságos, inkább fejlesztéshez ! Azure AD felhasználó jelszava alapesetben egy idő után lejár Tanúsítvány alapú Biztonságos, éles környezetben ajánlott Azure AD Application beállítása szükséges a Portálon ClientId az alkalmazás beállításaiból kimásolható Windows Azure Service Management API jog delegálás Új portálon Role Based alapon finomítható a hozzáférés Vagy a menedzser felhasználó Azure portál administratorként való felvétele

Hitelesítés beállítása Portálon //DEMO Hitelesítés beállítása Portálon

ARM ManagementClient-ek Egy kliens egyszerre egy előfizetéshez használható Érdemes szálanként létrehozni a klienseket Elnevezés nem egységes ResourceManagementClient NetworkResourceProviderClient ComputeManagementClient SqlManagementClient SubscriptionClient

Példa C# program https://github.com/haliferi/azurenuget //DEMO Példa C# program https://github.com/haliferi/azurenuget