SlideShare a Scribd company logo
1 of 45
Windows Azure: Notes  From The Field Rob Gillen Computer Science Research Oak Ridge National Laboratory Planet Technologies, Inc.
Agenda Introduction to Windows Azure Application Overview What didn’t work What is working (or, at least we think) Lessons (being) Learned Questions
About Planet Technologies Leader in integration and customization of Microsoft technologies, architecture, security, and management consulting 100% Microsoft Focused Gold Partner Four-time Microsoft Federal Partner of the Year (05-08) Microsoft SLG Partner of the Year (08) Microsoft Public Sector Partner of the Year (06)
Oak Ridge National Laboratory is DOE’s largest science and energy lab ,[object Object]
Nation’s largest concentrationof open source materials research
$1.3B budget
4,350 employees
3,900 researchguests annually
$350 million investedin modernization
Nation’s most diverse energy portfolio
Operating the world’s most intense pulsed neutron source
Managing the billion-dollar U.S. ITER project,[object Object]
UltrascaleScientific Computing ,[object Object]
World’s most powerful open scientific computing facility
Jaguar XT operating at 1.64 petaflops
Exascale system by the end of the next decade
Focus on computationally intensive projects of large scale and high scientific impact
Addressing key science and technology issues
Climate
Fusion
Materials
BioenergyThe world’s most powerful system for open science
Unique Network Connectivity 10 GB, moving to 40 GB, and higher
Disclaimer Windows Azure is still in CTP. There are issues. They are making it better. This talk is simply about current experiences and hopefully some tips/pointers to help you reach success faster. The tests performed and referenced in this talk are not deemed scientifically accurate – simply what I have seen in my testing/usage. There are (many) people (much) smarter than me.
What is Windows Azure? Compute Storage Developer SDK
Developer Tools What is Windows Azure? Compute ,[object Object]
Server 2008 – 64bit
Full Trust*
Web Role
IIS7 Web Sites (ASP.NET, FastCGI)
Web Services (WCF)
Worker Role
Stateless Servers
Http(s) Storage
Developer Tools What is Windows Azure? Storage ,[object Object]
Blobs
Tables
Queues
REST interfaces
Can be used without computeCompute
What is Windows Azure? Compute Storage ,[object Object]
Hardware Load Balancers
Servers
Networks
DNS

More Related Content

More from Rob Gillen

Hiding in plain sight
Hiding in plain sightHiding in plain sight
Hiding in plain sightRob Gillen
 
ETCSS: Into the Mind of a Hacker
ETCSS: Into the Mind of a HackerETCSS: Into the Mind of a Hacker
ETCSS: Into the Mind of a HackerRob Gillen
 
DevLink - WiFu: You think your wireless is secure?
DevLink - WiFu: You think your wireless is secure?DevLink - WiFu: You think your wireless is secure?
DevLink - WiFu: You think your wireless is secure?Rob Gillen
 
You think your WiFi is safe?
You think your WiFi is safe?You think your WiFi is safe?
You think your WiFi is safe?Rob Gillen
 
Anatomy of a Buffer Overflow Attack
Anatomy of a Buffer Overflow AttackAnatomy of a Buffer Overflow Attack
Anatomy of a Buffer Overflow AttackRob Gillen
 
Intro to GPGPU with CUDA (DevLink)
Intro to GPGPU with CUDA (DevLink)Intro to GPGPU with CUDA (DevLink)
Intro to GPGPU with CUDA (DevLink)Rob Gillen
 
A Comparison of AWS and Azure - Part2
A Comparison of AWS and Azure - Part2A Comparison of AWS and Azure - Part2
A Comparison of AWS and Azure - Part2Rob Gillen
 
A Comparison of AWS and Azure - Part 1
A Comparison of AWS and Azure - Part 1A Comparison of AWS and Azure - Part 1
A Comparison of AWS and Azure - Part 1Rob Gillen
 
Intro to GPGPU Programming with Cuda
Intro to GPGPU Programming with CudaIntro to GPGPU Programming with Cuda
Intro to GPGPU Programming with CudaRob Gillen
 
Hands On with Amazon Web Services (StirTrek)
Hands On with Amazon Web Services (StirTrek)Hands On with Amazon Web Services (StirTrek)
Hands On with Amazon Web Services (StirTrek)Rob Gillen
 
Windows Azure: Lessons From The Field
Windows Azure: Lessons From The FieldWindows Azure: Lessons From The Field
Windows Azure: Lessons From The FieldRob Gillen
 
