Hi everyone. I’m Martijn Verburg. I’m the principle group manager for the Java engineering group here at Microsoft and I’m speaking to you all the way from London, United Kingdom and what part of world are you in, Ed? I’m coming to you from Orlando, FL, United States Awesome, the magic of digital composition we gonna learn so far Yes, let’s get started Now we know you have a lot of choices to look at your ignite talks and we’re excited this year to bring ignite to a much larger audience. Thanks to being a 100% virtual event an these talks are available on demand and we’re happy that you’re coming to visit our talk So our plan for your time investment is that we want to demonstrate one that Microsoft is committed to Java. We’re very excited because this is not historically been the case and I can speak from personal experience. Having worked on Java in various forms since 1997, first at Sun Microsystems, then in Oracle, and I’ve been very heavily involved in the development of Java EE and we’re really excited to bring you some new announcements today about Java EE on Azure and also Spring and VS Code for Java and all matter of different kinds of exciting things. So we’re very committed to Java. We also know that enterprises are running Java and having success with that, so we have a few great customer success stories to talk to there. Then the heart of the talk is Azure itself, right? And we know that Java is part of your cloud journey and we want you to understand that your enterprise can bring Java on your terms to Azure. After that, we’re going to cover the tools for developing Java solutions on Azure. And then we’ll finally closeout with a summary and a call to action Awesome Cool, so yeah. Java matters an awful lot on Azure The top users of the Azure very popular data storage services come from Java, Java and Linux of course as a synonymous with being hand in hand and it may surprise some of you, but actually half of the VM’s Azure runs today actually runs Linux. We have incredible amounts of work, loads of customer or customer business applications running on Azure and Microsoft actually uses Java heavily internally itself with properties like Yammer, LinkedIn, and Minecraft And it’s important to talk about new Linux here because I remember in the early days of Java really it was much more platform focused even though it was supposed to be cross platform. The actual platforms where the JVMs ran to quite awhile to get Java actually on Linux as a supported thing. But now that is the default most most people there doing Java are doing so on Linux and a lot of the workloads that we have on Azure are in fact coming from the Linux side of the story And I hope not too many folks from the Java ecosystem who know me from that conference circuit, so may remember me saying that I would never work in a Windows or Microsoft dominated environment or I’ll eat my hat. Well, here I am, eating my head for one year and then very happy to do so Right, so I guess onto our partners. So to kind of demonstrate to show that Microsoft really understands the Java ecosystem. Java isn’t about a single vendor, it’s about a whole ecosystem of vendors, providers, partners, customers, users, it’s a federation And here you can see some of the important ones that we Microsoft partner with to make sure that you can bring the Java the way you want to us. We partner with Oracle as an example where the stewards of Java, we have IBM who bring their cloud packs in our marketplace. We have Azure Red Hat Openshift. So all of the kind of deployments areas or partnerships that you have with Java. Today we have in here on Azure as well And it’s important to demonstrate the transition of Microsoft itself from a know it all company to learn it all company and this has been brought about by our multiyear process brought about by our CEO Satya Nadella and I remember the historical legacy of Microsoft has been, you know, they decide what platform we’ll have what the platform will have and what you will use and the sort of tell the world ok now you go out and use it. Java is bigger than that so it really fits well with the transition from being a know it all company to learn it all company and partners are a huge part of that because the partners specially in Java have the many years of expertise. So all of these partners here, VMware, Red Hat, IBM They’ve been doing Java from its very beginning and part of the Java

