36
Microsoft Azure Java on Microsoft Azure Thomas Conté Technical Evangelist, Microsoft @tomconte

Running Java workloads in Microsoft Azure

Embed Size (px)

DESCRIPTION

In this session we’ll look at some of the options for running Java on Azure. We’ll look at the Azure plugin for Eclipse and how it enables creation, development, testing, and deployment of applications as well as some of the more advanced configuration options. We’ll also review how you can run official Oracle virtual machines including WebLogic. Finally we will look at our new Java support for Azure Web Sites, an easy-to-use PaaS hosting platform. You’ll leave understanding all of your options for running Java inside of Microsoft’s cloud.

Citation preview

Page 1: Running Java workloads in Microsoft Azure

Microsoft Azure

Java on Microsoft Azure

Thomas ContéTechnical Evangelist, Microsoft

@tomconte

Page 2: Running Java workloads in Microsoft Azure

Microsoft Azure

Programming languages + tools.NET, Visual Studio, TFS + Git, Java, NodeJS, PHP, Python, Ruby, C++

Microsoft cloud infrastructure

PaaSWebMobileGamingCloud services

DataAnalyticsMediaIdentity

IaaSWindows VMsLinux VMsStorageNetworking

Page 3: Running Java workloads in Microsoft Azure

Microsoft Azure

• Oracle Partnership– Virtual Machines– Oracle JDK– WebLogic

• Open Source Partnerships– OpenJDK / Azul– VM Depot– Cloud Services– Windows Azure plug-in for Eclipse with

Java

Microsoft <3 Java“This initiative is all about bringing Java to the masses in the cloud. We will be providing a fully open and unconstrained Java environment – with open choice of third-party stacks – for developers and essential applications deployed on Windows Azure.”Scott Sellers, Azul Systems President and CEO

Page 4: Running Java workloads in Microsoft Azure

Java on Microsoft Azure

IaaS• Windows or Linux

VMs• Official Oracle JDK• Pre-configured VMs• Oracle WebLogic,

VM Depot Java Image, or your own JVM

• CLI tools

PaaS• Web Sites + Cloud

Services• 64 bit OpenJDK

build by Azul (Zulu)

• Or bring any VM• Eclipse plugin

Services• Microsoft Azure

SDK for Java: Blobs, Tables, Queues, Service Bus, SQL, etc

• Other Azure SDKs

Page 5: Running Java workloads in Microsoft Azure

Microsoft Azure

AZURE WEB SITESPlatform As A Service

Page 6: Running Java workloads in Microsoft Azure

Web sites Build with Java, Python, Node.js, PHP, ASP.NETDeploy in seconds with FTP, Git / Github, TFS…Start for free, scale up as your traffic growsAutoscaling based on system counters & scheduleStaging to deploy and test new versionsWebJobs to schedule background tasksTraffic Manager for geo-availability & performance

Page 7: Running Java workloads in Microsoft Azure

Introducing Java Support • Built-in support for:

– Java 7 – Apache Tomcat 7– Jetty 9

• Ability to upload custom Java code, JVM

• Tested with numerous applications including Jira, Magnolia, Liferay and Hudson

Web Site Worker

IIS sends all HTTP traffic to the Java HTTP port when Java is enabled.

HTTP

Front End

HTTP

Page 8: Running Java workloads in Microsoft Azure

démoMicrosoft Azure

AZURE WEB SITES

Page 9: Running Java workloads in Microsoft Azure

Microsoft Azure

INFRASTRUCTURE AS A SERVICEOracle PartnershipVMDepot Virtual Machines

Page 10: Running Java workloads in Microsoft Azure

Virtual machinesWindows Server and LinuxFlexible Workload SupportVirtual Private Networking

Page 11: Running Java workloads in Microsoft Azure

Hell froze over :)

Oracle VMs in the Microsoft Azure Gallery Oracle license mobility to Microsoft Azure Oracle offers Oracle Linux on Microsoft Azure Java tested and certified on Microsoft Azure Became Generally Available in March

Page 12: Running Java workloads in Microsoft Azure

VM Depot – Tomcat (and other options)

Page 13: Running Java workloads in Microsoft Azure

démoMicrosoft Azure

INFRASTRUCTURE AS A SERVICEOracle VM galleryVM Depot

Page 14: Running Java workloads in Microsoft Azure

Microsoft Azure

JENKINS IN AZUREUsing the VM Depot gallery

Page 15: Running Java workloads in Microsoft Azure

Jenkins in Azure

azure vm create tomjenkins -o vmdepot-23932-1-32 -l "West Europe" \tom --ssh --ssh-cert ./certs/myCert.pem

Page 16: Running Java workloads in Microsoft Azure

