SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
Windows Azure – Plug and Play
Interoperability 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
IT Camp 2011
• Thanks for coming!
• ITCamp is made possible by our sponsors:




      Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Session agenda
1. Windows Azure - a short refreshment
  – DEMO / PhooStock (Photo Sharing in Azure)
2. Interoperability? As-in JAVA and stuff?
  – DEMO / Tomcat on Windows Azure
3. What about PHP? MySQL?
  – DEMO / PHP and MySQL on Windows Azure


4. Q&A
      Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
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
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
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
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
PhooStock – Photo Sharing on Windows Azure

DEMO


      Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
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
Introducing

WINDOWS 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 Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Core Principles

• 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
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
Anatomy of a Java Worker Role




  Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Creating a Java Worker Role

1. Include JRE in worker role
2. Launch java.exe with your class

A better Java Worker:
  •   Reading configuration settings
  •   Discovering endpoints
  •   Handling changes
  •   Monitoring
  •   Diagnostics

        Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Running Tomcat on Windows Azure

DEMO


      Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
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
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          Control


http://app:80                        Load                     Fabric           Table      Blob
                                                                                                       Queue
                                    Balancer                 Controller       Storage   Storage



                                    Premium conference on Microsoft’s Dev and ITPro technologies                           @itcampro / #itcampro
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
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
Accessing SQL Azure from Java
• SQL Azure Database
   – Full relational Database as a Service

• 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
Some Constraints
Platform                                           Java
   – Dynamic networking                                 – Sandboxed networking
     • <your app>.cloudapp.net                               • need to configure networking
     • CNAME re-direct from custom
                                                        – Non-persistent local file system
       domain
                                                             • logging, configuration, etc.
     • cannot open arbitrary ports
   – No OS-level access                                 – REST-based APIs to services
                                                             • Table Storage – schema-less (noSQL)
   – Non-persistent local file system
                                                             • Blob Storage – large files (<200GB
     • allocate local storage directory                        block blobs; <1TB page blobs)
     • read-only: Windows directory,                         • Queues
       machine configuration files, service
                                                             • Service Bus
       configuration files
                                                             • Access Control
   – Available registry resources
     • 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
Deployment Options
• Worker Role
  – 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
Is this limited to Java?

WINDOWS AZURE +
PHP/MYSQL

        Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
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
MySQL: Simple Configuration
                                           VIP


                                      Load Balancer


                        Web Role




                                          MySQL
                        Worker Role




   Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
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
Replication
                                      VIP


                              Load Balancer




                  S               M               S
                      MySQL         MySQL          MySQL




Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Windows Azure Drive with Hot
          Spare
                                        VIP


                                Load Balancer




                               MySQL          MySQL




  Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Windows Azure Drive with Hot
          Spare
                                        VIP


                                Load Balancer




                               MySQL          MySQL




  Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
MySQL Solution Accelerator
• Built by Infosys

• Master/slave configurations in a worker role
  –   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
Running PHP/MySQL on Windows Azure

DEMO


      Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
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
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
Benefits of Database as a Service
SQL Azure
Database 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
Exploring the limits of Windows Azure’s Interoperability

DOES THIS STOP HERE?


       Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Cats + Internet = LOLCats




 Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
So what’s the catch?
• LOLCode – a cat inspired language




      Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Anatomy of a LOLCode
       Worker Role




Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Key Takeaways

1. Powerful platform primitives
2. Worker role with endpoint is a flexible
   model
3. 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
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
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
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                        • 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

Mais conteúdo relacionado

Mais procurados

JavaPerformanceChapter_3
JavaPerformanceChapter_3JavaPerformanceChapter_3
JavaPerformanceChapter_3Saurav Basu
 
Which Problems Does a Multi-Language Virtual Machine Need to Solve in the Mul...
Which Problems Does a Multi-Language Virtual Machine Need to Solve in the Mul...Which Problems Does a Multi-Language Virtual Machine Need to Solve in the Mul...
Which Problems Does a Multi-Language Virtual Machine Need to Solve in the Mul...Stefan Marr
 
General Bare-metal Provisioning Framework.pdf
General Bare-metal Provisioning Framework.pdfGeneral Bare-metal Provisioning Framework.pdf
General Bare-metal Provisioning Framework.pdfOpenStack Foundation
 
