Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Instructions • You must bring your own laptop, your presentation and a power supply • Technical staff is present in all to assist with network, audio and.

Lignende præsentationer


Præsentationer af emnet: "Instructions • You must bring your own laptop, your presentation and a power supply • Technical staff is present in all to assist with network, audio and."— Præsentationens transcript:

1 Instructions • You must bring your own laptop, your presentation and a power supply • Technical staff is present in all to assist with network, audio and video setup • Speakers are responsible for presentation computer and demo equipment • Please make sure your PC have correct video drivers installed. • Be at your session no later than 30 min. Prior to your timeslot to setup your equipment • Evaluation-slide will be send to you prior to Campus Days, which should replace the current Evaluation-slide Technical details • All presentations should be 16:9 widescreen format • Output connectors provided in all session rooms are: DVI, HDM, Micro HDMI, VGA For NON-Microsoft speakers: • Own company logo is allowed on the Session Title slide only • Sessions are non commercial – Please do NOT sell own products or services

2

3

4 Azure Cloud Services – Deep Dive • Giver Azure platformen dine projekter baghjul? • Hvilke spørgsmål vil jeg med garanti få på mit næste projekt fra min kunde • Fremtidens krav til dig (udvikler skal nu også tænke som en arkitekt)

5 Giver Azure platformen dine projekter baghjul???

6 Vi kunne starte således…

7

8 Min tilgang i dag vil være… Vi løber en masse kunde behov igennem og laver en kobling over til Azure værktøjskassen • Powerpoint • Demo • Kode

9 Er du cloud-ready?

10 Web applikation ”INTRANET” • Anvender IIS og SQL samt Windows authentication • Gemmer brugernavn og deres rettigheder i en database i SQL Web applikation ”EXTRANET” • Gemmer brugernavn, password i SQL database • Opbygger skærmbilleder til ”opret brugerkonto, send email til vertificering af email- adresse, send nyt kodeord pr. email / reset kodeord osv osv…”

11 Ting fra værktøjskassen: “Access control service” • Genbrug af standard authentication metoder • Active Directory cloud/on-premise/google/facebook… • F.eks. integration til leverandørens eget Active Directory via ADFS i extranet løsning • Multi-factor authentication f.eks. SMS vertificering • Kan integreres med både on-prem og cloud løsninger

12

13 protected override async void OnNavigatedTo(NavigationEventArgs e) { WebAuthenticationResult webAuthenticationResult = await WebAuthenticationBroker.AuthenticateAsync( WebAuthenticationOptions.None, new Uri("[Put the link you’ve copied on the previous step]"), new Uri("https://[Your Windows Azure Website name].azurewebsites.net/api/federationcallback/end")); string urlEncodedToken = webAuthenticationResult.ResponseData.Substring(webAuthenticationResult.ResponseData.IndexOf("token=") + "token=".Length); urlEncodedToken = WebUtility.UrlDecode(urlEncodedToken); } http://download.microsoft.com/download/F/C/A/FCA7C6E3-7153-4FB1-9825-0B1BB26F14E0/Leveraging-Windows-Azure-AD-from-Windows-8-based-Line-of-Business-(LOB)-Apps.docx

14 Har vi overhovedet ”råd” til en high availability løsning ? • Har vi overhovedet designet web løsningen, så den kan afvikles bag load- balancer (session, failover..) • Hvordan implementerer vi caching / session-state i en HA løsning (redundant & bag load-balancer) – med mulighed for test af udviklerne som tidligt i projektet som muligt • Hvordan opdaterer vi løsningen uden at brugerne bliver påvirket • Har vi samme platform i både test og produktion, så vi rigtig kan teste og finde problemerne inden vi rammer drift… (test performance af løsning, find flaskehalse før go-live)

15 Ting fra værktøjskassen: “Loadbalancer” • Vi har automatisk løsningen placeret bag ved en loadbalancer / udviklerne kan teste løsningen fra dag 1.

16 Ting fra værktøjskassen: “Autoscaling” • Kravspecifikation dikterer at platformen skal kunne servicere x antal samtidige brugere… • Tidligere har man indkøbt en løsning, som kan modsvare dette krav (alle døgnets 24 timer) • WebRole kan styres via ”Target CPU” • WorkerRoles kan også styres udfra antal beskeder i en Queue

17 Microsoft har selv flyttet Skype til Azure (besparelse på over 40%)

18 • Ofte er test platformen kun en mini platform af drift • hvordan finder vi så flaskehals før vi rammer drift? • Nu har vi mulighed for at opsætte et realistisk test miljø • Betal kun for hvad du bruger og hvor længe Ting fra værktøjskassen: “Stop/Start”

19 Ting fra værktøjskassen: “Production & Staging”

20 Ting fra værktøjskassen: “Fault domain/upgrade domain” • Vi ønsker høj oppe-tid; både ift. hardware nedbrud (fault domain) • …samt ved opdatering af vores løsning (upgrade domain)

21 Ting fra værktøjskassen: “Cache service” • Vi rammer altid ind i behov for session state (in-memory eller gemme i SQL database?) • Tilgå cache fra alle typer løsninger i Azure (Webroles, workerroles, cloudservice, VM’s) • Max. 150 GB pr. instans - dynamisk ændre størrelse uden redeployment • 1 ms read, ~1.2ms write

22

23 Kan Azure kun bruges på nye projekter? • Ikke nødvendigvis

