View
224
Download
5
Category
Tags:
Preview:
Citation preview
Windows Azure Conference 2014
Windows Azure Conference 2014
Balkrishna HeroorCEOMactores Technologies
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
Windows Azure Conference 2014
Agenda
Introduction to Windows Azure (IaaS vs PaaS)Eclipse Plugin for Windows AzureRealistic Scenario through Demo Inside Azure PaaSQ&A
Windows Azure Conference 2014Windows Azure Conference 2014
Introduction to Windows AzurePaaS vs IaaS
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
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
Windows Azure Conference 20144
Presentation title ©Copyright 2012 09 / 14 /12
What happens in PaaS Development?
ServicePackage
ServicePackage
ServicePackage
Server Rack 1 Server Rack 2
Virtual machine
Virtual machine
Provision Role InstancesDeploy App CodeConfigure Network
Virtual machine
Virtual machine
Windows Azure Datacenter
ServicePackage
Provision Role InstancesDeploy App CodeConfigure Network
Windows Azure Datacenter
ServicePackage
Provision Role InstancesDeploy App CodeConfigure Network
Network Load Balancer
Windows Azure Datacenter
Network load-balancer configured for traffic
Provision Role InstancesDeploy App CodeConfigure Network
Network Load Balancer
Windows Azure Datacenter
Windows Azure Conference 2014Windows Azure Conference 2014
Eclipse PluginFor PaaS Deployment
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
Windows Azure Conference 2014Windows Azure Conference 2014
DemoEclipse Plugin
Windows Azure Conference 2014Windows Azure Conference 2014
Realistic Scenario MatrixCRM on Windows Azure
Windows Azure Conference 2014
Database
Messaging QueCachingIdentity
File Storage
Notification Email
Application Logs
Authentication
Application
Application Building Blocks
We Use
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
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
Windows Azure Conference 2014Windows Azure Conference 2014
Access Control ServiceFor Identity and Authentication
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)
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
Windows Azure Conference 2014
Authenticating Users from Web and Social Providers
Sign-up and claims enrichment
Windows Azure
Windows Azure Conference 2014Windows Azure Conference 2014
DemoAuthentication using ACS
Windows Azure Conference 2014Windows Azure Conference 2014
Storage ServicesFor File Store and Application Logging
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
Windows Azure Conference 2014
Table Storage
EntityTableAccount
contoso
Name =…Email = …
Name =…EMailAdd=
customers
Photo ID =…Date =…
photos
Photo ID =…Date =…
Windows Azure Conference 2014Windows Azure Conference 2014
DemoFile Store and Logging using Azure Storage
Windows Azure Conference 2014Windows Azure Conference 2014
Service BusFor Message Queuing and Notification
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
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.
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)
Windows Azure Conference 2014
How Service Bus Notification Hub Works
Retrieve device handle
PNS
Registration with tagsSend notification to handle
Push notification
Windows Azure Conference 2014Windows Azure Conference 2014
DemoMessage Queues and Notifications using Service Bus
Windows Azure Conference 2014Windows Azure Conference 2014
Scaling on Windows AzureCaching, Auto scaling, Session Affinity
Windows Azure Conference 2014
Everything needs to scale
How to Scale 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
Windows Azure Conference 2014Windows Azure Conference 2014
DemoEclipse Plugin Configuration and Auto Scaling
Windows Azure Conference 2014Windows Azure Conference 2014
Inside Azure PaaS
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
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
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
Windows Azure Conference 2014Windows Azure Conference 2014
Q&A
My Co-Ordinates balkrishna@mactores.com+91 9820966818
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.
Recommended