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.
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Running Java workloads in Microsoft Azure
1. Microsoft Azure
Java on Microsoft Azure
Thomas Conté
Technical Evangelist, Microsoft
@tomconte
2. Microsoft
Azure
Programming languages + tools
.NET, Visual Studio, TFS + Git, Java, NodeJS, PHP, Python, Ruby, C++
Microsoft cloud infrastructure
PaaS
Web
Mobile
Gaming
Cloud services
Data
Analytics
Media
Identity
IaaS
Windows VMs
Linux VMs
Storage
Networking
3. 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
4. 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
7. 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
10. Windows Server and Linux
Flexible Workload Support
Virtual Private Networking
11. 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
20. 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
21. 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
22. 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
31. Microsoft Azure
API Imports for Blob Storage
import com.microsoft.windowsazure.services.core.storage.*;
import com.microsoft.windowsazure.services.blob.client.*;
32. 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();
33. Microsoft Azure
Output URIs for a Container
for (ListBlobItem blobItem :
container.listBlobs()) {
System.out.println(blobItem.getUri());
}
Speaking Points:
Transition
Virtual machines provide a very flexible compute model.
Another compute service available in Windows Azure is called Windows Azure Web Sites.
Definition:
Windows Azure Web Sites there is a managed service that you can use to run web sites and web APIs.
Enable you to quickly stand up web applications and web sites on the internet
Auto-managed environment
Just say that you want a web, here’s the DNS, copy the content, and we do the rest
You don’t have to worry or think about VMs, servers, or infrastructure.
You can simply focus on building and deploying HTTP based applications.
Enables you to build web sites using ASP.NET, Node.js, PHP, and now with an update a few weeks ago – Python
Allows you to use any tool and any operating system to build these sites including Windows, OS X, and Linux.
Enables a very fast deployment model. You can literally deploy in seconds.
You can easily deploy these sites using the tools and infrastructure you know.
We support several flexible deployment options including FTP, GIT, and Team Foundation Services
What is nice about this offering is that not only does it enable to very quickly get going, but it also allows you to start with a free offer in a shared environment.
Pricing starts at free.. Perpetually free and then you can scale up as you need more capability
You can then scale up these sites using reserved instances for higher performance and isolation and scale out these sites as your web site becomes successful and you have increased load.
Transition:
For the rest of this talk I’m going to give you a tour of Windows Azure, walk you through many of the features, and ground you in the capabilities it provides
The first set of features I want to walk through is Virtual Machines.
Speaking Points:
If you’re familiar with traditional hosting, this is probably the feature that feels most familiar and consistent with what other hosting providers provide.
The ability to stand up a virtual machine with either Windows or Linux that you can basically remote desktop in or SSH in and run any workload.
These virtual machines enable you to be admin on the box
They are durable, meaning if you reboot the VM, it is still there with all of your changes and data you stored to disk
This means you can run any type of workload
If you want to run SQL you can, if you want to install a no-SQL solution, you can do that to.
If you want to run SharePoint you can do that.
Provides ultimate flexibility to do what you want to do
Also enables you to do what we call virtual private networking
With virtual private networking, you can deploy Virtual Machines in the cloud and group them together so they are part of their own private network
You can also then connect it back to your corporate network (if you have one) and establish a VPN secure tunnel to link your machines running in your own corporate environment up to your virtual machines in the cloud – making them look like they’re all part of one connected network.
So lots of flexibility in the compute side as well as in the networking side.
Enterprises use both Microsoft and Oracle – this partnership is about doing what’s in the best interests of our joint customers
We want customers with Oracle workloads to be able to run them in a fully-supported way on Azure and Hyper-V
Microsoft and Oracle are diverse companies and we will continue to compete in other areas outside the scope of this partnership, such as in database and analytics tools
Ultimately this competition is good for customers as well, giving them more choice in where to make their technology bets
What are the key aspects of this partnership?
Our customers can run supported Oracle software on Windows Server Hyper-V and in Windows Azure.
Oracle provides license mobility for customers who want to run Oracle software on Windows Azure.
Microsoft offers license-included, pre-configured virtual machine images with popular configurations of Oracle software including Java, Oracle Database and Oracle WebLogic Server in the Windows Azure image gallery.
Microsoft will offer fully licensed and supported Java in Windows Azure.
Oracle offers Oracle Linux, with Oracle Database and Oracle WebLogic Server, as preconfigured bring-your-own-license instances on Windows Azure.
http://vmdepot.msopentech.com/List/Index?sort=Featured&search=java
azure vm create demotdjboss -o vmdepot-18848-1-32 -l "West Europe" tom --ssh --ssh-cert ./certs/myCert.pem
Speaking Points:
We’ve talked about Virtual Machines and we’ve talked about Web Sites, now let’s talk about Cloud Services
Cloud Services is another model we support for building applications.
Cloud Services enable a broader set of workloads then Windows Azure Web Sites, while providing more automated management then Windows Azure Virtual Machines.
Enables you to build what we sometimes refer to as infinitely scalable applications. They can support 1 to hundreds or thousands of course
Support not only web based deployments, but also multi-tier architectures where you might have a combination of front ends, middle tiers, as well as virtual machines running as part of your solution.
Supports automated application management, so it is really easy to deploy, scale out, isolate, and recover from any type of hardware failure. As well as support for automated updates.
Créer un nouveau projet Dynamic Web genre Hello World
Le lancer en local dans le Tomcat (projet tout normal)
Créer le projet de déploiement Windows Azure ; montrer les options
Montrer le package.xml généré
Lancer dans l’émulateur local
Remettre à zéro l’émulateur
Publier dans Windows Azure ; montrer le dialogue de publication
Pendant que ça déploie, montrer les options sur le projet et sur le Worker Role : cache, sticky sessions, etc.
Si pas fini de déployer, montrer le projet déjà déployé