community process, and so we’re listening to them and developing our solutions with them So let’s talk about how this talk will be broken down. We really want to demonstrate to you that we can give you Java on your terms and that means all across the span of what Azure offers virtual machines, containers, managed services, and Serverless. So there’s a mapping on the left hand side. The Java platform itself has always been broken down into these different editions, starting with the core JDK, and then we have two Main enterprise stacks that are on top of that core SDK, Java EE, Jakarta EE, and Spring and most of the world that’s doing enterprise Java right now is using either of those two things, Java EE or Spring and we have great support in many different levels across the spectrum here. So you can think of Java on Azure as a cross cutting concern to use a term from aspect oriented programming. So for each of these layers you can find Java manifested virtual machines. We have marketplace offers. We have prebuilt solution templates that you can use to deploy Java EE for containers. You can run operators that deploy enterprise stacks on top of the container based platforms. For managed services we have Tomcat, Spring, Openshift. A number of other managed services and also that is where you get multi cloud into the picture as well, and Serverless. Serverless is an important part of the full complete stack, and in fact it’s part of the transition towards a complete separation of control between business logic and the surrounding runtime environment, and it’s really the culmination of the entire industry working for many years to separate boiler plate from core business logic and that’s why serverless is an important technology. And then you really important thing here is its choices.It’s your choice to bring Java the way you want to bring it. So another aspect of being a lern it all I mentioned, the partners, is also the customers, right? So we focus on being a customer obsessed company and that means listening to what customers want us to build and then going to build it, not the other way around. So Java was designed as a general purpose programming language and we have a few different customers that we’re focusing on here from three different industries manufacturing, retail and logistics. And the general purpose success of the Java technology itself is very well manifested in how these three completely different industry sectors are able to obtain great results using Java on Azure Right, and so here’s the example. We have a couple of well known household names and manufacturing here Daimler in Hitachi, they’ve been Java users since the very beginning utilizing Java and the middleware and using it to run their mission critical business applications. And one of the strengths, the Java for them undoubtedly has been the connectivity that it gives him to specialize software systems, and in particular industry. And again they have the choice to be able to bring that the way they want to to Azure And they’ve had a lot of success here, so you can see with Daimler, for example, having the capability of having their own tomcat or their managed tomcat here on Azure was a great choice for them to be able to make. Right, and so Next up we have the retail sector. Now the retail sector is increasingly becoming the software sector and they are facing new challenges You know the Old World of bricks and mortar has gone away for many of these giant retailers Once again, Best Buy very much a household name, and as you can see there quite a sophisticated user of the Azure service stack Here you can see that Java is at the core of everything they use Azure app service, the use Tomcat to run their Java there They can connect onto the Azure event bus, which by the way supports good old Java message service. Jameis, which still runs trillions of transactions today across multiple enterprises, and you can see the Azure services supporting it behind the scenes there. So cosmos DB for the document storage, Azure key vaults ensure that secrets can be injected into those Java applications safely, so on and so forth. So again, this file is able to take their on premise application take it Azure and then slowly start modernizing it more towards a cloud native solution And I can say as in my role in the engineering on the technologies that are actually represented on this slide. It’s not one and done. We’re continuing to partner with Best Buy