Amazon Web Services for the .NET Developer
Amazon Web Services for the .NET DeveloperAmazon Web Services for the .NET Developer
Amazon Web Services for the .NET DeveloperRob Gillen
 
05561 Xfer Research 02
05561 Xfer Research 0205561 Xfer Research 02
05561 Xfer Research 02Rob Gillen
 
05561 Xfer Research 01
05561 Xfer Research 0105561 Xfer Research 01
05561 Xfer Research 01Rob Gillen
 
05561 Xfer Consumer 01
05561 Xfer Consumer 0105561 Xfer Consumer 01
05561 Xfer Consumer 01Rob Gillen
 
Cloud Storage Upload Tests 02
Cloud Storage Upload Tests 02Cloud Storage Upload Tests 02
Cloud Storage Upload Tests 02Rob Gillen
 
Cloud Storage Cross Test
Cloud Storage Cross TestCloud Storage Cross Test
Cloud Storage Cross TestRob Gillen
 
Azure: Lessons From The Field
Azure: Lessons From The FieldAzure: Lessons From The Field
Azure: Lessons From The FieldRob Gillen
 

More from Rob Gillen (19)

Hiding in plain sight
Hiding in plain sightHiding in plain sight
Hiding in plain sight
 
ETCSS: Into the Mind of a Hacker
ETCSS: Into the Mind of a HackerETCSS: Into the Mind of a Hacker
ETCSS: Into the Mind of a Hacker
 
DevLink - WiFu: You think your wireless is secure?
DevLink - WiFu: You think your wireless is secure?DevLink - WiFu: You think your wireless is secure?
DevLink - WiFu: You think your wireless is secure?
 
You think your WiFi is safe?
You think your WiFi is safe?You think your WiFi is safe?
You think your WiFi is safe?
 
Anatomy of a Buffer Overflow Attack
Anatomy of a Buffer Overflow AttackAnatomy of a Buffer Overflow Attack
Anatomy of a Buffer Overflow Attack
 
Intro to GPGPU with CUDA (DevLink)
Intro to GPGPU with CUDA (DevLink)Intro to GPGPU with CUDA (DevLink)
Intro to GPGPU with CUDA (DevLink)
 
AWS vs. Azure
AWS vs. AzureAWS vs. Azure
AWS vs. Azure
 
A Comparison of AWS and Azure - Part2
A Comparison of AWS and Azure - Part2A Comparison of AWS and Azure - Part2
A Comparison of AWS and Azure - Part2
 
A Comparison of AWS and Azure - Part 1
A Comparison of AWS and Azure - Part 1A Comparison of AWS and Azure - Part 1
A Comparison of AWS and Azure - Part 1
 
Intro to GPGPU Programming with Cuda
Intro to GPGPU Programming with CudaIntro to GPGPU Programming with Cuda
Intro to GPGPU Programming with Cuda
 
Hands On with Amazon Web Services (StirTrek)
Hands On with Amazon Web Services (StirTrek)Hands On with Amazon Web Services (StirTrek)
Hands On with Amazon Web Services (StirTrek)
 
Windows Azure: Lessons From The Field
Windows Azure: Lessons From The FieldWindows Azure: Lessons From The Field
Windows Azure: Lessons From The Field
 
Amazon Web Services for the .NET Developer
Amazon Web Services for the .NET DeveloperAmazon Web Services for the .NET Developer
Amazon Web Services for the .NET Developer
 
05561 Xfer Research 02
05561 Xfer Research 0205561 Xfer Research 02
05561 Xfer Research 02
 
05561 Xfer Research 01
05561 Xfer Research 0105561 Xfer Research 01
05561 Xfer Research 01
 
05561 Xfer Consumer 01
05561 Xfer Consumer 0105561 Xfer Consumer 01
05561 Xfer Consumer 01
 
Cloud Storage Upload Tests 02
Cloud Storage Upload Tests 02Cloud Storage Upload Tests 02
Cloud Storage Upload Tests 02
 
Cloud Storage Cross Test
Cloud Storage Cross TestCloud Storage Cross Test
Cloud Storage Cross Test
 
Azure: Lessons From The Field
Azure: Lessons From The FieldAzure: Lessons From The Field
Azure: Lessons From The Field
 

Recently uploaded

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 