Deploying Baremetal Instances with OpenStack
Deploying Baremetal Instances with OpenStackDeploying Baremetal Instances with OpenStack
Deploying Baremetal Instances with OpenStackEtsuji Nakai
 
Vert.x - Tehran JUG meeting Aug-2014 - Saeed Zarinfam
Vert.x - Tehran JUG meeting Aug-2014 - Saeed ZarinfamVert.x - Tehran JUG meeting Aug-2014 - Saeed Zarinfam
Vert.x - Tehran JUG meeting Aug-2014 - Saeed ZarinfamSaeed Zarinfam
 
Tutorial on Constructing a Web-Server with Patterns at ADC 2004
Tutorial on Constructing a Web-Server with Patterns at ADC 2004 Tutorial on Constructing a Web-Server with Patterns at ADC 2004
Tutorial on Constructing a Web-Server with Patterns at ADC 2004 David Freitas
 
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012The Linux Foundation
 
Async and parallel patterns and application design - TechDays2013 NL
Async and parallel patterns and application design - TechDays2013 NLAsync and parallel patterns and application design - TechDays2013 NL
Async and parallel patterns and application design - TechDays2013 NLArie Leeuwesteijn
 
High speed networks and Java (Ryan Sciampacone)
High speed networks and Java (Ryan Sciampacone)High speed networks and Java (Ryan Sciampacone)
High speed networks and Java (Ryan Sciampacone)Chris Bailey
 
Improving Responsiveness for Virtualized Networking Under Intensive Computing...
Improving Responsiveness for Virtualized Networking Under Intensive Computing...Improving Responsiveness for Virtualized Networking Under Intensive Computing...
Improving Responsiveness for Virtualized Networking Under Intensive Computing...tcucinotta
 

Mais procurados (17)

.NET Vs J2EE
.NET Vs J2EE.NET Vs J2EE
.NET Vs J2EE
 
Implement Checkpointing for Android (ELCE2012)
Implement Checkpointing for Android (ELCE2012)Implement Checkpointing for Android (ELCE2012)
Implement Checkpointing for Android (ELCE2012)
 
JavaPerformanceChapter_3
JavaPerformanceChapter_3JavaPerformanceChapter_3
JavaPerformanceChapter_3
 
Which Problems Does a Multi-Language Virtual Machine Need to Solve in the Mul...
Which Problems Does a Multi-Language Virtual Machine Need to Solve in the Mul...Which Problems Does a Multi-Language Virtual Machine Need to Solve in the Mul...
Which Problems Does a Multi-Language Virtual Machine Need to Solve in the Mul...
 
General Bare-metal Provisioning Framework.pdf
General Bare-metal Provisioning Framework.pdfGeneral Bare-metal Provisioning Framework.pdf
General Bare-metal Provisioning Framework.pdf
 
Deploying Baremetal Instances with OpenStack
Deploying Baremetal Instances with OpenStackDeploying Baremetal Instances with OpenStack
Deploying Baremetal Instances with OpenStack
 
Vert.x - Tehran JUG meeting Aug-2014 - Saeed Zarinfam
Vert.x - Tehran JUG meeting Aug-2014 - Saeed ZarinfamVert.x - Tehran JUG meeting Aug-2014 - Saeed Zarinfam
Vert.x - Tehran JUG meeting Aug-2014 - Saeed Zarinfam
 
Tutorial on Constructing a Web-Server with Patterns at ADC 2004
Tutorial on Constructing a Web-Server with Patterns at ADC 2004 Tutorial on Constructing a Web-Server with Patterns at ADC 2004
Tutorial on Constructing a Web-Server with Patterns at ADC 2004
 
Turtles dc9723
Turtles dc9723Turtles dc9723
Turtles dc9723
 
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
 
XS Japan 2008 Xen Mgmt English
XS Japan 2008 Xen Mgmt EnglishXS Japan 2008 Xen Mgmt English
XS Japan 2008 Xen Mgmt English
 
XS Boston 2008 Fault Tolerance
XS Boston 2008 Fault ToleranceXS Boston 2008 Fault Tolerance
XS Boston 2008 Fault Tolerance
 
Inside JVM
Inside JVMInside JVM
Inside JVM
 
Libra: a Library OS for a JVM
Libra: a Library OS for a JVMLibra: a Library OS for a JVM
Libra: a Library OS for a JVM
 