their continuing to bring requirements to us, and that is helping us improve the quality of the platform for all of the other users. So we’re taking real requirements and bringing them and applying them to the stack so that others are able to take advantage of that Alright, the next customer we’re going to focus on here is J.B Hunt. They’re a global leader in logistics and they have been using Java since 1998. They started out with the old IBM San Francisco Project, which eventually became J2EE and was refined and many years later became Java EE and Jakarta EE an as with many enterprises, their solution offerings are all of the above. Pretty much any technology you can imagine they’re using it in their stack in some way because the size of diversity of their business is so huge. So the key point I want you to take away here is you can continue to leverage the crown jewel of your business, which is the line of business apps and leverage them into Azure as time goes on without having to throw away any of that core investment that we’ve been making over the years Yeah, great point. There’s a lot of people talk about legacy applications or building new cloud native applications I like to think of legacy applications as the thing that drives your business that makes you all of your revenue and they should be loaded and looked after and transport it across to, you know, a place like Azure where they can be made more scalable and more flexible. So here we have an example of different ways you can bring Java to Azure no matter which stage of your life cycle you’re at. If you just want to lift and shift your existing monolith for as an example we of course supply all of the VM’s that you could possibly want, whether that be windows variants of Linux and we also have a whole variety of what we call templates which are pre-packaged pre-built with JDK that you want and a whole bunch of other extras that you might need for example if you were to run, let’s say a web logic or a specific Java server of some description. So the nice thing about this slide is it really makes makes it clear that it’s a journey and Azure is going along with you on this journey were helping to provide the path that you can go on, but the direction you want to go is up to you. And each of these pathways have different tradeoffs. Virtual machines they offer a tradeoff between ease of migration, lift and shift or enterprise right up there into the VMS, and you’re done, but there’s a higher total cost of ownership because that flexibility means the compute is more expensive Whereas on the container-based solutions as representative between AKS and Openshift, there might be a difficulty in architecting that. So once you get there, you know you’re more in a cloud native sense, but it is a little bit more challenging to get there. Then you might have to ask yourself, is multi cloud a requirement or not? We want to make sure that you have all of the choices and options and the decision is up to you. So Martin can you give us a little more detail on what those trade offs are and how they are represented in Azure? Yeah, sure, let’s go to the first one. So as I started with before, we use, our people could start with virtual machines and for me personally this was a choice that was missing from a lot of cloud providers out there. And even in the recent past, right? A lot of different cloud providers are trying to force you into deploying the application, the Java application the way they want. But we know we understand that these line of business Java applications that can be really complicated beasts and having the ability just to lift and shift them to an environment where you just get the natural elasticity. And flexibility and security of cloud is super important. So for containers that’s kind of the next stage of evolution Containers have taken the software world by storm. Both Docker and Kubernetes today defacto standards and just about any CTO or CEO you talk to either has moved their organization two containers or has a plan to do so in the next 12 months. The wonderful flexibility containers really gives you here is that you can still run them on your own VM if you have to manage it yourself You can run it and say a managed service such as our Kubernetes service, AKS and to its earlier point. You also have a little bit of multi cloud flexibility here. You can take your container and you can move it to another cloud should you need to for regulatory reasons or whatever other good reasons you might have. So one of the aspects of the cloud that we have to point out is that Microsoft is not in the business of picking a stack favorite or picking a winner, right? So that means you have flexibility for multi cloud, but it also means

you have a very heterogeneous environment and when you have heterogeneous environments that involve containers, there are a lot of concerns you might have regarding the security of the docker images that you’re pulling from when you’re building your containerized solutions. So the both of our container services that are shown on here and also the other ones like Openshift, Red Hat, Azure Red Hat and Openshift depend on Azure Container Registry And Azure container registry has very good interface with our security and monitoring tools One manifestation, real quick. I know we don’t have too much time, but I do want to talk about Docker files. Docker files have dependencies that are represented in from clauses that can span many layers up between your business logic and the underlying runtime that’s in the Docker image. Each of those is in in dependently involving piece of software, which means as time goes on vulnerabilities are discovered and need to be patched. The CVE vulnerabilities for example, customers want a very high level of security and guarantee that they can stay on top of this complexity and the Azure security provided by ACI Azure Container Registry is very, very good, well suited for that task. And it’s really interesting seeing the industry trend happen Actually, we lift-shifting being able to deal with security concerns all the way at the kind of build stage or even at development stage. And we’re also taking what is an insurmountable human problem Being able to scan limitless transitive dependencies for security vulnerabilities. And we’re applying Microsoft technology to go solve that problem for you Alright, let’s talk about multi cloud. Let’s talk about multi cloud. So multi cloud again for either regulatory purposes or simply because you want to have choice and both Ed and I come from a background where we are sort of big supporters of Java EE and the sort of independence that it gave you to move between vendors. That was one of the big successes behind Enterprise Java. So we give you that choice here as well, and we have two main options for you can use the Red Hat openshift multi cloud option here. Or you can use VM Ware Tanzu, especially if you’re more of a Spring user in particular. Alright Managed services. Some people call this platform as a service We have a whole bunch of different building blocks you can use here. The main one that would like to talk about is called Azure App Service. This service actually supports all of the first tier languages out there in the ecosystem today. So you talk about .NET, Python, Node.js and of course Java. With Java we have Tomcat to begin with and I’ll hand over now to Ed to speak about the thing we’re about to release. Yeah, so we have an exciting on announcement this week during the Ignite JBoss EAP on App Service and this is an important homecoming for me in some sense, because JBoss EAP 7.2 which is the supported version here, is a full stack implementation of the Java EE 8 specification. And before joining Microsoft I worked on Java EE 8 and 7 and 6 and 5 and 4 and was the spec lead for JSF and servlet and these are two key components of the Java EE stack And now to see that they are available as a pass on Azure is a really fun thing to observe and I’m excited to be a part of that. So take a look at this link here and you can see the documentation and it’s just another dropdown choice in the App Service stack And it’s fantastic to see this coming to the App Service. I know from my personal experience before joining Microsoft, I spent many years in the financial services industry and JBoss EAP was at the heart of so many different middleware systems and so it’s great to see a supporter here. Right, and I did mention that the enterprise world has two main stacks for Java based software and the first one being Java EE and the second one being Spring. So we have a really great partnership with VM Ware and we have a fully managed pass service called Azure Spring Cloud. This is in general availability now and it has a lot of great features, but the takeaway for you in this audience here is it’s a fully managed infrastructure. We handle the lifecycle management we handle the ease of monitoring, you just have to build your business logic, and if you’re ready for microservices and Azure, Spring Cloud is ready for you Let me take a little bit of a deep dive for the developers in the audience here. Doing it on microservices based architecture has a lot of challenges, but it also has a lot of rewards, otherwise it wouldn’t be so popular, right? So there are a

