Upload
thomas-conte
View
384
Download
2
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
Microsoft Azure
Java on Microsoft Azure
Thomas ContéTechnical Evangelist, Microsoft
@tomconte
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
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
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
Microsoft Azure
AZURE WEB SITESPlatform As A Service
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
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
démoMicrosoft Azure
AZURE WEB SITES
Microsoft Azure
INFRASTRUCTURE AS A SERVICEOracle PartnershipVMDepot Virtual Machines
Virtual machinesWindows Server and LinuxFlexible Workload SupportVirtual Private Networking
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
VM Depot – Tomcat (and other options)
démoMicrosoft Azure
INFRASTRUCTURE AS A SERVICEOracle VM galleryVM Depot
Microsoft Azure
JENKINS IN AZUREUsing the VM Depot gallery
Jenkins in Azure
azure vm create tomjenkins -o vmdepot-23932-1-32 -l "West Europe" \tom --ssh --ssh-cert ./certs/myCert.pem
Jenkins plug-in for Blob Storage
Microsoft Azure
PLATFORM AS A SERVICEJava running in Cloud Services
Cloud servicesBuild infinitely scalable apps and servicesSupport rich multi-tier architecturesAutomated application management
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
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
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
démoMicrosoft Azure
HELLO WORLDPlugin Windows Azure for Eclipse
Applicationbuilding blocks
StorageBig data
Caching
CDN
Database
Identity
Media
Messaging
Networking
Traffic
Microsoft Azure
CacheLow latency, in-memory distributed cacheDynamically grow and shrink cache sizeHigh availability supportMemcached protocol support
Microsoft Azure
IdentityIntegrate with enterprise identityEnable single sign-on within your appsEnterprise Graph REST API93% of Fortune 1000 use Active Directory
Microsoft Azure
Service busSecure messaging and relay capabilitiesEasily build hybrid appsEnable loosely coupled solutions
Microsoft Azure
DBSQL databaseRelational SQL Server Engine in the CloudClustered for high availabilityFully Managed ServiceSQL Reporting support
Microsoft Azure
Blob storageHighly available, scalable and secure file systemBlobs can be exposed publicly over httpContinuous geo-replication across datacenters
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
Microsoft Azure
API Imports for Blob Storageimport com.microsoft.windowsazure.services.core.storage.*; import com.microsoft.windowsazure.services.blob.client.*;
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();
Microsoft Azure
Output URIs for a Containerfor (ListBlobItem blobItem : container.listBlobs()) { System.out.println(blobItem.getUri()); }
Microsoft Azure
Notification HubsBeta SDK – http://aka.ms/JavaHubsManage device registrationsTrigger push notifications to:• WinStore• WinPhone• iOS• Android
© 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.