$30 off During Our Annual Pro Sale. View Details »

Why Java Developers are First-Class Citizens on Azure

Why Java Developers are First-Class Citizens on Azure

This session is a fast-paced tour of all things Java and Azure at the modern Microsoft of today. We will first talk about the why, how and what of Java and Microsoft. We will then dive right into the broad range of tools, services and APIs that Microsoft offers around Azure for Java developers. We will show a small but representative demo of a Java application most developers would feel familiar with running well on Azure. Lastly, we will discuss the road map for what Java developers can expect from Microsoft in the future. This session is as much about sharing what Microsoft offers today as it is about listening to what the Java community wants to see from Microsoft tomorrow.

Reza Rahman

July 06, 2019
Tweet

More Decks by Reza Rahman

Other Decks in Programming

Transcript

  1. Why Java Developers are First-
    Class Citizens on Azure
    Reza Rahman
    Principal Program Manager
    Java on Azure

    View Slide

  2. © Microsoft Corporation
    Java Matters

    View Slide

  3. © Microsoft Corporation
    Microsoft and Java

    View Slide

  4. © Microsoft Corporation
    Abundance of Choice
    Virtual
    Machines
    Containers
    Managed
    Services
    Serverless

    View Slide

  5. © Microsoft Corporation
    Support Your Architecture
    Microservices or
    serverless
    application
    Parts of monolith
    extracted
    Monolith + new
    microservices
    Containerized Monolith
    Monolith

    View Slide

  6. © Microsoft Corporation
    Pathways to Java on Azure

    View Slide

  7. © Microsoft Corporation
    Virtual Machines
    In addition to Windows, Azure has long supported Linux virtual
    machines popular with Java developers
    The Azure Marketplace includes plethora of Java focused virtual
    machine images and solution templates
    Virtual machines provide the most flexibility, control and visibility
    while moving to the cloud, especially for initial migration of Java
    workloads

    View Slide

  8. © Microsoft Corporation
    Java SE
    Azure Marketplace Portfolio
    Jakarta EE
    Data
    Messaging
    DevOps

    View Slide

  9. © Microsoft Corporation
    Multi-Cloud Platforms
    Azure supports significant third-party multi-cloud platforms used by
    some Java shops
    These platforms supported through partnerships
    Multi-cloud platforms provide uniform higher-level API that allows
    using multiple cloud providers, moving between cloud providers,
    hybrid cloud deployments and moving from on-premise to cloud
    There are guides and solution templates to run key runtimes like
    JBoss EAP and WebSphere Liberty

    View Slide

  10. © Microsoft Corporation
    Containers
    Containers gaining ground as compelling pathway to the cloud
    Containers provide portability, flexibility, scalability, manageability,
    repeatability and reliability
    Azure provides best of breed support for Docker and Kubernetes,
    especially through Azure Kubernetes Service (AKS), Azure Container
    Registry (ACR), and Azure Container Apps (ACA)
    There are guides and solution templates to run key runtimes like
    WebLogic, WebSphere Liberty and Quarkus
    Azure Kubernetes Service Azure Container Apps Azure Container Registry

    View Slide

  11. © Microsoft Corporation
    Managed Services
    Azure provides fully managed services for best of breed application
    building blocks
    Managed services offer ease-of-use, ease-of-management,
    productivity and lower total cost of ownership
    Some managed services Java specific, others more general
    Java bindings for best of breed Microsoft software
    Managed services ever-evolving - options will continue to expand for
    Java developers
    Azure App Service Azure Spring Apps

    View Slide

  12. © Microsoft Corporation
    Azure Services Portfolio
    Cosmos DB
    Key Vault
    Blob Storage Active Directory Service Bus Event Hub Event Grid
    Azure Monitor GitHub Actions
    App Service
    Azure SQL Azure PostgreSQL Azure MySQL

    View Slide

  13. © Microsoft Corporation
    Azure Spring Apps
    Integrating on behalf of
    specific clients via gateway
    Dynamically discovering
    remote dependencies via
    service registry
    Versioning, distributing, and
    refreshing config via config
    server
    Instrument for distributed
    tracing
    Preventing cascading
    failures via circuit breakers
    and bulkheads

    View Slide

  14. © Microsoft Corporation
    Serverless
    Functions serverless platform for Azure
    Functions are event-triggered business logic with on demand
    execution and billing, can be written in Java
    Functions offer time-to-market advantages, scalability, manageability
    and cost reduction
    Logic Apps serverless workflow engine with wide set of Azure service
    integrations
    Guides for key runtimes such as Quarkus
    Azure Functions Logic Apps

    View Slide

  15. © Microsoft Corporation
    Microsoft Build of OpenJDK
    Free, open-source, compatible LTS distribution of OpenJDK
    Mac, Linux, Windows, Docker
    Currently supports Java SE 11+
    Incorporated into Azure, including commercial support

    View Slide

  16. © Microsoft Corporation
    Microsoft and the Java ecosystem
    Microsoft contributes back to the Java ecosystem in many ways
    Commitments will only deepen in the future

    View Slide

  17. © Microsoft Corporation
    Java on Azure Tooling

    View Slide

  18. © Microsoft Corporation
    DevOps Tools Integration
    Azure provides first-class support for DevOps tools popular with Java
    shops such as Maven and Gradle
    GitHub Actions Azure aligned CI tool
    Azure resource integrations powered through plugins support ever-
    evolving space
    Azure SDKs support Java for custom integration and resource
    management needs
    GitHub Actions Azure SDK

    View Slide

  19. © Microsoft Corporation
    IDE Support
    Azure provides deep integration toolkits for popular Java IDEs such as
    IntelliJ
    Microsoft’s own lightweight editor Visual Studio Code has robust
    support for Java
    VS Code Java features include debugging, Maven integration, JUnit
    integration, Spring/Jakarta EE/MicroProfile support, Azure support

    View Slide

  20. © Microsoft Corporation
    Solution Samples

    View Slide

  21. © Microsoft Corporation
    Sample Solution I
    App Gateway

    View Slide

  22. © Microsoft Corporation
    Sample Solution II
    Container Registry
    Kubernetes
    Service
    Cosmos DB
    Active Directory
    Azure Monitor
    GitHub Actions
    App Gateway

    View Slide

  23. © Microsoft Corporation
    Sample Solution III
    App Service
    Traffic Manager
    Service Bus
    Key Vault
    Active Directory
    Cosmos DB

    View Slide

  24. © Microsoft Corporation
    Sample Solution IV
    Azure Spring
    Apps
    Service Bus
    Azure
    PostgreSQL
    Azure SQL
    Breaker
    Dashboard
    Service
    Registry
    API
    Gateway
    Config
    Dashboard
    Distributed
    Tracing
    GitHub Actions

    View Slide

  25. © Microsoft Corporation
    Sample Solution V
    Service Bus
    Cosmos DB
    Blob Storage Functions
    Logic Apps
    Functions
    Functions
    Web App
    Web App

    View Slide

  26. © Microsoft Corporation
    https://github.com/m-reza-rahman/azure-cafe

    View Slide

  27. © Microsoft Corporation
    Summary
    Microsoft very serious about Java
    Many pathways, choices and architectures supported
    Choose from virtual machines, containers, managed services,
    serverless and anything in between
    Full suite of Java tooling for seamless end-to-end, best of breed
    experience
    Actively evolving solutions for rapidly growing customer base
    Deepening commitment to the ecosystem

    View Slide

  28. © Microsoft Corporation
    Resources
    Microsoft Build of OpenJDK
    https://www.microsoft.com/openjdk
    Java on Azure landing page
    https://azure.microsoft.com/resources/developers/java/
    Java on Azure docs
    https://docs.microsoft.com/en-us/java/azure/
    Azure Java code samples
    https://azure.microsoft.com/en-
    us/documentation/samples/?term=java

    View Slide

  29. © Copyright Microsoft Corporation. All rights reserved.

    View Slide