45
ndows Azure Conference 2014 Windows Azure Conference 2014 Balkrishna Heroor CEO Mactores Technologies Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Embed Size (px)

Citation preview

Page 1: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014

Windows Azure Conference 2014

Balkrishna HeroorCEOMactores Technologies

Deploy your Java workloads on Windows Azure

Page 2: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014

Session Objectives

• Deploying Java Workloads on Windows Azure • Understanding Windows Azure Services for Java• How to build scalable systems on Windows Azure

Page 3: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014

Agenda

Introduction to Windows Azure (IaaS vs PaaS)Eclipse Plugin for Windows AzureRealistic Scenario through Demo Inside Azure PaaSQ&A

Page 4: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014Windows Azure Conference 2014

Introduction to Windows AzurePaaS vs IaaS

Page 5: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014

Platform As A Service

• Auto Managed• Easy to Auto Scale• Used by DevOps Teams• It’s a Auto Pilot Mode

• Less Control over Deployment

• Design for PaaS

Page 6: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014

Infrastructure As A Service

• Full Control over Deployment

• Completely Customizable• Used by Enterprise Dev

Teams backing with IT Teams

• Complex to Auto Scale• Move anything to IaaS

Page 7: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 20144

Presentation title ©Copyright 2012 09 / 14 /12

What happens in PaaS Development?

Page 8: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

ServicePackage

ServicePackage

Page 9: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

ServicePackage

Server Rack 1 Server Rack 2

Virtual machine

Virtual machine

Provision Role InstancesDeploy App CodeConfigure Network

Virtual machine

Virtual machine

Page 10: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Datacenter

ServicePackage

Provision Role InstancesDeploy App CodeConfigure Network

Page 11: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Datacenter

ServicePackage

Provision Role InstancesDeploy App CodeConfigure Network

Page 12: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Network Load Balancer

Windows Azure Datacenter

Network load-balancer configured for traffic

Provision Role InstancesDeploy App CodeConfigure Network

Page 13: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Network Load Balancer

Windows Azure Datacenter

Page 14: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014Windows Azure Conference 2014

Eclipse PluginFor PaaS Deployment

Page 15: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014

Eclipse Plugin can be used to

Create a project template for PaaS DeploymentAutomate Deployment ProcessDefine VM Requirements and Deployment ArchitecturePublish packages to Cloud ServicesInclude libraries for Windows Azure Services

Page 16: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014Windows Azure Conference 2014

DemoEclipse Plugin

Page 17: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014Windows Azure Conference 2014

Realistic Scenario MatrixCRM on Windows Azure

Page 18: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014

Database

Messaging QueCachingIdentity

File Storage

Notification Email

Application Logs

Authentication

Application

Application Building Blocks

We Use

Page 19: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014

Database

Apache Active MQ

Messaging Que

MemCache

Caching

LDAP

Identity

File Storage

Notification Email

Application Logs

Apache Shiro + CAS

Authentication

Java Application

Application Building Blocks

Used in Java Applications

Page 20: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014

SQL Azure

Service Bus QueuesCaching Service

Access Control Service

Blob Storage

Notification Hub Send Grid

Table Storage Active Directory

Java Appon Azure

Application Building

Services On Azure

Page 21: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014Windows Azure Conference 2014

Access Control ServiceFor Identity and Authentication

Page 22: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014

Access Control ServiceAccess Control Service

IP = Identity Provider (Active Directory, Google, Live ID, Facebook)

ACS= Access Control Service

RP= Relaying Party(Java Applications)

Page 23: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014

Active Directory Access Control

Active Directory Access Control

ADFS2 . WS-Federation

Your ApplicationIdentity Providers

Bro

wse

r-base

d

WS-Federation

SAML

SWT

Page 24: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014

Authenticating Users from Web and Social Providers

Sign-up and claims enrichment

Windows Azure

Page 25: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014Windows Azure Conference 2014

DemoAuthentication using ACS

Page 26: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014Windows Azure Conference 2014