Recently uploaded (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

Windows Azure: Notes From the Field

  • 1. Windows Azure: Notes From The Field Rob Gillen Computer Science Research Oak Ridge National Laboratory Planet Technologies, Inc.
  • 2. Agenda Introduction to Windows Azure Application Overview What didn’t work What is working (or, at least we think) Lessons (being) Learned Questions
  • 3. About Planet Technologies Leader in integration and customization of Microsoft technologies, architecture, security, and management consulting 100% Microsoft Focused Gold Partner Four-time Microsoft Federal Partner of the Year (05-08) Microsoft SLG Partner of the Year (08) Microsoft Public Sector Partner of the Year (06)
  • 4.
  • 5. Nation’s largest concentrationof open source materials research
  • 9. $350 million investedin modernization
  • 10. Nation’s most diverse energy portfolio
  • 11. Operating the world’s most intense pulsed neutron source
  • 12.
  • 13.
  • 14. World’s most powerful open scientific computing facility
  • 15. Jaguar XT operating at 1.64 petaflops
  • 16. Exascale system by the end of the next decade
  • 17. Focus on computationally intensive projects of large scale and high scientific impact
  • 18. Addressing key science and technology issues
  • 22. BioenergyThe world’s most powerful system for open science
  • 23. Unique Network Connectivity 10 GB, moving to 40 GB, and higher
  • 24. Disclaimer Windows Azure is still in CTP. There are issues. They are making it better. This talk is simply about current experiences and hopefully some tips/pointers to help you reach success faster. The tests performed and referenced in this talk are not deemed scientifically accurate – simply what I have seen in my testing/usage. There are (many) people (much) smarter than me.
  • 25. What is Windows Azure? Compute Storage Developer SDK
  • 26.
  • 30. IIS7 Web Sites (ASP.NET, FastCGI)
  • 35.
  • 36. Blobs
  • 40. Can be used without computeCompute
  • 41.
  • 45. DNS
  • 48.
  • 54. Microsoft Visual Studio 2008 add-inCompute Storage
  • 55. Windows Azure Datacenter Your Service Service Architecture Worker Service Worker Service Internet LB Tables Storage Web Site (ASPX, ASMX, WCF) Web Site (ASPX, ASMX, WCF) Web Site (ASPX, WCF) Queue LB Blobs
  • 56. Initial Context Studying the intersection of HPC/scientific computing and the cloud Data locality is expected to be a key issue for us Cloud Computing looks to fill a niche in pre- and post-processing as well as generalized mid-range compute This project is an introductory or preparatory step into the larger research project
  • 57. Sample Application Goals Make CMIP3 data more accessible/consumable Prototype the use of cloud computing for post-processing of scientific data Answer the questions: Can cloud computing be used effectively for large-scale data How accessible is the programming paradigm Note: focus is on the mechanics, not the science (could be using number of foobars in the world rather than temp simulations)
  • 58. Two-Part Problem Get the data into the cloud/exposed in such a way as to be consumable by generic clients in Internet-friendly formats Provide some sort of visualization or sample application to provide context/meaning to the data. Simply making the data available doesn’t solve much Looking at TB of date/lat/lon/temp combinations doesn’t convey much A visualization or sample application was required to make the data “grok-able”
  • 59. Putting Data in the Cloud Source format - NetCDF is a hierarchical, n-dimensional binary format. Highly compressed and efficient. Difficult to consume in small bites over the Internet (often need to download the entire file or use OpenDAP) Libraries for interacting with NetCDF are available in C, Java, Ruby, Python, etc. Rudimentary managed wrapper available on CodePlex. File format is a hurdle for the casual observer (non-domain expert).
  • 60. Putting Data in the Cloud Desire to expose data as a “service” (think REST, XML, JSON, etc.) Decided to store in Azure Tables as “flattened” view Designed to scale to billions of records Consumers can query and retrieve small slices of data Supports ADO.NET Data Services with no extra effort (ATOM)
  • 61. Context: 35 Terabytes of numbers - How much data is that? A single latitude/longitude map at typical climate model resolution represents about ~40 KB. If you wanted to look at all 35 TB in the form of these latitude/longitude plots and if.. Every 10 seconds you displayed another map and if You worked 24 hours a day 365 days each year, You could complete the task in about 200 years.
  • 62. Dataset Used 1.2 GB NetCDF file – NCAR climate of the 20th century, run 1, daily data, air temperature, 1.4 degree grid. 40,149 days represented Each day has 8,192 temperature values Total of 328,900,608 unique values 0.003428 % of total set
  • 63. Data Load Approach #1 Local application flattened NetCDF in memory, load records directly into Azure Tables using Entity Framework Initially 1 record at a time (prior to batch support) 100 record batches (max/batch once batch support enabled) Worked, but took *forever* (collect this time)
  • 64. Data Load Approach #2 Local application flattened NetCDF into CSV files (one per time unit - ~41,000 files) CSV files uploaded into Azure blob storage Queue populated with individual entries for each time unit Workers roles would grab a time period from the queue, pull in the CSV, upload the data to the tables in 100-unit batches, and delete from the queue.
  • 65. Data Load Approach #2 Results Averaged 2:30/time period 40,149 time periods 24 per worker hour 1,672.8 worker-hours 14 active workers 119.5 calendar hours ~5 days total load. 328,900,608 total entities Near-linear scale out Remember, this is 0.003428 % of total set
  • 66. Data Load Approach #3 Similar to #2, but initial flattening to CSVs occurs in Azure rather than local machine Same table load performance as #2, but doesn’t require local machine resources for flattening and uploading Uploading a single 1.2GB NetCDF file is much faster than uploading ~40,100 300KB CSV files
  • 67. Sample Visualization Application Goals Generate heat maps for each time slice Animate collection of heat maps Allow user to compare similar time frames from various experiments to understand impact of changes
  • 68. Visualization Approach #1 Silverlight-based app, using CTP Virtual Earth control Download data by time period, for each data point (lat, lon, temp), create a bounding square (polygon) and set the color on the VE control Downloaded via Entity Framework (easy to write) Downloaded via JSON (harder, but less verbose) Store datasets in memory, allow user to select between, animate downloaded sets, batch download
  • 69. Virtualization Approach #1 Results ATOM is *very* bloated (~9MB per time period, average of 55 seconds over 9 distinct, serial calls) JSON is better (average of 18.5 seconds and 1.6MB) Client image rendering is *ok*… Polygons prevented normal VE interaction When interaction occurred, it was jerky
  • 70. Silverlight-based Client Processing Click to start Demo
  • 71. Visualization Approach #1.5 Attempted to go the whole “GIS” route and create a WMS or use MapCruncher Results Process worked OK, but was heavy/manually intensive. With the resolution of the data I was using, was interactivity valuable?
  • 72. Visualization Approach #2 Pre-generate the images for each time period Used fixed-size base map Pre-cache images Silverlight and WPF viewer would include WPF animation to cycle through image collection
  • 73. Visualization Approach #2 Results Image Generation worked fine (smoother than VE) Both Silverlight and WPF desktop app choked on animations when the number of images got large (i.e. > 100)
  • 74. Visualization Approach #3 Same approach as #2, but generate video (i.e. WMV) Results Significantly improved rendering performance Supports streaming
  • 75. WPF Client Image Animation and pre-rendered video Demo
  • 76. Sidebar: Generating Heatmaps Create an image using GDI+ and set the appropriate pixels to a shade of gray from 0-255 Apply a color map that translates from a gray to a color in a reference image (Yes… you have to care about pixels…)
  • 77. Sidebar: Generating Heat Maps Rudimentary math, but process intensive for generating each image. (There’s likely a better way…)
  • 78. Current Application Workflow NetCDFfile (source) uploaded to blob storage NetCDFfile split into 1000’s of CSV files stored in blob storage Process generates a LoadTable command for each CSV created LoadTable workers process jobs and load CSV data into Azure Tables. Once a CSV file has been processed, a CreateImage job is created
  • 79. Current Application Workflow CreateImage workers process queue, generating a heat map image for each time set Once all data is loaded and images are created, a video is rendered based on the resulting images and used for inclusion in visualization applications. Each source image is “munged” with a base map image prior to loading into the video.
  • 80. Technologies Utilized Windows Azure (tables, blobs, queues, web roles, worker roles) OGDI (http://ogdisdk.cloudapp.net/) C#, F#, PowerShell, DirectX, SilverLight, WPF, Bing Maps (Virtual Earth), GDI+, ADO.NET Data Services http://sciencecloud.us/test/silverlightapplication1testpage.aspx
  • 81. Lessons Cloud-focused data formats are large. Single ~1.2 GB NetCDF == ~16 GB of CSV Table load time is “slow” ~8,200 records, over 82 batches, average 2:30 However, insert time remains linear Partition keys are not queryable… store them. Load times prevent Azure tables from being particularly well-suited for large-scale data Watch your compliation model (32 vs. 64 bit)
  • 82. Lessons Errors happen… plan for/expect them Watch for timeouts when retrieving files, uploading data, etc. (Code Sample) Design for Idempotency multiple applications of the operation does not change the result Assume your worker roles will get restarted. Azure deployments will fail when you least want them to (remember, it’s a CTP). Stay away from dev storage (local fabric)
  • 83. Lessons ATOM is convenient, but bloated – use JSON where possible Data transfer within Azure datacenters is fast. Use web roles to format/proxy data for transfer over the Internet Azure logs are very slow – use alternate reporting methods if faster feedback loop is necessary
  • 84. Related Content Net CDF: http://www.unidata.ucar.edu/software/netcdf/ Net CDF Wrapper for .NET: http://netcdf.codeplex.com/ OPeNDAP: http://www.opendap.org/ CMIP 3: http://www-pcmdi.llnl.gov/ipcc/about_ipcc.php Open Government Data Initiative: http://ogdisdk.cloudapp.net/ JSON.NET: http://json.codeplex.com/ Map Cruncher: http://www.microsoft.com/maps/product/mapcruncher.aspx Heat maps for VE: http://johanneskebeck.spaces.live.com/blog/cns!42E1F70205EC8A96!7742.entry?wa=wsignin1.0&sa=406128337 Heat maps in C#: http://dylanvester.com/post/Creating-Heat-Maps-with-NET-20-%28C-Sharp%29.aspx
  • 85. Related Content Silverlight 3 and Data Paging With ATOM: http://rob.gillenfamily.net/post/Silverlight-and-Azure-Table-Data-Paging.aspx With JSON: http://rob.gillenfamily.net/post/SilverLight-and-Paging-with-Azure-Data.aspx AtomPub, JSON, Azure, and Large Datasets Part 1: http://rob.gillenfamily.net/post/AtomPub-JSON-Azure-and-Large-Datasets.aspx Part 2: http://rob.gillenfamily.net/post/AtomPub-JSON-Azure-and-Large-Datasets-Part-2.aspx
  • 86. Questions Rob Gillen Email: rob@gillenfamily.net Blog: http://rob.gillenfamily.net Twitter: @argodev

Editor's Notes

  1. For updates to this content please download the latest Azure Services Platform Training Kit from: http://www.azure.com
  2. This is the exploding cloud diagram
  3. Windows Azure runs on Windows Server 2008 running .NET 3.5 SP1. At MIX09, we opened up support for Full Trust and FastCGI. Full Trust is starred here because while Full Trust gives you access to p/invoke into native code, it is code that still runs in user mode (not administrator). However, for most native code that is just fine. If you wanted to call into some Win32 APIs for instance, it might not work in all instances because we are not running your code under a system administrator account.There are 2 roles in playA web role – which is just a web site, asp.net, wcf, images, css etc.A worker role – which is similar to a windows service, it runs in the background and can be used to decouple processing. There is a diagram later that shows the architecture, so don’t worry about how it fits together just yet.Key to point out the inbound protocols are HTTP & HTTPS – outbound are any TCP Socket, (but not UDP).All servers are stateless, and all access if through load balancers.
  4. This should give a short introduction to storage. Key points are its durable (meaning once you write something we write it to disk), scalable (you have multiple servers with your data), available (the same as compute, we make sure the storage service is always running – there are 3 instances of your data at all times).Quickly work through the different types of storage:Blobs – similar to the file system, use it to store content that changes, uploads, unstructured data, images, movies etc.Tables – Semi-structured, provides a partitioned entity store (more on partitions etc. in the Building Azure Services Talk) – allows you to have tables containing billions of rows, partitioned across multiple servers.Queues – Simple queue for decoupling Computer Web and Worker Roles.All access is through REST interface. You can actually access the storage from outside of the data center (you don’t need compute) and you can access storage via anything that can make a HTTP request.It also means table storage can be accesses via ADO.NET Data Services.
  5. Remind them the cloud is all the hardware across the board.Point out the automated service management,
  6. Developer SDK is a Cloud in a box, allowing you to develop and debug locally without requiring a connection to the cloud. You can do this without Visual Studio as there are command line tools for executing the “cloud in a box” and publishing to the cloud.There is also a separate download for the Visual Studio 2008 tools, which provide the VS debugging and templates.Requirements are any version of Visual Studio (including Web Developer Express), Vista SP1, Win7 RC or later.