advanced cloud services development

Post on 06-Feb-2016

78 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

TRANSCRIPT

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

trontron@sina.cn

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.

top related