Async and parallel patterns and application design - TechDays2013 NL
Async and parallel patterns and application design - TechDays2013 NLAsync and parallel patterns and application design - TechDays2013 NL
Async and parallel patterns and application design - TechDays2013 NL
 
High speed networks and Java (Ryan Sciampacone)
High speed networks and Java (Ryan Sciampacone)High speed networks and Java (Ryan Sciampacone)
High speed networks and Java (Ryan Sciampacone)
 
Improving Responsiveness for Virtualized Networking Under Intensive Computing...
Improving Responsiveness for Virtualized Networking Under Intensive Computing...Improving Responsiveness for Virtualized Networking Under Intensive Computing...
Improving Responsiveness for Virtualized Networking Under Intensive Computing...
 

Destaque

Innovation in Publishing - HTML5 and Cloud Computing
Innovation in Publishing - HTML5 and Cloud ComputingInnovation in Publishing - HTML5 and Cloud Computing
Innovation in Publishing - HTML5 and Cloud ComputingMihai Dan Nadas
 
10 februarie - 2 martie 2011
10 februarie - 2 martie 201110 februarie - 2 martie 2011
10 februarie - 2 martie 2011Andreea Rusu
 
Introduction to Windows Azure Access Control Service
Introduction to Windows Azure Access Control ServiceIntroduction to Windows Azure Access Control Service
Introduction to Windows Azure Access Control ServiceMihai Dan Nadas
 

Destaque (7)

Presentation2
Presentation2Presentation2
Presentation2
 
Lake Superior
Lake SuperiorLake Superior
Lake Superior
 
Windows Azure Compute
Windows Azure ComputeWindows Azure Compute
Windows Azure Compute
 
Innovation in Publishing - HTML5 and Cloud Computing
Innovation in Publishing - HTML5 and Cloud ComputingInnovation in Publishing - HTML5 and Cloud Computing
Innovation in Publishing - HTML5 and Cloud Computing
 
Windows Azure Overview
Windows Azure OverviewWindows Azure Overview
Windows Azure Overview
 
10 februarie - 2 martie 2011
10 februarie - 2 martie 201110 februarie - 2 martie 2011
10 februarie - 2 martie 2011
 
Introduction to Windows Azure Access Control Service
Introduction to Windows Azure Access Control ServiceIntroduction to Windows Azure Access Control Service
Introduction to Windows Azure Access Control Service
 

Semelhante a Windows Azure Interoperability

ITCamp 2011 - Mihai Nadas - Windows Azure interop
ITCamp 2011 - Mihai Nadas - Windows Azure interopITCamp 2011 - Mihai Nadas - Windows Azure interop
ITCamp 2011 - Mihai Nadas - Windows Azure interopITCamp
 
vert.x - asynchronous event-driven web applications on the JVM
vert.x - asynchronous event-driven web applications on the JVMvert.x - asynchronous event-driven web applications on the JVM
vert.x - asynchronous event-driven web applications on the JVMjbandi
 
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?João Pedro Martins
 
Learn OpenStack from trystack.cn ——Folsom in practice
Learn OpenStack from trystack.cn  ——Folsom in practiceLearn OpenStack from trystack.cn  ——Folsom in practice
Learn OpenStack from trystack.cn ——Folsom in practiceOpenCity Community
 
Orchestration & provisioning
Orchestration & provisioningOrchestration & provisioning
Orchestration & provisioningbuildacloud
 
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanPlugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanRack Lin
 
Know More About Rational Performance - Snehamoy K
Know More About Rational Performance - Snehamoy KKnow More About Rational Performance - Snehamoy K
Know More About Rational Performance - Snehamoy KRoopa Nadkarni
 
3 know more_about_rational_performance_tester_8-1-snehamoy_k
3 know more_about_rational_performance_tester_8-1-snehamoy_k3 know more_about_rational_performance_tester_8-1-snehamoy_k
3 know more_about_rational_performance_tester_8-1-snehamoy_kIBM
 
Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC  Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC vipin kumar
 
E g innovations overview
E g innovations overviewE g innovations overview
E g innovations overviewNuno Alves
 
Optimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer ToolsOptimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer ToolsAmazon Web Services
 
Cloud 2010
Cloud 2010Cloud 2010
Cloud 2010steccami
 
