• No results found

Cloud Computing with Windows Azure using your Preferred Technology

N/A
N/A
Protected

Academic year: 2021

Share "Cloud Computing with Windows Azure using your Preferred Technology"

Copied!
30
0
0

Loading.... (view fulltext now)

Full text

(1)

Cloud Computing

with Windows Azure

using your Preferred

Technology

Sumit Chawla

Program Manager Architect

Interoperability Technical Strategy

Microsoft Corporation

(2)

Agenda

 Windows Azure Platform

-

Windows Azure Storage

-

Windows Azure Compute

-

Service Bus and Access Control Service

-

SQL Azure

 Azure Interoperability Demo

 Real-world Customer Demo

 Summary, Questions, Wrap-up

(3)

 Familiar tools, languages, and frameworks

 Provides the choice to build on-premises, cloud, or hybrid solutions

 Integrate with existing assets such as AD and premises applications

 Multiple protocol support including HTTP, REST, SOAP, AtomPub

 Broad investment in open, community-based access to Azure services

 Simple scenarios are simple – complex scenarios are possible

Services hosted in Microsoft’s data centers

 Designed for high availability & scalability

Our Approach to Windows Azure Platform

(4)

Windows Azure Platform

(5)

Windows Azure Storage

 Storage

-

Durable

-

Scalable (capacity and throughput)

-

Highly available

 Rich storage concepts

-

Blobs Provide a simple interface for storing named files along with metadata for the file

-

Tables Provide structured storage. A Table is a set of entities, which contain a set of properties

-

Queues Provide reliable storage and delivery of messages for an application

 Simple and familiar programming interfaces

-

REST (HTTP and HTTPS)

-

.NET accessible

(6)

Blob Features and Functions

 Store large objects

(currently up to 50GB)

 Associate metadata

with blob

- Metadata is <name,

value> pairs, up to 8KB

per blob

- Set/Get with or separate

from blob data bits

 Standard REST

Interface

- PutBlob

- GetBlob

- DeleteBlob

Blob Container

Account

sally

pictures

IMG001.JPG

IMG002.JPG

movies MOV1.AVI

(7)

Windows Azure Tables

 Provides structured storage

-

Massively scalable tables

- Billions of entities (rows) and TBs of data

- Automatically scales across servers as traffic grows

-

Highly Available

- Anywhere at Anytime access to your data

-

Durable

- Data is replicated at least 3 times

 Familiar and easy to use

programming interfaces

-

ADO.NET Data Services – .NET 3.5 SP1

- .NET classes and LINQ

- REST - with any platform or language

Entity Table

Account

sally

users

Name =…

Email = … Name =…

Email = …

photo index

Photo ID =…

Date =…

Photo ID =…

Date =…

(8)

Windows Azure Queues

 Provide reliable message delivery

-

Simple, asynchronous work dispatch

-

Programming semantics ensure that a message can be processed at least once

 Queues are highly available,

durable and performance efficient

 Access is provided via REST

Message Queue

Account

sally

thumbnail jobs

128x128, http://…

256x256, http://…

photo processing

jobs

http://…

http://…

(9)

PHP Runtime

Windows Azure SDK for PHP

Logical architecture

Overview

- Enables PHP developers to take advantage of the Microsoft Cloud Services Platform – Windows Azure.

- Open source project being