number of microservices patterns that are just handled for you out of the box with Azure Spring Cloud. So the service discovery is handled for you automatically. Circuit breakers, blue green deployments, distributed versioning, and distributed tracing. All of those must have checkpoints for microservices based applications are handled for you out of the box in Azure Spring Cloud Ease of monitoring. This is one of the key differences between a monolith based application, and microservices based one application in a monolith based application you have these very large stack traces that enable you to know exactly what is happening at any point in time in the system with microservices, it’s a little more complicated because you have a flow of control that’s actually spanning different compute nodes, so you have need to have a higher level of long at Log Analytics, distributed tracing, you can have a system where you can set up different threshold alerts So if you want to be notified for scale up or scale down based on whatever is happening in the system, you can set up those alerts and it will be ready for you automatically Now that’s the Azure Spring Cloud, but a lot of people are using spring on Azure using their own stack, so they might be running VMs or docker containers. They have to do this, you know they don’t want the full convenience of a pass, they want more control themselves. So in order for that to work well, we have a very broad and deep set of spring integrations that let you use the idiomatic way of programming to the Spring API and just take advantage of the Azure services As a matter of course, because both Spring and Java EE have been solving enterprise problems for long before the cloud even existed, right? So they had evolved ways of doing things and customers have been writing their applications to leverage those ways. The idea with the spring integrations is that you can. Bring your spring based workloads to Azure and things will just be Azure-ified if you will. So let’s take an example of key vault, right? Spring has had dependency injection for a very long time. Going back to 2004. At the time JSF1.io had managed objects spring had dependency injection started out with just a lot of XML files Then overtime they added annotations. Different ways of getting your dependencies injected into your runtime code So now we have ways to inject the dependencies from Azure key vault, for example, using the standard spring value annotations and you don’t have to do anything extra except for declared dependency on the spring boot starter for key vault and we have these kind of starters for many other kinds of interactions. So basically if there’s a spring way to do something. There’s a way to apply that to Azure in a transparent and idiomatic frictionless way It’s really helpful and sort of go back to Ed’s earlier point about the microservices architecture and having all of that support for your 12-factor apps. It takes away so much pain really does? We’ve run across teams countless times who when they have a bug in production they don’t even know what you notice that it’s happening on, right? And they don’t have this circuit breakers in place and it’s very difficult to manage all that complexity, so it’s great to see us managing that complexity for you. Right, and we couldn’t get there without help from our partners and customers too. So speaking of partners and customers, Java EE has always been kind of a vendor focus thing where they are the different vendors that would create app servers and those app servers would each have a standard API, but there are also vendor specific things as well, so that pattern is something that exists and we’re accounting for that by partnering with different companies. So for example, we have a very close partnership with Oracle where we’re bringing Weblogic server to Azure in the form of a number of different marketplace offers. You can go into the Azure marketplace and just type Weblogic and see a wide range of choices. We have VMs that come preinstalled with Weblogic, but we also have solution templates to let you deploy an entire web logic server cluster with Azure service. Integrations are right out of the box. We’re working with IBM to expand the offerings. Right now we have the IBM cloud Pak for data and we’re going to be working with them to provide guidance for other aspects of the IBM stack and we also have support for the Azure Kubernetes Service, which allows operators to run off the shelf Now an operator is a piece of software that just brings an existing you can think of it