Big Gains With Little Virtual Machines Sumeet Mehra
Big Gains With Little Virtual Machines Sumeet MehraBig Gains With Little Virtual Machines Sumeet Mehra
Big Gains With Little Virtual Machines Sumeet MehraJay Leone
 
Genomic Computation at Scale with Serverless, StackStorm and Docker Swarm
Genomic Computation at Scale with Serverless, StackStorm and Docker SwarmGenomic Computation at Scale with Serverless, StackStorm and Docker Swarm
Genomic Computation at Scale with Serverless, StackStorm and Docker SwarmDmitri Zimine
 
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 PreviewCloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 PreviewChip Childers
 

Semelhante a Windows Azure Interoperability (20)

ITCamp 2011 - Mihai Nadas - Windows Azure interop
ITCamp 2011 - Mihai Nadas - Windows Azure interopITCamp 2011 - Mihai Nadas - Windows Azure interop
ITCamp 2011 - Mihai Nadas - Windows Azure interop
 
vert.x - asynchronous event-driven web applications on the JVM
vert.x - asynchronous event-driven web applications on the JVMvert.x - asynchronous event-driven web applications on the JVM
vert.x - asynchronous event-driven web applications on the JVM
 
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
 
Learn OpenStack from trystack.cn ——Folsom in practice
Learn OpenStack from trystack.cn  ——Folsom in practiceLearn OpenStack from trystack.cn  ——Folsom in practice
Learn OpenStack from trystack.cn ——Folsom in practice
 
Apache CloudStack AlpesJUG
Apache CloudStack AlpesJUGApache CloudStack AlpesJUG
Apache CloudStack AlpesJUG
 
Orchestration & provisioning
Orchestration & provisioningOrchestration & provisioning
Orchestration & provisioning
 
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanPlugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
 
V fabric overview
V fabric overviewV fabric overview
V fabric overview
 
Know More About Rational Performance - Snehamoy K
Know More About Rational Performance - Snehamoy KKnow More About Rational Performance - Snehamoy K
Know More About Rational Performance - Snehamoy K
 
3 know more_about_rational_performance_tester_8-1-snehamoy_k
3 know more_about_rational_performance_tester_8-1-snehamoy_k3 know more_about_rational_performance_tester_8-1-snehamoy_k
3 know more_about_rational_performance_tester_8-1-snehamoy_k
 
Building FOSS clouds
Building FOSS cloudsBuilding FOSS clouds
Building FOSS clouds
 
Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC  Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC
 
E g innovations overview
E g innovations overviewE g innovations overview
E g innovations overview
 
Intro to Cloudstack
Intro to CloudstackIntro to Cloudstack
Intro to Cloudstack
 
Optimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer ToolsOptimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer Tools
 
Cloud 2010
Cloud 2010Cloud 2010
Cloud 2010
 
Big Gains With Little Virtual Machines Sumeet Mehra
Big Gains With Little Virtual Machines Sumeet MehraBig Gains With Little Virtual Machines Sumeet Mehra
Big Gains With Little Virtual Machines Sumeet Mehra
 
Genomic Computation at Scale with Serverless, StackStorm and Docker Swarm
Genomic Computation at Scale with Serverless, StackStorm and Docker SwarmGenomic Computation at Scale with Serverless, StackStorm and Docker Swarm
Genomic Computation at Scale with Serverless, StackStorm and Docker Swarm
 
Handout2o
Handout2oHandout2o
Handout2o
 
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 PreviewCloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
 

Mais de Mihai Dan Nadas

How to Tackle the Single Sign-On Challenge in 2012
How to Tackle the Single Sign-On Challenge in 2012How to Tackle the Single Sign-On Challenge in 2012
How to Tackle the Single Sign-On Challenge in 2012Mihai Dan Nadas
 
Introduction into Windows Azure Traffic Manager
Introduction into Windows Azure Traffic ManagerIntroduction into Windows Azure Traffic Manager
Introduction into Windows Azure Traffic ManagerMihai Dan Nadas
 
Windows Azure AppFabric - Service Bus, Caching
Windows Azure AppFabric - Service Bus, CachingWindows Azure AppFabric - Service Bus, Caching
Windows Azure AppFabric - Service Bus, CachingMihai Dan Nadas
 
Introducing CMMI and REQM/RD
Introducing CMMI and REQM/RDIntroducing CMMI and REQM/RD
Introducing CMMI and REQM/RDMihai Dan Nadas
 