contributed to Zend Framework (http://framework.zend.com)

Features

- PHP classes for Windows Azure Blobs, Tables & Queues (for CRUD operations)

- Helper Classes for HTTP transport, AuhN/AuthZ, REST & Error

Management

- Manageability, Instrumentation &

Logging support

Project site:

- http://phpazure.codeplex.com/

Deployment scenarios

Windows Azure SDK for PHP

Blobs, Tables, Queues

Manageability, Instrumentation,

logging

Helper for Http, Auth, REST, Error Your PHP application

REST

PHP Runtime

REST

REST

Windows Azure SDK for PHP

Blobs, Tables, Queues

Manageability, Instrumentation,

logging

Helper for Http, Auth, REST, Error

Your PHP application

Windows Azure SDK for PHP

Blobs, Tables, Queues

Manageability, Instrumentation,

logging

Helper for Http, Auth, REST, Error

Your PHP application

(10)

Windows Azure SDK for Java

Logical architecture

Overview

- Enables Java developers to easily leverage Windows Azure Storage service in their applications

- The Windows Azure SDK for Java gives developers a speed dial to leverage Windows Azure Storage services.

- This SDK is used in the Eclipse Tools for Azure project to develop the

Azure Explorer feature.

 Features

- Java classes for Windows Azure

- Blobs, Tables & Queues

- Create, Read, Update, Delete operations

Project site:

- http://www.windowsazure4j.com

Deployment scenarios

Windows Azure SDK for Java

Blobs Tables Queues

Your Java Application

REST

Java Runtime

REST

Java Runtime

Windows Azure SDK for Java

Blobs Tables Queues

Java Web Application

Windows Azure SDK for Java

Blobs Tables Queues

Java Desktop Application

(11)

Azure Compute

 Web role

-

Web farm that handles request from the internet

-

Push work items onto storage queue

 Worker role

-

Process work item off storage queue

Public internet

Web role

Cloud storage (tables, blobs, queues)

Worker role

Load balancer

n m

Q

Develop

Debug in Development

Fabric

Deploy to Windows Azure

(12)

Windows Azure Tooling for Eclipse

Plug-in leverages PDT framework

Provides first class PHP web application targeting Microsoft Cloud Platform -Windows Azure

Includes All the Plumbing abstractions for PHP development (PHP Stack, SQL Support, Windows Azure Storage support)

Development Sandbox (Simulate cloud on your laptop)

One Click deployment to Cloud

Deployment and runtime environment Eclipse Galileo

Windows Azure Explorer Windows Azure Tools for

Eclipse

Development and Test environment: Windows 7, Vista, Server 2008

PDT 2.1/Eclipse PHP Java Runtime

Windows Azure SDK

IIS 7.0 & SQL Server Express .NET Framework 3.5 SP1

(13)

Service Bus and Access Control Service

(14)

Goals of these community-based projects

AppFabric SDK for Java www.jdotnetservices.com

AppFabric SDK for PHP

www.dotnetservicesphp.com

AppFabric SDK for Ruby www.dotnetservicesruby.com

Contributors: Persistent Systems, Schakra Inc, Thoughtworks, and Microsoft

Contributors: Persistent Inc, Microsoft

Using ACS and Service Bus with PHP, Java,

and Ruby

(15)

SQL Azure

 Familiar SQL Server relational database model

 Support for existing APIs and tools

 Built for the cloud with high availability and scale

 Interoperable with PHP, Ruby, and Java

Your Apps

(TDS)

SQL Data Services TDS Endpoint

ADO.NET Entity Framework

SQL Server Drivers

PHP SDK for ADO.NET Data Services

PHP SQL Driver

(16)

Demo

Developing for the Windows Azure Platform

in PHP using the Eclipse IDE

Three New Projects featured:

1. ACS and Service Bus SDK for PHP

2. Bing 404 Error Toolkit for PHP

3. SQL CRUD Application Generator

(17)

Tim Wise

eCommerce Services Manager

Domino’s Pizza LLC

&

(18)

The Problem – Serious Spikes

(19)

Web SOA Stores Stores

Stores

RDB

VPN

Web SOA

Java / Tomcat Solaris

Oracle

VB6/C#

Win2000/2003

Cisco

Current Architecture

(20)

Web SOA Stores Stores

Stores

RDB

VPN

Web SOA

Web SOA Stores

Stores Stores

RDB

VPN

Web SOA

Co-Deployed Architecture

(21)

Web SOA

Web SOA

Stores Stores

Stores

RDB

VPN

Web SOA

Web SOA

Web SOA Stores

Stores Stores

RDB

VPN

Web SOA

Web SOA

Web SOA

Migrate (Relatively) Easily

Azure Runs Java

(22)

Web SOA Stores Stores

Stores

RDB

VPN

Web SOA

Connection Issues

Web SOA Stores

Stores Stores

RDB

VPN

Web SOA

.Net Svc Bus

No Hardware Allowed .Net Svc Bus

(23)

Web SOA Stores Stores

Stores

RDB

Web SOA

Data Issues

Web SOA Stores

Stores Stores

RDB

VPN

Web SOA

.Net Svc Bus

Hot Spot Sharding?

Key-Value Storage

Azure Storage

Azure Storage

Key-Value Storage

(24)

Key-Value Storage

Azure Storage

Web SOA Stores

Stores Stores

Web SOA

Pain in the Cloud

Web SOA Stores

Stores Stores VPN

Web SOA

.Net Svc Bus

Connectivity Differences

Storage Differences

Logging Differences

(25)

Solution: Abstraction Layer

Application

Abstraction Layer

Azure Technology

Domino’s Technology

Domino’s Technology

Domino’s Technology

(26)

Lessons Learned

 Java runs in Azure.

 .Net Bus provides VPN like connectivity.

 Azure storage technologies are easily abstracted.

 Logging and debugging in the cloud takes special focus.

(27)

Summary

 Windows Azure Platform is designed for Interoperability from the ground- up

 Windows Azure Tools for Eclipse

 SDKS for

-

Windows Azure Storage in PHP & Java

-

PHP SDK for ADO.NET Data Services

-

PHP, Java, Ruby SDKs for Access Control and Service Bus

 Samples & Tools

-

CRUD Application Wizard for PHP (Targets SQL Server, SQL Azure, and Windows Azure Tables)

-

Bing 404 Error Toolkit for PHP Developers

 Dominos Pizza: Real world Java Application running on Windows Azure

 For more about Windows Azure Interoperability

Go to: http://www.microsoft.com/windowsazure/interop

(28)

References

 More Information

-

Windows Azure Platform

http://www.azure.comhttp://www.microsoft.

http://www.microsoft.com/windowsazure/interop Interoperability @ Microsoft

http://www.microsoft.com/interoperability

-

Interoperability Technical Bridges

http://www.interoperabilitybridges.com

-

Interoperability Team Blog

http://blogs.msdn.com/interoperability

 Contact

-

Sumit Chawla

[email protected]

-

Tim Wise

[email protected]

(29)

Toolkit for PHP with ADO.NET Data Services

A bridge between PHP and .NET using RESTful services

 Overview

-

Enables PHP developers to easily use RESTful services to consume data

coming from ADO.NET Data Services

-

ADO.NET Data Services* is a

technology used to expose a wide range of data sources through a RESTful service interface

 Features

-

Code generator (PHPDataSvcUtil) - Reads Data Services metadata

- Creates PHP classes (proxy)

-

Rich set of Query & Data manipulations methods

- easier use of data from the Data Service

 Project site:

-

phpdataservices.codeplex.com

* ADO.NET Data Services: formerly known as Project “Astoria”.

More info at: http://msdn.microsoft.com/en-us/data/bb931106.aspx

Browser HTML

Web application

Logical architecture

Web Server PHP Runtime

Your PHP Code

PHP Proxy Classes

Code generator (PHPDataSvcUtil)

Reads Data Service schema

Creates PHP classes (proxy) using XSLT

ADO.NET Data Services

---- ---- ----

---- ---- ----

---- ---- ----

Design Time

Design Time

http

---- ---- ----

Data entities

Toolkit Libraries

REST

(30)

PHP CRUD Application Generator

Logical architecture

Browser HTML

Web application

Web Server PHP Runtime

Your PHP Code

CRUD Php Classes + CSS

Code generator (Windows Application)

Reads data table structure Generates CRUD PHP classes

Design Time

Design Time

http

SQL Server, SQL Azure, or Azure Storage

SQL

Project site: sqlcrudphpwizard.codeplex.com

References

Related documents

We now create a common model object using the hydro turbine block definition and the model parameters as shown in Figure 5.5. Running the “Calculate initial conditions” command

Despite this, the two-year budget passed by the legislature in the spring included several health care initiatives, including Medicaid eligibility simplification for chil- dren,

● Managing Azure with the Azure portal ● Managing Azure with Windows PowerShell ● Overview of Azure Resource Manager ● Azure management services.. Manage Azure identities

• Large scale data partitioning and storage – Windows Azure Blob &amp; Table Storage. • Federated authentication and authorization – Windows Azure platform

customer condenser and the unit 267 Welded condenser inlet/outlet connection sleeves Allows welding of customer connections to the unit 30WG 020-090 61WG 020-090

Students will learn how to deploy the Windows Azure Pack and how to provision services using the Windows Azure Pack for Windows

Sogeti suggested that Wellmark host the data on Windows Azure, which serves as the Microsoft cloud services development, hosting, and management environment.. Windows Azure

Hybrid of comprehensive learning particle swarm optimization and SQP algorithm for large scale economic load dispatch optimization of power system.. Science China