0
Windows Azure – Plug and PlayInteroperability and The Freedom of Choice                                           Mihai Na...
IT Camp 2011• Thanks for coming!• ITCamp is made possible by our sponsors:      Premium conference on Microsoft’s Dev and ...
Session agenda1. The state of the cloud and why should you   care2. Windows Azure - a short refreshment  – DEMO / PhooStoc...
The state of the CloudAND WHY SHOULD YOU CARE       Premium conference on Microsoft’s Dev and ITPro technologies   @itcamp...
The cloud evolves• It becomes more crisp  Cloud computing is a model for enabling convenient, on-demand network access to ...
Why should you care?• You will have to taste it, sooner or later• Your job will require it• Your startup will need it     ...
First, a short poll   Which of the following technologies you’re most                  experienced with?Windows Azure     ...
Processing results, please wait...Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
And... the results!       Which of the following technologies you’re most                      experienced with?60%50%40%3...
Windows AzureOPENENESS TOOLKIT      Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Windows Azure Refresher•   Scalable computation in the cloud•   Durable cloud storage•   Write code, test, debug locally• ...
What’s it good for?Web Applications                                   Media Applications    massive scale infrastructure ...
Compute – instance types: Web Role &        Storage – distributed storage systems that                               Worke...
PhotoStock – Photo Sharing on Windows AzureDEMO      Premium conference on Microsoft’s Dev and ITPro technologies   @itcam...
What we’ve seen so far?• Two roles – web and worker role• They’re actually full fledged Windows  Server machines• We can o...
How this may be interesting to              you?• Not managing and interacting with server OS   – less work for you   – do...
IntroducingWINDOWS AZURE + JAVA       Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Mental Model• Windows• Non-admin user• USB drive with “runme.bat”• Can your app run that way?      Premium conference on M...
Deployment Options• Worker Role  – fabric sandbox native    deployment  – automated, need additional    code  – available ...
Worker Role Programming Model• Basically DLL with main()• In .NET  – OnStart() – initialization  – Run() – main  – OnStop(...
How It Works• Platform features:  –   Native code execution (run the JVM)  –   Local storage (Tomcat logs, etc.)  –   Work...
Creating a Java Worker Role1. Include JRE in worker role2. Launch java.exe with our class       Premium conference on Micr...
A Better Java Worker•   Reading configuration settings•   Discovering endpoints•   Handling changes•   Monitoring•   Diagn...
Running Tomcat in Windows Azure• Use the solution accelerator; it’s easier• Built by Infosys• To do it yourself:  –   Copy...
Running Tomcat on Windows AzureDEMO      Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcam...
What we’ve seen so far?• Tomcat Solution Accelerator  – http://archive.msdn.microsoft.com/winazuretomcat• Windows Azure ca...
Anatomy of a Java Worker Role  Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Architectural Perspective                                                                                                 ...
Windows Azure Tools for                Eclipse/Java• Runtime   – Multiple Java app servers   – Any Windows-based JRE• Supp...
Accessing Windows Azure Storage           from Java• Windows Azure SDK for Java   – Enables Java developers to develop aga...
Accessing SQL Azure from Java• SQL Azure Database   – Full relational Database as a Service• Supports TDS & OData• Direct ...
Some ConstraintsPlatform                                           Java   – Dynamic networking                            ...
Is this limited to Java?WINDOWS AZURE +PHP/MYSQL        Premium conference on Microsoft’s Dev and ITPro technologies   @it...
Running PHP in Windows Azure• How to Do It  – Host in Web role (like .NET)  – Supply PHP runtime                          ...
MySQL: Simple Configuration                                           VIP                                      Load Balanc...
MySQL in a Windows Azure              Application• Running MySQL in a worker role  –   Copy MySQL to the worker role sub-d...
Replication                                      VIP                              Load Balancer                  S        ...
Windows Azure Drive with Hot          Spare                                        VIP                                Load...
Windows Azure Drive with Hot          Spare                                        VIP                                Load...
Windows Azure Drive with Hot          Spare                                        VIP                                Load...
MySQL Solution Accelerator• Built by Infosys• Master/slave configurations in a worker role  –   Leverage Windows Azure Dri...
Running PHP/MySQL on Windows AzureDEMO      Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #it...
PHP with Windows Azure Storage• Windows Azure SDK for PHP @  http://phpazure.codeplex.com• PHP programming model for Windo...
PHP with SQL Azure• SQL Server Driver for PHP @  http://sqlsrvphp.codeplex.com/• Supports PHP access to SQL Azure• Feature...
Benefits of Database as a ServiceSQL AzureDatabase as a Service                                 MySQL Solution Accelerator...
Does this stop here?Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Does this stop here?• No! You can run LOLCode too.     Premium conference on Microsoft’s Dev and ITPro technologies   @itc...
Anatomy of a LOLCode       Worker RolePremium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Key Takeaways1. Powerful platform primitives2. Worker role with endpoint is a flexible   model3. Windows Azure can run any...
To Remember•   Tomcat Solution Accelerator•   MySQL PHP Solution Accelerator•   Windows Azure SDK for Java•   Windows Azur...
More, online• AzureWorks.ro / www.azureworks.ro  – Windows Azure User Group  – LinkedIn Community  – News  – This presenta...
Q&A  Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Don’t forget!Get your free Azure pass!                            We want your feedback!• 30+15 days, no CC req’d         ...
Upcoming SlideShare
Loading in...5
×

ITCamp 2011 - Mihai Nadas - Windows Azure interop

1,228

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,228
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
26
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "ITCamp 2011 - Mihai Nadas - Windows Azure interop"

  1. 1. Windows Azure – Plug and PlayInteroperability and The Freedom of Choice Mihai Nadăș Yonder / www.tss-yonder.com mihai@nadas.ro / www.mihainadas.com Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  2. 2. IT Camp 2011• Thanks for coming!• ITCamp is made possible by our sponsors: Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  3. 3. Session agenda1. The state of the cloud and why should you care2. Windows Azure - a short refreshment – DEMO / PhooStock (Photo Sharing in Azure)3. Interoperability? As-in JAVA and stuff? – DEMO / Tomcat on Windows Azure4. What about PHP? MySQL? – DEMO / PHP and MySQL on Windows Azure5. Q&A Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  4. 4. The state of the CloudAND WHY SHOULD YOU CARE Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  5. 5. The cloud evolves• It becomes more crisp Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. (Peter Mell and Tim Grance, NIST)• It grows as they told us it will – ~$37.8B in 2010, expected $121.B by 2015 (26% CAGR) (MarketsAndMarkets Report) – By 2014, ~65% of new products will be SaaS services (IDC Report) – SaaS-derived revenue will account for 26% of net new growth in 2014 (IDC Report)• New players confirm it by joining in – Oracle and HP just to name a few , Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  6. 6. Why should you care?• You will have to taste it, sooner or later• Your job will require it• Your startup will need it Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  7. 7. First, a short poll Which of the following technologies you’re most experienced with?Windows Azure Microsoft .NET JAVA, PHP, MySQL, (non-cloud) LOLCODE Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  8. 8. Processing results, please wait...Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  9. 9. And... the results! Which of the following technologies you’re most experienced with?60%50%40%30%20%10%0% Windows Azure Microsoft .NET JAVA, PHP, MySQL (non-cloud) Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  10. 10. Windows AzureOPENENESS TOOLKIT Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  11. 11. Windows Azure Refresher• Scalable computation in the cloud• Durable cloud storage• Write code, test, debug locally• Automated management in the cloud• Utility business model Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  12. 12. What’s it good for?Web Applications Media Applications  massive scale infrastructure  CGI rendering  burst & overflow capacity  content transcoding  temporary, ad-hoc sites  media streamingService Applications Information Sharing  composite applications  reference data  mobile/client connected  common data repositories services  knowledge discovery &  Web API’s managementHybrid Applications Collaborative Processes  component services  multi-enterprise integration  distributed processing  B2B & e-commerce  distributed data  supply chain management  external storage  health & life sciences  domain-specific services Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  13. 13. Compute – instance types: Web Role & Storage – distributed storage systems that Worker Role. Windows Azure applications are highly consistent, reliable, and scalable. are built with web role instances, worker role instances, or a combination of both.HTTP/HTTPS Each instance runs on its own VM (virtual machine) and local transient storage; replicated as needed Guest VM Guest VM Guest VM Host VM Maintenance OS, Hardware-optimized hypervisor The Fabric Controller communicates with every server within the Fabric. It manages Windows Azure, monitors every application, decides where new applications should run – optimizing hardware utilization. Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  14. 14. PhotoStock – Photo Sharing on Windows AzureDEMO Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  15. 15. What we’ve seen so far?• Two roles – web and worker role• They’re actually full fledged Windows Server machines• We can open up ports to the world• We’re free to program it as we like (Full Trust) Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  16. 16. How this may be interesting to you?• Not managing and interacting with server OS – less work for you – don’t have to care it is “Windows Server” – but have to live with some limits and constraints• Some level of control – process isolation (runs inside your own VM/guest OS) – service and data geo-location – allocated capacity, scale on-demand – full spectrum of application architectures and programming models• You can run Java! – plus PHP Python, Ruby, MySQL, memcached, etc. , – and eventually anything that runs on Windows Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  17. 17. IntroducingWINDOWS AZURE + JAVA Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  18. 18. Mental Model• Windows• Non-admin user• USB drive with “runme.bat”• Can your app run that way? Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  19. 19. Deployment Options• Worker Role – fabric sandbox native deployment – automated, need additional code – available now• VM Role – host your own pre-configured VM image – automated, full control – In beta Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  20. 20. Worker Role Programming Model• Basically DLL with main()• In .NET – OnStart() – initialization – Run() – main – OnStop() – graceful shutdown• Expected to run forever Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  21. 21. How It Works• Platform features: – Native code execution (run the JVM) – Local storage (Tomcat logs, etc.) – Worker roles with endpoints (listen on port 80) – Initialization (copy and launch Tomcat)• Java-specific artifacts: – Java storage client library – Apache Tomcat solution accelerator – (Eclipse tooling) Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  22. 22. Creating a Java Worker Role1. Include JRE in worker role2. Launch java.exe with our class Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  23. 23. A Better Java Worker• Reading configuration settings• Discovering endpoints• Handling changes• Monitoring• Diagnostics Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  24. 24. Running Tomcat in Windows Azure• Use the solution accelerator; it’s easier• Built by Infosys• To do it yourself: – Copy Tomcat to local storage – Configure correct listening port – Start Tomcat service – Monitor and report health Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  25. 25. Running Tomcat on Windows AzureDEMO Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  26. 26. What we’ve seen so far?• Tomcat Solution Accelerator – http://archive.msdn.microsoft.com/winazuretomcat• Windows Azure can run anything that could basically run on a Windows machine (just add care) Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  27. 27. Anatomy of a Java Worker Role Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  28. 28. Architectural Perspective Service Instance listen port(x) JVM Catalina server.xml index.jsp Tomcat Sub-Process new Process() RoleEntry bind port(x) Point get Worker Role runtime info Service Instance SQL http://instance:y http://instance:x Database Service Access Bus Controlhttp://app:80 Load Fabric Table Blob Queue Balancer Controller Storage Storage Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  29. 29. Windows Azure Tools for Eclipse/Java• Runtime – Multiple Java app servers – Any Windows-based JRE• Supports – Windows Azure Storage – Windows Azure Drive – Windows Azure AppFabric – SQL Azure• One-click cloud deployment• Integrated diagnostics, monitoring, and logging Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  30. 30. Accessing Windows Azure Storage from Java• Windows Azure SDK for Java – Enables Java developers to develop against Windows Azure Storage & Service Management infrastructure using familiar & consistent programming model Your Java application• Features Windows Azure SDK for Java Manageability, Blobs, Tables, Helper for Http, – Set of Java classes for Windows Azure Blobs, Queues Instrumentation, logging Auth, REST, Error Tables & Queues (for CRUD operations) & REST Service Management – Helper Classes for HTTP transport, AuhN/AuthZ, REST & Error Management – Manageability, Instrumentation & Logging(log4j)• Open Source Project site: – Developed by Soyatec – www.windowsazure4j.org Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  31. 31. Accessing SQL Azure from Java• SQL Azure Database – Full relational Database as a Service• Supports TDS & OData• Direct connectivity to SQL Azure – Connect with JDBC/ODBC using the latest driver – Eclipse tooling support• Interoperability using REST – Easily wrap SQL Azure with WCF Data Services – Restlet extension for OData (Java)• Committed to OSS support and app compatibility Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  32. 32. Some ConstraintsPlatform Java – Dynamic networking – Sandboxed networking • <your app>.cloudapp.net • NIO (java.nio) not supported • no naked domain • engine and host-level clustering • CNAME re-direct from custom • JNDI, JMS, JMX, RMI, etc. domain • need to configure networking • sending traffic to loopback addresses not allowed and cannot open – Non-persistent local file system arbitrary ports • logging, configuration, etc. – No OS-level access – REST-based APIs to services – Non-persistent local file system • Table Storage – schema-less (noSQL) • allocate local storage directory • Blob Storage – large files (<200GB block blobs; <1TB page blobs) • read-only: Windows directory, machine configuration files, service • Queues configuration files • Service Bus – Available registry resources • Access Control • read-only: HKEY_CLASSES_ROOT, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIG • full access: HKEY_CURRENT_USER Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  33. 33. Is this limited to Java?WINDOWS AZURE +PHP/MYSQL Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  34. 34. Running PHP in Windows Azure• How to Do It – Host in Web role (like .NET) – Supply PHP runtime Load Balancer PHP – Point to runtime via FastCGI Web Role VIP configuration in Instance 1 • Web.config • Web.roleConfig• Eclipse Tooling @ PHP http://windowsazure4e.org Web Role Instance 2 does the above for you Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  35. 35. MySQL: Simple Configuration VIP Load Balancer Web Role MySQL Worker Role Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  36. 36. MySQL in a Windows Azure Application• Running MySQL in a worker role – Copy MySQL to the worker role sub-directory – Copy to read-write local storage – Configure MySQL to listen on the right port – Monitor MySQL health• Consuming MySQL – Discover IP address and port – Normal access from then on – Handle topology changes Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  37. 37. Replication VIP Load Balancer S M S MySQL MySQL MySQLPremium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  38. 38. Windows Azure Drive with Hot Spare VIP Load Balancer MySQL MySQL Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  39. 39. Windows Azure Drive with Hot Spare VIP Load Balancer MySQL MySQL Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  40. 40. Windows Azure Drive with Hot Spare VIP Load Balancer MySQL MySQL Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  41. 41. MySQL Solution Accelerator• Built by Infosys• Master/slave configurations in a worker role – Leverage Windows Azure Drive – Master election and replication on startup – Failover and recovery – Scale up/down slaves – Periodic backups - full and incremental• Available with source code Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  42. 42. Running PHP/MySQL on Windows AzureDEMO Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  43. 43. PHP with Windows Azure Storage• Windows Azure SDK for PHP @ http://phpazure.codeplex.com• PHP programming model for Windows Azure Storage• Features – PHP classes for Blobs, Tables & Queues – Store PHP sessions in Table Storage Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  44. 44. PHP with SQL Azure• SQL Server Driver for PHP @ http://sqlsrvphp.codeplex.com/• Supports PHP access to SQL Azure• Features – Choose between SQL Server and SQL Azure by changing connection string – Use from on-premises or in Windows Azure Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  45. 45. Benefits of Database as a ServiceSQL AzureDatabase as a Service MySQL Solution Accelerator• Lower TCO • Compatibility w/ MySQL apps • Pre-configured clustering across• Automatic High Availability multiple compute instances – Multiple servers with live copies of • Database maintenance required your data --- instant failover • Metered by compute hour• Automatic Fault-Tolerance• Automatic maintenance – No downtime• Instantly expand/contract databases to meet application needs• Metered by database• Mission-critical SQL Server foundation Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  46. 46. Does this stop here?Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  47. 47. Does this stop here?• No! You can run LOLCode too. Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  48. 48. Anatomy of a LOLCode Worker RolePremium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  49. 49. Key Takeaways1. Powerful platform primitives2. Worker role with endpoint is a flexible model3. Windows Azure can run anything that adheres to the „mental model” • JAVA • PHP MySQL , • Python, Ruby • [enter your platform of choice here] Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  50. 50. To Remember• Tomcat Solution Accelerator• MySQL PHP Solution Accelerator• Windows Azure SDK for Java• Windows Azure SDK for PHP• Windows Azure Tools for Eclipse• Windows Azure Interoperability• LOLCode .NET Compiler Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  51. 51. More, online• AzureWorks.ro / www.azureworks.ro – Windows Azure User Group – LinkedIn Community – News – This presentation, the references and the source files – Comming soon – LOLCode on Windows Azure Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  52. 52. Q&A Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  53. 53. Don’t forget!Get your free Azure pass! We want your feedback!• 30+15 days, no CC req’d • Win a WP7 smartphone – http://bit.ly/ITCAMP11 – Fill in your feedback forms – Promo code: ITCAMP11 – Raffle: end of the day Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×