1 Modul 10: Lagra information i Azure SQL Database Är av typen Database as a Service (DaaS). Bestämbar prestanda ger möjlighet att välja tier som matchar krav från din applikation. Funktionen har inbyggd High Avialibility. Basic - idealisk för enkel databas som kräver en anslutning som utför en operation åt gången. Standard - vanligaste valet och används för databas som kräver flera samtidiga anslutningar och operationer. Premium - designat för applikationer som kräver ett stort antal transaktioner. Stödjer ett stort antal samtidiga anslutningar och operationer som körs parallellt. När du har konfigurerat din server, måste du även konfigurera följande regelverk: - brandvägg. Från förkonfigurerad lista av IP-adresser eller område av IP-adresser, kan brandvägg kan konfigureras för att tillåta tillgång till din SQL databas. IP-adress som inte finns med i dessa adressområde, kommer inte att kunna ansluta till slutpunkt för TDS. - tillgång för Azure Service. Är ett boolean värde som indikerar om Azure Service kan ansluta till slutpunkt för TDS, eller inte. Modul 11: Designa webbapplikationer för återhämtning När webbapplikation skall designas, dela upp applikationen i processer eller moduler. Processerna eller modulerna kan hanteras av website, cloud service eller virtuella maskiner. Ger också möjlighet att skala olika delar av din applikation, vid behov.
2 Tillhandahåller samma tjänst från flera instanser och använder lastbalansering för att distribuera förfrågningar mellan instanser. När du har valt lastbalanserar, är det dags att välja algoritm. Du kan välja olika algoritmer exempelvis round robin eller random choice. Round robin kommer att välja nästa instans för varje begäran, enligt ett förbestämt mönster som inkluderar alla instanser. Andra val för konfiguration av lastbalansera finns, såsom affinity eller stickiness 1. Om stickiness väljs så kommer begäran från samma klient alltid skickas till samma instans. Kan behövas i scenario där applikationsserver arbetar med state. Lastbalansering kan användas för att omdirigera klient till närmaste datacenter: - Traffic Manager används oftast till detta. En av de största skillnaden mellan att utveckla applikation lokalt eller för molnet, är hur du tar hand om kortvariga fel. Kortvarigt fel kan uppstå när tjänst tillfälligt är nere, tjänst har hög last eller latency blir för hög. Enterprise Library I Enterprise Library finns det block av kod, för att hantera denna typ. 1 http://blog.haproxy.com/2012/03/29/load-balancing-affinity-persistence-sticky-sessions-what-you-need-toknow/
3 Färdig kodade Strategier finns färdig kodade, inkluderat tillgång till tjänster i Azure. Exempel: Transient Fault Handling Application Block 2 kommer att göra två försök, mellan försöken kommer det att vara vänttid på fem sekunder. var policy = new RetryPolicy<HolSqlTransientErrorDetectionStrategy>(2, TimeSpan.FromSeconds(5)); // Exekverar kommando Queues kan användas för att kommunicera mellan olika komponenter för din applikation, även om dessa inte har direktanslutning. - om instans i din applikation fallerar, kan annan instans bearbeta meddelandet i kö. - meddelande som fallerar, kan bli återinsatt i kön eller marketat som ej bearbetad. Application Insights är ett verktyg för att analysera och monitorera din applikation. Produkten är inte bara en plattform för att monitorera applikation, innehåller även utökningar som tillåter utökad undersökning av din applikation. För att kunna använda Application Insights, måste du lägga till utökningarna i existerande applikation eller i ny. När detta är gjort måste din applikation knytas till instans för Application Insights. I ASP.NET finns möjlighet att använda asynkrona metoder som tillåter din kod, som väntar på operation (databas, tjänst eller disk) att returnera tråd till ThreadPool. 2 https://msdn.microsoft.com/en-us/library/hh680934.aspx
4 - typiskt kommer dessa förfrågningar att blockera andra förfrågningar. - genom att frigöra trådar, kommer detta att öka antalet begäran som kan hanteras. Nyckelorden async och await är tillgängliga, för att skapa metoder som är asynkrona i C#. Asynkrona metoder är metoder som körs separat och inte stoppar huvudprocessen. Kan användas tillsammans Dessa kan användas tillsammans med ASP.NET MVC 3 för att skapa asynkrona händelser: public async Task<ActionResult> ItemsAsync() { var context = new DatabaseContext(); var model = await context.getmodelitemsasync(); return View( Items, model); } När du distribuerar applikation över flera instanser, måste session state delas över dessa. Kan flyttas från Session State kan flyttas från internminnet till dedicerad session server 4 : Designat för - Microsoft SQL Server. - ASP.NET State Server. Retry 5 är designat för att hantera temporära fel. 3 https://msdn.microsoft.com/en-us/library/dd381412(v=vs.108).aspx 4 https://msdn.microsoft.com/en-us/library/ms178586(v=vs.140).aspx 5 https://msdn.microsoft.com/en-us/library/dn589788.aspx
5 Anser som Fel anses som övergående, tills de överstiger retry policy. Ett exempel Transient Fault Handling Block 6, är ett exempel på bibliotek som är designat för att implementera Retry pattern. Modul 12 Automatisk integrering med resurser i Azure..NET Utökningar och verktyg är tillgängliga för Visual Studio. Azure SDK for.net installeras med Web Platform Installer (WebPI). En del av verktygen installeras som del av Visual Studio: - Web Deploy. - ASP.NET and Web tools. - Azure SDK for.net - Olika klientbibliotek för tillgång till tjänster i Azure kan hämtas genom NuGet. Ett set av open-source kommando finns också tillgängligt i samlingen xplat-cli (Azure Cross-Platform Command-Line Interface). Xplat-cli tillhandahåller ett generellt gränssnitt för att hantera Azure, oavsett vilket operativsystem eller hanteringssystem du använder. Xplat-cli är skrivit i Node.js och kräver att detta finns installerat lokalt. Microsoft Azure Mobile Services är plattform som ger möjlighet för dig att snabbt bygga back-end tjänst för mobila applikationer. Med ett dynamiskt schema kan back-end tjänst byggas snabbt och med liten arbetsinsats. Det gör att utvecklare snabbt kan få ut sin mobila applikation på marknaden, utan 6 https://msdn.microsoft.com/en-us/library/hh680934(v=pandp.50).aspx
6 många av de traditionella fördröjningarna. Mobile Service skalar med applikationen och kan hantera ett växande antal användare. Service Management API är ett skikt framför fabric controller. Skiktet har som ansvar att hantera frågor från klienter, vidarbefordrar dessa frågor till fabric controller. Alla SDK:s inkluderat Windows Powershell och Cross Platform Command Line Interface är integrerat med Service Management REST API. Även portalerna använder samma API som klientbiblioteken. Utvecklare kan ansluta direkt till Server Management API. Två primära metoder För autentisering mot Azure, kan två primära metoder användas: - Azure Active Directory. - Publish Settings. Azure Active Directory När Azure Active Directory används, sker autentiseringen på ett liknande sätt som i Portal. Autentiseringen blir temporär, livsläng ca 12 timmar. Publish Settings Om publish settings används, kommer webbsida öppnas med Management Portal. PowerShell kommandot: Get-AzurePublishSettingsFile används. Användare autentiseras med hjälp av webbsidan, om användaren inte redan är autentiserad. När autentisering är avklarad, kommer XML-fil med information om konto och token att laddas mer.
7 Service Management API tillhandahåller programmässig tillgång till de flesta funktioner som är tillgängliga genom Azure PowerShell, eller via portaler. API:et är ett REST API med operationer för vanliga http-kommando som GET, PUT, POST eller DELETE. Alla API-operationer sker över SSL (Secure Socket Layer) genom att använda X.509 certifikat. Varje prenumeration i Azure tilldelas ett unikt prenumerationsid. Alla tjänsteinstanser i Azure knyts till prenumeration och refereras genom detta id. Annat sätt att Azure Resource Group 7, ett annat sätt att organisera resurser. Refereras till Tjänster refereras till resurser, dessa resurser grupperas i resursgrupper. Automatisera skapandet Mallar kan skapas, för att automatisera skapandet av flera resurser. Samling av Resursgrupp är en samling av relaterade resurser: För att spåra - genom att hantera resurser i grupp, kan du skapa, modifiera eller ta bort som en helhet. - kan migreras och hanteras som logisk enhet. Resursgrupp kan användas för att spåra dels hur resurser används och dels för att se kostnader. Modul 13: Säkra upp webbapplikation Azure Active Directory är en tjänst som hanterar identiteter och tillgång till resurser i Azure, för dina applikationer oavsett om dessa finns på lokalt nätverk eller i molnet. 7 https://azure.microsoft.com/sv-se/documentation/articles/resource-group-overview/
8 Med synkronisering av identiteter, kan existerande användarenamn och lösenord användas för att autentisera i applikationer som ligger på Azure. Dessa identiteter kan också användas med tredjeparts SaaS-applikationer som Dropbox, Intuit 8 eller Skype. Azure AD erbjuder också självbetjäningsportal där användare kan hantera sina lösenord eller grupper. Ändrat lösenord, kommer att synkroniseras till lokal katalogtjänst. Single Sign-On Lösning för Singel Sign-On (SSO), dvs användare skall bara behöva logga på en gång, inte varje gång användare försöker få tillgång till resurs. Med editionen Free kan du hantera användarekonto, synkronisera med onpremises kataloger, SSO i Azure, Office365 och andra SaaS-applikationer däribland Salesforce, Workday, Google Apps, Dropbox mfl. Basic edition, allt som Free edition har, plus gruppbaserad tillgång, självbetjäningsportal för användare, Azure Active Directory application proxy (för att publicera webbapplikation som använder Azure Active Directory), skräddarsydd uppstartsmiljö när molnapplikationer startas, SLA 99.9% upptid. Har möjlighet att ansöka att pröva Premium. Premium edition, allt som Basic edition har, plus identitetshantering för hela organisationen. Directory Services Azure AD tillhandahåller katalog där du kan spara användarekonto. Katalogen kan även lagra identiteter som är synkroniserade från katalog i den lokala organisationen, identiteter som är skapade i Azure, eller från tredjepartskällor. Dessa identiteter kan konfigureras för att användas med SaaS-applikationer. Multi-Factor Authentication Multi-Factor Authentication erbjuder ett andra skikt av verifiering för din applikation, som är fullt hanterad av tjänsten. Administratör behöver bara slå 8 https://www.intuit.com/
9 på funktionen för Multi-Factor Authentication och din applikation kan dra nytta av detta, genom att använda Azure AD som leverantör av verifieringen. Funktionen har stöd för verifiering från mobil app, textmeddelande eller telefonsamtal. När du skapar nya användare i portal, får du tillhandahålla följande information: Förnamn. Efternamn. Visningsnamn. Alias. Roll. När du har skapat ny användare, kommer ett temporärt lösenord att genereras. Detta temporära lösenord får du distribuera till användare via email. Vid första inloggningen för nya användare, kommer användaren att bli tvingad till att ändra sitt temporära lösenord. När du integrerar med tredjepartstjänster, kan du slå på stöd för följande två typer av SSO: - användare kan använda deras Azure AD konto, för att få åtkomst till tredjepartstjänster. - användare autentiseras med sitt tredjepartskonto och knyts till Azure AD-konto. Azure AD Graph tillhandahåller tillgång till katalogtjänst för din applikation, genom REST API. För att kalla på Graph API för en specifik katalog, måste du först registrera applikationen med Azure AD, därefter konfigurera tillgång till katalogen. CRUD innebär: - create. - read.
10 - update. - delete. Multi-Factor Authentication tillåter ett extra lager utöver användarenamn och lösenord, som kan skydda din applikation. Extra skyddet kan vara telefon, RSA-nyckel eller skräddarsydd enhet. Multi-Factor Authentication definieras oftast som att användaren måste tillhandahålla två saker: - någonting som han/hon känner till, dvs lösenord. - någonting som han/hon har, t ex telefon, smartwatch etc. Styrkan med Multi-Factor Authentication är att det finns flera lager, om någon kommer över lösenordet, krävs ytterligare en sak för att få åtkomst. Modul 14: Underhålla och monitorera webbsite i Azure. Cloud service packages: - används för Cloud service projekt. - innehåller information om konfigurationen, metadata och definition för tjänsten. - även specifikation för storlek på instans och antalet. WebDeploy: - är ett standardiserat paketformat för installation av webbapplikation. - kan användas för att importera eller exportera existerande webbapplikation. - innehåller metadata om konfiguration för IIS, för webbapplikationen. WebDeploy ger dig möjlighet att publicera application till IIS instans, asynkront eller synkront. Tittar på
11 WebDeploy tittar på konfiguration, innehåll och certifikat, skapar därefter paket med denna information för installation. Dublicera denna Du kan specificera website och duplicera denna till målsite. Exporteras från WebDeploy paket kan också exporteras från specificerad site. Omvandling av inställning i Web.config för webbapplikation kan göras för varje miljö. Transformfil används. XML-fil skapas för varje del i processen, Staging, Release och Debug. Som standard Som standard används definitioner i Release för projekt till Windows Azure. Code First initializers and migrations 9, kan användas för att uppdatera din databas när du förändrar schemat. Två filer att När cloud service publiceras, kommer två filer att genereras: - ServiceConfiguration.Cloud.cscfg: - XML-fil som innehåller definition för varje roll och antalet instanser. - innehåller de skräddarsydda inställningarna för projektet. 9 https://msdn.microsoft.com/en-us/data/jj591621.aspx
12 - [namn_på_projekt].cspkg: - innehåller applikationskod för varje projekt i webbapplikation. Varje projekt Varje projekt för cloud service har en lokal och en moln cscfg fil. Lokal konfigurationsfil används när cloud service rullas ut på lokal lagring eller när emulator används. Konfigurationsfil för Cloud används när Cloud Service rullas ut direkt till instans för Cloud Services i Azure. Dessa filer kan förändras manuellt, om någon inställning behöver justeras. Antalet instanser Innehåller antalet instanser för varje roll, dessutom skräddarsydd inställning för varje roll. Kan skilja sig Inställningar för konfiguration kan vara olika: - lokal lokal lagring. - i molnet Azure Storage account. Din webbsite kan rullas tillbaka till någon förgående utrullning, om det t ex är något problem med aktiv utrullning. Website slot När du rullar ut din applikation till Azure Web Apps, kan du göra detta till separat utvecklingsslot, istället för produktionsslot. Den separata utvecklingsslot har sitt eget värdnamn och separat URL. Möjligheten finns tillgänglig endast i App Service Plan Standard tier.