Mais de Mihai Dan Nadas (6)

How to Tackle the Single Sign-On Challenge in 2012
How to Tackle the Single Sign-On Challenge in 2012How to Tackle the Single Sign-On Challenge in 2012
How to Tackle the Single Sign-On Challenge in 2012
 
Windows Azure Storage
Windows Azure StorageWindows Azure Storage
Windows Azure Storage
 
Introduction into Windows Azure Traffic Manager
Introduction into Windows Azure Traffic ManagerIntroduction into Windows Azure Traffic Manager
Introduction into Windows Azure Traffic Manager
 
A Lap Around Windows 8
A Lap Around Windows 8A Lap Around Windows 8
A Lap Around Windows 8
 
Windows Azure AppFabric - Service Bus, Caching
Windows Azure AppFabric - Service Bus, CachingWindows Azure AppFabric - Service Bus, Caching
Windows Azure AppFabric - Service Bus, Caching
 
Introducing CMMI and REQM/RD
Introducing CMMI and REQM/RDIntroducing CMMI and REQM/RD
Introducing CMMI and REQM/RD
 

Último

Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 

Último (20)

Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
+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...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

Windows Azure Interoperability

  • 1. Windows Azure – Plug and Play Interoperability 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. 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. Session agenda 1. Windows Azure - a short refreshment – DEMO / PhooStock (Photo Sharing in Azure) 2. Interoperability? As-in JAVA and stuff? – DEMO / Tomcat on Windows Azure 3. What about PHP? MySQL? – DEMO / PHP and MySQL on Windows Azure 4. Q&A Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. PhooStock – Photo Sharing on Windows Azure DEMO Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 9. 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
  • 10. Introducing WINDOWS AZURE + JAVA Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 11. 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
  • 12. Core Principles • 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
  • 13. 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
  • 14. Anatomy of a Java Worker Role Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 15. Creating a Java Worker Role 1. Include JRE in worker role 2. Launch java.exe with your class A better Java Worker: • Reading configuration settings • Discovering endpoints • Handling changes • Monitoring • Diagnostics Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 16. Running Tomcat on Windows Azure DEMO Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 17. 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
  • 18. 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 Control http://app:80 Load Fabric Table Blob Queue Balancer Controller Storage Storage Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 19. 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
  • 20. 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
  • 21. Accessing SQL Azure from Java • SQL Azure Database – Full relational Database as a Service • 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
  • 22. Some Constraints Platform Java – Dynamic networking – Sandboxed networking • <your app>.cloudapp.net • need to configure networking • CNAME re-direct from custom – Non-persistent local file system domain • logging, configuration, etc. • cannot open arbitrary ports – No OS-level access – REST-based APIs to services • Table Storage – schema-less (noSQL) – Non-persistent local file system • Blob Storage – large files (<200GB • allocate local storage directory block blobs; <1TB page blobs) • read-only: Windows directory, • Queues machine configuration files, service • Service Bus configuration files • Access Control – Available registry resources • 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
  • 23. Deployment Options • Worker Role – 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
  • 24. Is this limited to Java? WINDOWS AZURE + PHP/MYSQL Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 25. 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
  • 26. MySQL: Simple Configuration VIP Load Balancer Web Role MySQL Worker Role Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 27. 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
  • 28. Replication VIP Load Balancer S M S MySQL MySQL MySQL Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 29. Windows Azure Drive with Hot Spare VIP Load Balancer MySQL MySQL Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 30. Windows Azure Drive with Hot Spare VIP Load Balancer MySQL MySQL Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 31. MySQL Solution Accelerator • Built by Infosys • Master/slave configurations in a worker role – 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
  • 32. Running PHP/MySQL on Windows Azure DEMO Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 33. 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
  • 34. 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
  • 35. Benefits of Database as a Service SQL Azure Database 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
  • 36. Exploring the limits of Windows Azure’s Interoperability DOES THIS STOP HERE? Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 37. Cats + Internet = LOLCats Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 38. So what’s the catch? • LOLCode – a cat inspired language Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 39. Anatomy of a LOLCode Worker Role Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 40. Key Takeaways 1. Powerful platform primitives 2. Worker role with endpoint is a flexible model 3. 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
  • 41. 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
  • 42. 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
  • 43. Q&A Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 44. 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