24 Ting fra værktøjskassen: “Service Bus Queues” • first in, first out guaranteed message delivery

25 Demo Så er det tid til en demo…

26 Kode ”sende” var queueClient = QueueClient.CreateFromConnectionString(connectionString, queueName); queueClient.Send(new BrokeredMessage("HELLO WORLD"));

27 Kode ”lytte” // Subscribe for messages. var queueClient = QueueClient.CreateFromConnectionString(connectionString_IncomingCall, queueName); queueClient.OnMessage(OnMessageArrived); private void OnMessageArrived(BrokeredMessage message) { var body = message.GetBody ();  Now body contains: “Hello World”

28 Vi har rå mængder af data og vi er friske til at gemme ALT i en SQL database! • Er en SQL database altid ”the obvious choice”? • Måske skal vi kigge på content type og fastlægge hvor vi bedst og billigst opbevarer disse data • Hvor ofte rammer vi vores data (read/writes) • Vi møder ikke altid en clustered SQL løsning på alle vores projekter (det er bare mega dyrt!) • Brug for database shard (multi-tenant applications)

29 Ting fra værktøjskassen: “Azure SQL database” • Lej en SQL database (anvend kun SQL authentication) • Tag daglig backup direkte ud i storage • High availability / clustered løsning (1 primary, 2 replicas) • Lej en hel SQL server (VM inkl. SQL server)

30

31 Ting fra værktøjskassen: “Blobs” • Ideal til storage af video, lyd, billeder • Eksempel: indscannede dokumenter • Tidligere gemt i SQL database, mange gange billigere (one write, many reads) Ting fra værktøjskassen: “Tables” • Ideal til lagring af store mængder af ustrukturerede data • NoSQL

32 Ting fra værktøjskassen: “SQL federations” • Database sharding (multi-tenant applications)

33 private string BuildUSEFederation(int customerID) { return string.Format("USE FEDERATION MyFed (CustomerID={0}) WITH FILTERING=ON, RESET", customerID); } public List GetBlacklistedEmails(int fedID) { List output = new List (); myPolicy.ExecuteAction(() => { using (DBEntities db = new DBEntities(ATCommon.DSN)) { // Access the EntityConnection on the context and open it prior to executing the USE FEDERATION command. ((IObjectContextAdapter)db).ObjectContext.Connection.Open(); db.Database.ExecuteSqlCommand(BuildUSEFederation(fedID)); output = (from s in db.BlacklistedEmail select s.Email).ToList (); } }); return output; }

34 Integration imellem udviklingsmiljø og on-premise løsning • Vi havde behov for at teste nogle komponenter op imod on-premise system • Vi havde ikke mulighed for at genskabe on-premise system andre steder • Hvordan giver vi vores udviklere en sikker og hurtig adgang til at teste?

35 Ting fra værktøjskassen: “Service Bus Relay” • Connect on-premises web services -> public endpoints

36 Ting fra værktøjskassen: “Azure Connect / Network” • Site-to-site (router/firewall opsætning) • Point-To-Site (opsætning; dernæst install software)

37 Demo Så er det tid til en demo…

38 Nu har vi været lidt rundt omkring i værktøjskassen… Vi kunne sagtens blive ved…

39 Hvilke spørgsmål vil jeg med garanti få på mit næste projekt fra min kunde

40 • Web centric • Mobile centric • Cloud ready • Cloud scale + enterprise friendly • Standard, standard, standard… komponenter Jeg forventer at den løsning, som du foreslår, er…

41 Fremtidens krav til dig (udvikler skal nu også tænke som en arkitekt)

42 • Hybrid løsninger (stort mix af komponenter) • Nogle som kunden selv ejer og driver • ”legacy” løsninger fra andre leverandører • Integration med nye cloud løsninger f.eks. salesforce.com • Kunden forventer standard løsninger – vi kommer til at lave en masse ”lim” i fremtiden - hvornår er en løsning ”standard”? • Prismodel (skal jeg nu til at tage højde for dette i design fasen) • hvilken cloud provider skal jeg vælge ( fordele/ulemper) • hvad bliver prisen på den arkitektur/løsning som jeg er ved at foreslå?

43 • Tidligere havde vi 100% ejerskab over platform/hardware • Nu deler vi f.eks. SQL databasen på Azure platformen med andre (hvilken betydning har dette for min latency og throttling) / nu får du ikke længere ejerskabet over en fuld SQL server! • Asynkron programmering, many devices, phone, tablet, web, single page applications, IIS server-postback “SignalR”) • Tænke anderledes (formår jeg at viske tavlen ren og tænke anderledes?) • Er jeg/mit team klar til at ændre sig / har vi sat os godt nok ind i tingene • Rapid release (hele tiden nye moduler i Azure man skal forholde sig til)

44 That’s it… Spørgsmål?

45 Evaluation Create a Text message on your phone and send it to 1919 with the content: AZ301 5 5 5 I liked it a lot Session Code Lasse Performance (1 to 5) Match of technical Level (1 to 5) Relevance (1 to 5) Comments (optional) Evaluation Scale: 1 = Very bad 2 = Bad 3 = Relevant 4 = Good 5 = Very Good! Questions: • Speaker Performance • Relevance according to your work • Match of technical level according to published level • Comments

46 © 2013 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.


Download ppt "Instructions • You must bring your own laptop, your presentation and a power supply • Technical staff is present in all to assist with network, audio and."

Lignende præsentationer


Annoncer fra Google