Jenkins plug-in for Blob Storage

Page 17: Running Java workloads in Microsoft Azure

Microsoft Azure

PLATFORM AS A SERVICEJava running in Cloud Services

Page 18: Running Java workloads in Microsoft Azure

Cloud servicesBuild infinitely scalable apps and servicesSupport rich multi-tier architecturesAutomated application management

Page 19: Running Java workloads in Microsoft Azure
Page 20: Running Java workloads in Microsoft Azure

Microsoft Azure

• Windows Azure Plugin for Eclipse with Java – By MS Open Tech

• Zulu, an OpenJDK Build for Windows Azure– By Azul Systems

• Windows Azure Libraries for Java, v0.4.6

Java in Azure Cloud Services

Page 21: Running Java workloads in Microsoft Azure

Microsoft Azure

• JDK 1.6+• Eclipse IDE for Java EE Developers, Indigo+• Requires latest version of the Azure SDK• Install using « Install New Software » in Eclipse• Automatically adds…

– Microsoft JDBC Driver 4.0 for SQL Server– Package for Apache Qpid Client Libraries for JMS– Package for Windows Azure Libraries for Java– Windows Azure Access Control Services Filter

Azure Plugin for Eclipse

Page 22: Running Java workloads in Microsoft Azure

Microsoft Azure

• Azul Systems specializes in high performance JDK since 1995

• Zulu is an OpenJDK port, supported on Azure, fully Open Source and free

• Compatible with Java SE 7, verified with the Java SE 7 OpenJDK Community TCK

• Integrated with the Azure Plugin for Eclipse• Patches and bug fixes are shared by Azul with the

community• The runtime license allows ISVs to include Zulu in their

applications

Zulu OpenJDK for Azure by Azul Systems

Page 23: Running Java workloads in Microsoft Azure

démoMicrosoft Azure

HELLO WORLDPlugin Windows Azure for Eclipse

Page 24: Running Java workloads in Microsoft Azure

Applicationbuilding blocks

StorageBig data

Caching

CDN

Database

Identity

Media

Messaging

Networking

Traffic

Page 25: Running Java workloads in Microsoft Azure

Microsoft Azure

CacheLow latency, in-memory distributed cacheDynamically grow and shrink cache sizeHigh availability supportMemcached protocol support

Page 26: Running Java workloads in Microsoft Azure

Microsoft Azure

IdentityIntegrate with enterprise identityEnable single sign-on within your appsEnterprise Graph REST API93% of Fortune 1000 use Active Directory

Page 27: Running Java workloads in Microsoft Azure

Microsoft Azure

Service busSecure messaging and relay capabilitiesEasily build hybrid appsEnable loosely coupled solutions

Page 28: Running Java workloads in Microsoft Azure

Microsoft Azure

DBSQL databaseRelational SQL Server Engine in the CloudClustered for high availabilityFully Managed ServiceSQL Reporting support

Page 29: Running Java workloads in Microsoft Azure

Microsoft Azure

Blob storageHighly available, scalable and secure file systemBlobs can be exposed publicly over httpContinuous geo-replication across datacenters

Page 30: Running Java workloads in Microsoft Azure

Microsoft Azure

Blob Storage Concepts

BlobContainerAccount

http://<account>.blob.core.windows.net/<container>/<blobname>

Pages/ Blocks

contoso

PIC01.JPGBlock/Page

Block/Page

PIC02.JPGimages

VID1.AVIvideos

Page 31: Running Java workloads in Microsoft Azure

Microsoft Azure

API Imports for Blob Storageimport com.microsoft.windowsazure.services.core.storage.*; import com.microsoft.windowsazure.services.blob.client.*;

Page 32: Running Java workloads in Microsoft Azure

Microsoft Azure

Connect and Open a Container// Define the connection-string with your values public static final String storageConnectionString = "DefaultEndpointsProtocol=http;" + "AccountName=your_storage_account;" + "AccountKey=your_storage_account_key";

CloudBlobContainer container = blobClient.getContainerReference("mycontainer"); // Option - Create the container if it does not exist container.createIfNotExist();

Page 33: Running Java workloads in Microsoft Azure

Microsoft Azure

Output URIs for a Containerfor (ListBlobItem blobItem : container.listBlobs()) { System.out.println(blobItem.getUri()); }

Page 34: Running Java workloads in Microsoft Azure

Microsoft Azure

Notification HubsBeta SDK – http://aka.ms/JavaHubsManage device registrationsTrigger push notifications to:• WinStore• WinPhone• iOS• Android

Page 35: Running Java workloads in Microsoft Azure
Page 36: Running Java workloads in Microsoft Azure

© 2014 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.