like an installer for Kubernetes. Really, if you have let’s say IBM open Liberty, which is a Java EE container platform, you want to bring that to Azure Kubernetes service. You can do that or even even Azure Red Hat Openshift The slide is a lot of detail, but I just wanted to demonstrate, you know one of those options there where you deploy Weblogic Server cluster to Azure and you have a number of different service integrations on the bottom. For example elastic stack for your logs, various kinds of databases, whether it’s document based like Cosmos DB or relational like my SQL Azure SQL Server. Or even a distributed cache like Reddis. We have integrations for all of those kinds of things. OK, so the next point is to talk about guidance Now when building for the cloud, you’re really assembling lots of things from off the shelf stacks and all of those stacks in addition to the before mentioned security vulnerabilities that can happen as they evolve the feature sets also change, so it’s important to have what we call migration guidance and the migration guidance is a set of curated and maintained tutorials that really allow the developer to. Rest assured that when they follow the steps in this document, it is going to work and it’s going to work with the current set of offerings that are available on Azure. So we’re able to create this guidance with the help of our partners and our field that tell us the kinds of stories that customers are wanting to do. And we’re describing how to do it and get you up and running, and maintained in a quick way. And yeah, what the string, so that documentation set is again, when you want to bring Java to Azure, your choice, your way we have guidance for you on that So if you want to bring it to VMs, containers to Azure Functions or to spring cloud as an example there is a whole world of tutorials for you and written in partnership, again with real world customers This is kind of one of the strengths of Microsoft’s customer engagement model that we have So onto the underlying Java. So a couple of years ago the licensing model did change for Oracle’s Java and the release cadence has also changed for Java and now we have 6 monthly releases. We have the concept of a long term service release and there’s a lot more variety and choice in terms of whether you want free updates, commercial support, so on and so forth. We want to simplify all of that for you, so when you bring your Java workloads to Azure, you have the option of using Azul’s Enterprise edition that is completely commercially supported for free and free in use so you can be reassured that when you’re running your Java workloads on Azure that you can be running a JDK or JVM which is fully supported by ourselves and our partner resorts and they’ve been doing this for a very very long time and you can see by the support model down at the bottom of the screen there that this support is last the lifetime of your long term business applications. Alright, one of the core strengths of Microsoft’s always been understanding developer tools We know how to build tools that developers love. But we also know that Java developers in particular loved the tools they’ve already been using. So if we wanted to have success with Java on Azure, that means meeting developers where they are in the tools they are using So while we do have very excellent Java based development environment in the form of Visual Studio Code which has a deep and broad set of partner developed with Red Hat Solutions for editing, debugging, integration, code, intellisense, all of the things you do and expect from an IDE Visual Studio code itself is focused on a slightly different target audience, which is more for polyglot authors, more of a lightweight editor, so it’s not full of a heavyweight solution that many Java developers are used too far and away the most important developer environment for Java developers is the IntelliJ idea. So to recognize that we have plugins for all of the different kinds of things you want to do with IntelliJ so Azure Web apps, Azure Functions, create integration with Azure Spring Cloud. Great integration with deployment technologies and that also means Maven and Gradle. So we have Maven Plugins and Gradle support in our tools for all of those ones that you can see on the slide there. This is also an important. Yeah, I discovered something really interesting when I first arrived at Microsoft and started using using Visual Studio Code and it is for the first time I’ve really found myself always reaching for that particular IDE, a code editor. When it came to building microservices or doing you

