Upload
huela
View
77
Download
0
Tags:
Embed Size (px)
DESCRIPTION
3-025. Advanced cloud services development. Haishi Bai Windows Azure Technical Evangelist Advanced Cloud Services Development 3-025. 3-040. Getting started with cloud service (Paul Yuknewicz ). Agenda. Faster cloud services. Hybrid cloud services. Devices + cloud services. - PowerPoint PPT Presentation
Citation preview
Advanced cloud services development
Haishi BaiWindows Azure Technical EvangelistAdvanced Cloud Services Development3-025
3-040
Getting started with cloud service (Paul Yuknewicz)
3-025
Hybrid cloud services
Agenda Faster cloud services
Devices + cloud services
Building faster cloud services
Why performance mattersIn the world of Internet, a slow service equals to a
broken serviceReduce resource consumption means saving moneyIncreasing system throughputs means higher profitability
Performance by Design
MeasurePerformance baseline
AnalyzeEstablish goalsIdentify bottlenecksCheck against exit conditions
ExecuteDesignTechniquesRefactor
Performance by processAnaly
ze
Execute
Measure
Measurement and monitoringWhat to measureResponse time (Client perceived response time, server processing time)ThroughputResource utilization (CPU, memory, disk I/O, network bandwidth)Queues, cache utilization, sessions, view states, page size, etc.
What to usePerformance countersSystem.Diagnostics, WMI, …Tools (profilers, monitors, etc.)
Demo: performance counters
Performance opportunities.Net framework 4.5–parallel, asyncWindows Azure caching (GA)SignalR and Websocket enable new application opportunities
Demo: Fireworks!
Performance at scale opportunitiesCDNTraffic managerIIS 8CPU throttlingCentralized SSL certificate managementDynamic IP filtering
Traffic Manager and CDN
Demo: IIS 8 CPU throttling
Building hybrid cloud services
Hybrid cloud challengesEnterprises typically comprised of hundreds of applicationsCustom builtAcquired from 3rd partiesPart of legacy systems
Customers do not think about these system boundariesThey interact with the businessCommon processes and data sharing needs to be supported=integration
This is not an easy taskDifferent data types and formatsDifferent types of extensibility/states of modifications possible Different application platforms and systems
Windows Azure connectivityVirtual network PaaS and IaaS working togetherService bus relay
Public Endpoint
Internal Endpoint
Instance Input Endpoint
[0]
[1]Relay Endpoint
2-011
Introduction to Windows Azure IaaS (Mark Russinovich)
3-026
Advanced Windows Azure IaaS (Michael Washam)
Integration based on messagingWindows Azure Service Bus messagingLoose-couplingAsynchronous communicationRich set of integration patterns• Publish/subscribe• Load balancing• Content-based routing• Ensured delivery• Scheduling• …
3-033
Building hybrid apps using service bus (David Ingham)
Devices + cloud services
84% of Time Techland Top 50 iPhone applications, 73% of PC Magazine Top 100 Android applications have cloud backbones or have web integrations supporting primary features.
Facts of device applications
http://techland.time.com/2012/02/15/50-best-iphone-apps-2012
http://www.pcmag.com/article2/0,2817,2393097,00.asp
Drag picture to placeholder or click icon to add
Demo: part inspector
The scenario
The architecturevar captureUI = new Windows.Media.Capture.CameraCaptureUI();StorageFile file = await captureUI.CaptureFileAsync(Windows.Media.Capture.CameraCaptureUIMode.Photo);BitmapImage image = new BitmapImage(new Uri(file.Path));
Message msg = new Message(buffer);msg.Properties.Add("Width", thumb.OriginalWidth);msg.Properties.Add("Height", thumb.OriginalHeight);await mQueueClient.SendAsync(msg);
BrokeredMessage receivedMessage = null;receivedMessage = QueueClient.Receive();
if (receivedMessage != null){ //Read message properties int width = (int)receivedMessage.Properties["Width"]; … //Convert message body, which is a byte array, into a Bitmap var array = receivedMessage.GetBody<byte[]> (new DataContractJsonSerializer(typeof(byte[]))); …}
BrokeredMessage msg = new BrokeredMessage();msg.Properties["Result"] = payload;msg.Properties["AssessmentLevel"] = result.AssessmentLevel;…TopicClient.Send(msg);…receivedMessage.Complete();if (!manager.SubscriptionExists("ProcessingResult",
"FactoryAlert")){ SubscriptionDescription description = new SubscriptionDescription("ProcessingResult", "FactoryAlert"); SqlFilter filter = new SqlFilter("AssessmentLevel = 3"); manager.CreateSubscription(description, filter);}…
var thumb = await file.GetThumbnailAsync(Windows.Storage.FileProperties.ThumbnailMode.SingleItem, 95);BitmapImage thumbImage = new BitmapImage();…byte[] buffer = await converThumbnailtoByteArray(thumb);…
Bitmap bw = toBinaryImage(picture);var ret = erode(bw).countHoldes(bw).markFeatures(bw);…ret.AssessmentLevel = mEnforcer.Assess(ret);ret.MissingFeatures = mEnforcer.FindMissingParts(ret);…
PerformanceProcess, portal, 3rd party tool, Performance counters, .Net 4.5 async, Windows Azure caching, IIS 8
HybridInter-role communication, virtual network, service bus relay, messaging patterns
DeviceHybrid design, Windows 8 client, worker role, service bus messaging
Summary
Resources
Windows Azure resourcesWindows Azure training kit:https://www.windowsazure.com/en-us/develop/net/other-resources/training-kit/Windows Azure samples:https://github.com/WindowsAzure-Samplesblog.haishibai.com
@HaishiBai2010
Feedback
Thank you!
• Follow us on Twitter @WindowsAzure
• Get Started: www.windowsazure.com/build
Resources
Please submit session evals on the Build Windows 8 App or at http://aka.ms/BuildSessions
© 2012 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.