Storage ServicesFor File Store and Application Logging

Page 27: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014

Blob Storage Concepts

BlobContainerAccount

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

Pages/ Blocks

contoso

PIC01.JPG

Block/Page

Block/Page

PIC02.JPG

images

VID1.AVIvideos

Page 28: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014

Table Storage

EntityTableAccount

contoso

Name =…Email = …

Name =…EMailAdd=

customers

Photo ID =…Date =…

photos

Photo ID =…Date =…

Page 29: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014Windows Azure Conference 2014

DemoFile Store and Logging using Azure Storage

Page 30: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014Windows Azure Conference 2014

Service BusFor Message Queuing and Notification

Page 31: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014

Queues

Load BalancingMultiple receivers compete for messages on the same queue (or subscription). Provides automatic load balancing of work to receivers volunteering for jobs.Observing the queue length allows to determine whether more receivers are required.

Queue

Page 32: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014

Topics

TopicSubSubSub

Message DistributionEach receiver gets its own copy of each message. Subscriptions are independent. Allows for many independent ‘taps’ into a message stream. Subscriber can filter down by interest.

Constrained Message Distribution (Partitioning)Receiver get mutually exclusive slices of the message stream by creating appropriate filter expressions.

Page 33: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014

How Push Notifications Work

Retrieve device handle

PNS(APNS, WNS, GCM)

Store handle in app back-end Send notification to handle

Device notified (even when app is inactive)

Page 34: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014

How Service Bus Notification Hub Works

Retrieve device handle

PNS

Registration with tagsSend notification to handle

Push notification

Page 35: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014Windows Azure Conference 2014

DemoMessage Queues and Notifications using Service Bus

Page 36: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014Windows Azure Conference 2014

Scaling on Windows AzureCaching, Auto scaling, Session Affinity

Page 37: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014

Everything needs to scale

How to Scale on Windows Azure

Page 38: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014

What’s Windows Azure Cache?

• Use spare memory on your VMs as high-performance cache

• Distributed cache cluster co-located with existing roles, use dedicated roles or Azure Cache Service

• Named caches with high availability option and notifications

• Support Memcached protocol

Page 39: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014Windows Azure Conference 2014

DemoEclipse Plugin Configuration and Auto Scaling

Page 40: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014Windows Azure Conference 2014

Inside Azure PaaS

Page 41: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014

Running Tomcat in Windows Azure

Service Instance

Service Instance

Worker Role

RoleEntry Point

Sub-Process

JVM

Tomcatserver.xmlCatalina

Fabric Controller

Load Balancer

TableStorage

BlobStorage

Queue

ServiceBus

Access Control

SQL Database

new Process()

bind port(x)

htt

p:/

/in

stan

ce:x

htt

p:/

/in

stan

ce:y

listen port(x)

http://app:80

getruntimeinfo

index.jsp

Page 42: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014

Anatomy of a Windows Azure instance

Guest VMGuest VMGuest VMHost VMMaintenance OS,Hardware-optimized hypervisor

The Fabric Controller communicates with every server within the Fabric. It manages Windows Azure, monitors every application, decides where new applications should run – optimizing hardware utilization.

Storage – distributed storage systems that are highly consistent, reliable, and scalable.

Compute – instance types: Web Role & Worker Role. Windows Azure applications are built with web role instances, worker role instances, or a combination of both.

Each instance runs on its own VM (virtual machine) and local transient storage; replicated as needed

HTTP/HTTPS

Inside Azure PaaS

Page 43: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014

Links for Reference

Java Dev Center: www.windowsazure.com/en-us/develop/java/

Notification Hub: https://github.com/fsautomata/notificationhubs-rest-java

Eclipse Plugin: http://dl.msopentech.com/eclipse

Log4J Appender: https://github.com/robblackwell/log4j-azure

Page 44: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014Windows Azure Conference 2014

Q&A

My Co-Ordinates [email protected]+91 9820966818

Page 45: Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure

Windows Azure Conference 2014Windows Azure Conference 2014

© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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.