16
Page 1 Running Java Applications on Windows Azure Vijay Rajagopalan Principal Program Manager Microsoft Corporation

Windows Azure Java Eclipse Con Vijayr

Embed Size (px)

DESCRIPTION

EclipseCon 2011

Citation preview

Page 1: Windows Azure Java Eclipse Con Vijayr

Page 1

Running Java Applications on Windows Azure

Vijay RajagopalanPrincipal Program ManagerMicrosoft Corporation

Page 2: Windows Azure Java Eclipse Con Vijayr

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 Azure Java Eclipse Con Vijayr

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: Windows Azure Java Eclipse Con Vijayr

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 Java Eclipse Con Vijayr

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 Java Eclipse Con Vijayr

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: Windows Azure Java Eclipse Con Vijayr

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 Azure Java Eclipse Con Vijayr

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: Windows Azure Java Eclipse Con Vijayr

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: Windows Azure Java Eclipse Con Vijayr

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 Java Eclipse Con Vijayr

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 Java Eclipse Con Vijayr

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

Author
Instead of "/"
Author
How about pointing out it's a CTP here as well?
Page 13: Windows Azure Java Eclipse Con Vijayr

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: Windows Azure Java Eclipse Con Vijayr

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: Windows Azure Java Eclipse Con Vijayr

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: Windows Azure Java Eclipse Con Vijayr

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.