Upload
vijayrvr
View
310
Download
0
Tags:
Embed Size (px)
DESCRIPTION
EclipseCon 2011
Citation preview
Page 1
Running Java Applications on Windows Azure
Vijay RajagopalanPrincipal Program ManagerMicrosoft Corporation
Page 2
AgendaIntroduction to Windows AzureWindows Azure – An Open Platform
Running non .NET languages on Windows Azure todayJava on Windows Azure?
How? What Tools & SDKs?Patterns for running Java applications on Windows Azure Platform
Why Windows Azure?
Page 3
Windows AzureWindows Azure is an OS for the data center
Model: Treat the data center as a machineHandles resource management, provisioning, and monitoringManages application lifecycleAllows developers to concentrate on business logic
Provides shared pool of compute, disk and networkVirtualized storage, compute and networkIllusion of boundless resources
Provides common building blocks for distributed applications
Reliable queuing, simple structured storage, SQL storageApplication services like access control and connectivity
Page 4
The Benefits of the CloudThe Cloud is about cheap, on-demand capacity
= Managed for You
Standalone
Servers
IaaS PaaS SaaS
Applications
Runtimes
Database
Operating System
Virtualization
Server
Storage
Networking
Windows Azure
Page 5
Windows Azure Components
Windows Azure PaaS
Applications Windows Azure Service Model
Runtimes .NET 3.5/4, ASP .NET, PHP, Java (near future)
Operating System
Windows Server 2008 or 2008 R2-Compatible OS
Virtualization
Windows Azure Hypervisor
Server Microsoft Blades
Database SQL Azure
Storage Windows Azure Storage (Blob, Queue, Table)
Networking Windows Azure-Configured Networking
Page 6
Windows Azure Application Characteristics
Single InstancePersistent OS
Single InstanceStateless OS
Multi-InstanceStateless OS
Automated, Consistent Application UpdatesAutomated, Consistent Configuration ChangesMulti-Instance Management
Scale-out
High Availability
Automated, Consistent OS Servicing
Windows Azure
Single InstancePersistent OS
Single InstanceStateless OS
Multi-InstanceStateless OS
Automated, Consistent Application UpdatesAutomated, Consistent Configuration ChangesMulti-Instance Management
Scale-out
High Availability
Automated, Consistent OS Servicing
Page 7
Modeling Cloud ApplicationsA cloud application is typically made up of different components
Front end: e.g. load-balanced stateless web serversMiddle worker tier: e.g. order processing, encodingBackend storage: e.g. SQL tables or filesMultiple instances of each for scalability and availability
Front-End
Mark’s Cloud Application
Front-End
HTTP/HTTPS WindowsAzure
Storage,SQL
Azure
Load Balancer Middle-
Tier
Page 8
Windows AzureAn Open Platform
Ru
nti
mes &
Serv
ices
http:// REST Web ServicesXMLoData AtomPub RSS
Ap
pFab
ric
SD
Ks
Developer ExperienceUse existing skills and tools.
Windows Azure Tools for
Windows Azure Command-Line Tools for
Windows Azure Companion
Win
dow
s
Azu
re
SD
Ks
Page 9
How Java works on Windows Azure? A Java application works within a Windows Azure worker roleThe Java developer chooses and provides:
Java Runtime (JRE)Java App Server (Apache Tomcat, Jetty, Glassfish, etc)The app code/package
And then, when a new Windows Azure Worker Role starts: Startup task installs JRE, Web Server Package And bootstraps the Java Web Server with application
Microsoft’s building and funding community Eclipse Tools & SDKs to enable Java developers to easily take advantage of the Windows Azure cloud platform
Page 10
Components Enabling Java on Windows Azure Development & Deployment Tools
Windows Azure plugin for Eclipse/Java: IDE experience
Windows Azure Starter Kit for Java: Script & Command line experience
Windows Azure SDK for JavaSpeed dial for Azure Storage, Service Management & Service Runtime
Windows Azure Platform ComponentsApp Fabric (SDK available) SQL Azure(JDBC, oData, TDS))
Developer Education & documentationhttp://java.interopbridges.com/cloud
Page 11
Windows Azure SDK for JavaOverview
Enables Java developers to develop against Windows Azure Storage & Service Management infrastructure using familiar & consistent programming model.
Windows Azure StorageDurableScalable (capacity and throughput)Highly available
FeaturesSet of Java classes for Windows Azure Blobs, Tables & Queues (for CRUD operations) & Service ManagementHelper Classes for HTTP transport, AuhN/AuthZ, REST & Error ManagementManageability, Instrumentation & Logging(log4j)
Open Source Project site: Developed by our Partner Soyatecwww.windowsazure4j.org
Java Runtime
Logical architecture
Deployment scenarios
Windows Azure SDK for Java
Blobs, Tables, Queues
Manageability, Instrumentation,
logging
Helper for Http, Auth, REST, Error
Your Java application
Compute Storage Manage
REST
Any internet connected Server
Java Runtime
REST
REST
Windows 7
Java Runtime
REST
Page 12
Windows Azure Plugin for Eclipse with Java, March 2011 CTP
Comprehensive development experience within EclipseA simple way to build and deploy Java web applications for Windows AzureFeatures
Wizard for project creationProject templatePre-configured deployment scriptsIntegration with the Windows Azure EmulatorExtensible to support your choice of JRE & App Server
More at: java.interopbridges.com/cloud
Page 13
Patterns for running Java workloadsWeb Workload (eg: Tomcat)Web Services Heterogeneous composite workloads Batch Processing / Number crunching applicationsConnecting on-premise Java Applications to Windows Azure Platform
Connecting through Windows Azure ConnectApp Fabric IntegrationWindows Azure Storage integrationSQL Azure support (TDS, JDBC, oData)Windows Azure Data Market (OData)
Page 14
Discussion TopicsDo you develop any Java based applications that you’d like to migrate to Windows Azure? If so, please describe the type of application, frameworks and application server used.What timeframe are you looking to migrate?Are you planning on porting your application to leverage Azure PaaS capabilities? If so, please describe the Azure components you’re planning on leveraging.Are you planning on keeping your application as-is (as much as possible) by leveraging the VM Role? If so, please describe the components you’re planning on installing on the VM Role.
Page 15
Key TakeawaysWe are on a journey to enable first class Java support on Window Azure Platform Give us your feedback & Priorities
Continue take advantage of Windows Azure Platform openness & diverse Choice of SDKs & Tools for Java Developers
Tomcat Solutions Accelerator Admin Access & VM RoleWindows Azure Platform SDKs for Java Developers
Windows Azure SDK (Storage, Diagnostics & Service Management)App Fabric SDK (Service Bus & Access Control Services)Restlet extension for OData (Java)
More Information and Download Linksjava.interopbridges.com/cloud
Page 16
© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the
date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.