Greenfield Development, and when I was doing fullstack work so maybe a JavaScript front end and a nice piece of Java business logic at the back and then I can always go back to my IntelliJ when I was looking at those really large set multi million line of code. I had mission critical business apps, so it’s great datapoint. DevOps tool integration. So the other critical thing for all of the engineers and your teams is to be able to deploy the code and to ensure that it’s deployed continuously, that is tested well and that all of the tooling that you are used to in the space, which is more often than not Jenkins in the Java World is well supported by Azure. So we do have all of the Jenkins integrations. Our own Azure DevOps which is our CI/CD solution, which is fantastic by the way. I’ve completely fallen in love with it ever since I’ve gotten here, that also integrates really clearly with Jenkins, so you can use the two in conjunction to make sure that. All of that Java software that you’re building can get automatically deployed We also have the Azure SDKs and client libraries so a huge amount of effort has been put in here to make sure that you know when you want to interact with an Azure service and you’re a Java developer that you actually have a Java API that was built with Java developers in mind, so it follows the Java idioms follows the design patterns and you can embed these client libraries either directly in your applications using good old Gradle or Maven. And there’s also the command line option as well if you need to utilize that So there’s also SDK’s for all of the other top tier supported languages. We have one for Python, one for Go, for.NET, of course, and so the point there is that we’re meeting not just Java developers where they are, but all kinds of developers, and for each one we have to determine the tradeoff between idiomatic in that particular platform and the underlying technologies on the on the Azure side. So by having a large among the number of Engineers working on this kind of technology to bring it to the developers that they understand. It’s really an important thing for doing that Cool, Microsoft, I think it was noted right at the beginning of this talk, it’s a different company from where it was ten years ago. Microsoft is now strongly invested in open source and open communities and open standards, and that’s demonstrated in the Java ecosystem as well. So my group directly contributes back to open JDK, which is the core of Java itself, and so you’ll see our team adding all sorts of things like performance enhancements to make sure that garbage collectors as an example work really well in a cloud and in container based environment we’ve done things like pushed up the windows arm port which is going to be an important platform for the whole software ecosystem going forward On top of that, Microsoft has been involved right from beginning really with AdoptOpenJDK which is the world’s second most utilized open JDK behind Oracle’s who is Java now, and that has been a multi vendor multi provider, community driven Java user, groups and academics and end users are also involved and Microsoft steering committee member there are important sponsors. And last but not least, were strategic member of the Eclipse Software Foundation Eclipse is the has a new home for Java EE which is now called Jakarta EE. It has interesting new micro service framework Yeah, micro service profiles are real important thing. Yep Yeah, really so if you are a formerly or still a Java EE developer today and you’re comfortable with those idioms, but you want to build more cloud native applications a micro profiles are really good. One to look at. On top of that, Eclipse of course has a whole bunch of other important Java players, especially the IoT space. So we do recommend you go visit them. And eclipse is where the work that powers the Java portion of Visual Studio Code is done and Red Hat is also contributing that too. So those technologies, the eclipse IDE And is sort of A dual purpose technology where it goes just to Eclipse IDE, but it also goes into Visual Studio Code. So the Java power inside of Visual Studio Code is in large part coming through the Eclipse Foundation via the eclipse technology. So let’s sum it up for us, Martin. That’s cool

Absolutely. So in summary, we covered a lot of topics today, but the thing we’re really trying to point out is that you can bring the Java the way you want to Azure, so unlike other providers, we do not dictate to you how you should bring your Java. You can lift and shift and bring it along to Azure. You can go down the container routes, you can go with a managed service. You can go with a hybrid model of all of this and we’re even very happy to see you go multi cloud with us as well. We have all the different solutions you might need and your call to action really is to see for yourself. We have a link there at the bottom, then take you to all of the Java on Azure Resource that we have. You’ll see there the customer success stories and migration guides, listings and deep dive details All of our services and things and of course both Ed and I are here online on Twitter and you can reach out to us anytime. So yeah, thank you very much for your attention and it was great fun doing this. Thanks a lot. Bye bye