ksdg 4th event: windows azure session

80
Windows Azure Platform for Web Developers 小小 Windows Azure MVP KSDG Session

Upload: jeff-chu

Post on 15-Jan-2015

318 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: KSDG 4th event: Windows Azure Session

Windows Azure Platform for Web Developers

小朱Windows Azure MVP

KSDG Session

Page 2: KSDG 4th event: Windows Azure Session

About Me

• 高雄在地人。

• 奇豐資訊研發經理暨技術顧問。

• Windows Azure 種子講師,著有兩本專書。

• MS MVP (2004-2012), MCP 50+

• 國立中山大學資訊管理碩士專班修業中。

Page 3: KSDG 4th event: Windows Azure Session

What will you learn in this session?• Cloud and You.• Windows Azure Platform Services• Cloud Service• Database• Storage• Application Services

• Develop and Deploy Web site to Windows Azure Website service.

• An overview of Windows Azure Mobile Services

Page 4: KSDG 4th event: Windows Azure Session

Question: What is “cloud”?

Answer: The solution to every IT problem ever conceived!

Page 5: KSDG 4th event: Windows Azure Session

Types of “cloud” offerings

laaS PaaS SaaS

Page 6: KSDG 4th event: Windows Azure Session

So what?What can it do for YOU?

Page 7: KSDG 4th event: Windows Azure Session

Agility

Page 8: KSDG 4th event: Windows Azure Session

You don’t have to reinvent the wheel

I

APIs

Page 9: KSDG 4th event: Windows Azure Session

applicationbuilding

blocks

storagebig data

caching

CDN

database

identity

media

messaging

networking

traffic

Page 10: KSDG 4th event: Windows Azure Session

Pay only for what you use.

Page 11: KSDG 4th event: Windows Azure Session
Page 12: KSDG 4th event: Windows Azure Session

global footprint

Page 13: KSDG 4th event: Windows Azure Session

Cloud Services (PaaS)

• Build infinitely scalable apps and services

• Support rich multi-tier architectures

• Automated application management

Page 14: KSDG 4th event: Windows Azure Session

servicepackage

servicepackage

Page 15: KSDG 4th event: Windows Azure Session

servicepackage

Server Rack 1 Server Rack 2

virtual machine virtual machine

Provision Role Instances Deploy App Code Configure Network

virtual machine virtual machine

Page 16: KSDG 4th event: Windows Azure Session

servicepackage

Windows Azure Datacenter

Provision Role Instances Deploy App Code Configure Network

Page 17: KSDG 4th event: Windows Azure Session

Windows Azure Datacenter

servicepackage

Provision Role Instances Deploy App Code Configure Network

Page 18: KSDG 4th event: Windows Azure Session

Network Load Balancer

Windows Azure Datacenter

Network load-balancer configured for traffic

Provision Role Instances Deploy App Code Configure Network

Page 19: KSDG 4th event: Windows Azure Session

Network Load Balancer

Windows Azure Datacenter

Page 20: KSDG 4th event: Windows Azure Session

2

Scale

6 92

Page 21: KSDG 4th event: Windows Azure Session

92Scale

Page 22: KSDG 4th event: Windows Azure Session

10Scale

Page 23: KSDG 4th event: Windows Azure Session

cache

Low latency, in-memory distributed cache

Dynamically grow and shrink cache size

High availability support Memcached protocol support

Page 24: KSDG 4th event: Windows Azure Session

Web Roles

300MB 300MB 300MB 300MB

1.2GB Distributed Cache

distributed cache

Page 25: KSDG 4th event: Windows Azure Session

24GB Distributed Cache

Web Roles

12GB CacheWorker Role

12GB CacheWorker Role

2

Page 26: KSDG 4th event: Windows Azure Session

24GB Distributed Cache

Web Roles

12GB CacheWorker Role

12GB CacheWorker Role

4

12GB CacheWorker Role

12GB CacheWorker Role

48GB Distributed Cache

Page 27: KSDG 4th event: Windows Azure Session

Focus on apps, not infrastructure.

Page 28: KSDG 4th event: Windows Azure Session

Focus on apps, not infrastructure.

Page 29: KSDG 4th event: Windows Azure Session

Focus on apps business, not infrastructure.

Page 30: KSDG 4th event: Windows Azure Session
Page 31: KSDG 4th event: Windows Azure Session

Global Physical Infrastructureservers / network / datacenters

caching identityservice

bus media cdn big datacommerc

eintegratio

n analytics hpc mobile

compute storage networkingvirtual machines

web sites

cloud services

SQL database

noSQL database

blob storage

connect

virtual network

traffic manager

...

Fram

ew

ork

sS

erv

ices

Fab

ric

Infr

ast

ruct

ure

N Central US, S Central US, N Europe, W Europe, E Asia, SE Asia + 24 Edge CDN Locations

......

......

...

Automated

Managed

Resources

Elastic

Usage Based

Page 32: KSDG 4th event: Windows Azure Session

Web RoleWeb Sites

* Cloud Apps (Web or Worker roles) can integrate with ClearDB’s MySQL as a Service via connection string but not via seamless portal/provisioning workflow

Access to Azure services like Caching, Service Bus, Storage, SQL Azure

Supports ASP.NET, classic ASP, Node.js, PHP

Shared content and configuration

GIT, FTP, Dropbox

Near-instant deployment / scale

Integrated MySQL as a service support

Environments/Staging

Network isolation

Remote desktop access

Elevated permissions

Start-up tasks

Arbitrary frameworks or libraries

Service Model

Virtual Networking Support

*

Capabilities vs.

Page 33: KSDG 4th event: Windows Azure Session

Windows Azure Websites

Page 34: KSDG 4th event: Windows Azure Session

PaaS for the Modern WebA powerful self service platform for developers

A flexible hosting solution for IT

ScalableScale out or up in seconds on a Load Balanced, Always up to date, Global Infrastructure

SecureEnterprise Grade Availability with support

for SSL and AD

Web hosting your way with choice of language, framework, database, and platform

Flexible

WINDOWS AZURE WEBSITES

Windows Azure Websites is a scalable, secure and flexible platform for building powerful web applications to run your business, drive your brand or reach new customers.

Page 35: KSDG 4th event: Windows Azure Session

Modern web PaaS for—

Digital marketing campaigns.

Business applications.

Hosting providers(and private clouds).

Global web presence.

Secure, scalable, and reliable web hosting.

Easy to use self-service portal with a gallery of the worlds most popular web solutions.

Move existing websites quickly and easily.

Connect your web application to existing services in Windows Azure or on-premises.

Deploy and scale your web presence in any region of the world on-demand and pay only for what you use.

Page 36: KSDG 4th event: Windows Azure Session

Modern web PaaS for—

Global web presence.

Digital marketing campaigns.

Business applications.

Hosting providers(and private clouds).

Create engaging customer web applications anywhere and on any device.

Design, develop and deliver experiences that reach your customers with rich media, interactive.

Start from scratch with a modern web framework or use a Web App Gallery of the world’s most popular open source web applications.

Scale up or down on demand for a great digital experience.

Page 37: KSDG 4th event: Windows Azure Session

Modern web PaaS for—

Global web presence.

Digital marketing campaigns.

Business applications.

Hosting providers(and private clouds).

Harness the full power of .NET, Visual Studio and Windows Azure services to build modern business applications.

Use Windows Azure Active Directory to federate identity with your on-premises environment or Office 365 and manage access to applications.

Easily and security connect to on-premises assets.

Extend your applications into Office 365 and Sharepoint.

Page 38: KSDG 4th event: Windows Azure Session

Modern web PaaS for—

Global web presence.

Digital marketing campaigns.

Business applications.

Hosting providers(and private clouds).

Provided as a ‘White Box’ solution for hosters and partners.

Tap into the largest business application ecosystem in the world.

Easy to customize portal experience and powerful billing API.

Delivered as a service on Windows Server based private clouds.

Allows IT to host modern web applications in their private clouds.

Page 39: KSDG 4th event: Windows Azure Session

New features coming at GA• SSL—IP and SNI (reserved only).• 64 bit (reserved only).• Auto-scale (reserved only).• Git clone for existing sites.• Log streaming.• Improved monitoring. • Support for Web Farms.

Page 40: KSDG 4th event: Windows Azure Session

Why use Windows Azure web sites

Ready for business.

Web scale, world wide.

Best Visual Studio Experience.

Faster to market.

Open and flexible.

Page 41: KSDG 4th event: Windows Azure Session

Ready for business

Enterprise grade.

Secure with SSL.

Access to other Azure services.

Page 42: KSDG 4th event: Windows Azure Session

Enterprise gradeHigh availability with SLA on reserve instances.A global network of data centers.Guaranteed SLA and 24/7 support.

Page 43: KSDG 4th event: Windows Azure Session

Secure with SSLIP-based.Sites can have one certificate configured per IP address and port number.

SNI.Server Name Indication (SNI) is an extension to the TLS protocol that indicates what hostname the client is attempting to connect to at the start of the handshaking process. This allows a server to present multiple certificates on the same IP address and port number. Allowing multiple secure (HTTPS) websites (or any other Service over TLS) to be served off the same IP address without requiring all those sites to use the same certificate.

Page 44: KSDG 4th event: Windows Azure Session

Access to other Azure Services

Caching Media Big dataCdn

Analytics

Mobile

Integration

Service bus

Web sitesSQL database noSQL DB

Blob storage

Cloud services

Virtual Machines

Identity

Page 45: KSDG 4th event: Windows Azure Session

Web scale, world wide

Load balanced Up to date Easily scale Economical

Page 46: KSDG 4th event: Windows Azure Session

Robust hosting infrastructureSingle instance has the ability to service 13M hits/dayUp to 10 Reserved Instances per region.10 instances have the ability to service 1,500 requests/second (130M hits \ day) which will cover 99% of Websites in existence today!

Up to 100 sites per geo region per subscription.Available across all Azure geo regions.

Page 47: KSDG 4th event: Windows Azure Session

Load balanced by defaultTraffic automatically load balanced across two or more servers.

Page 48: KSDG 4th event: Windows Azure Session

Always up to dateRuns on Windows server 2012.Always patched.Always running latest versions of frameworks.

Page 49: KSDG 4th event: Windows Azure Session

Easily scaleScale up.Scale out.Automatic scaling.

:-)

:-):-) :-)

:-)

:-) :-)

Page 50: KSDG 4th event: Windows Azure Session

Best Visual Studio Experience

Move existing ASP.NET websites.

Deploy and manage in Visual Studio.

Team foundation services integration.

Page 51: KSDG 4th event: Windows Azure Session

Existing ASP.NET sitesSupport for ASP.NET 3.5 & 4.5.Any existing ASP.NET site can be moved over

Page 52: KSDG 4th event: Windows Azure Session

Deploy and manage in Visual StudioImport your Azure subscription into Visual Studio for deployment and management.Right click from Visual Studio to deploy, manage and configure.

Page 53: KSDG 4th event: Windows Azure Session

Team foundation services integrationTeam development.Continuous delivery.

Page 54: KSDG 4th event: Windows Azure Session

Faster to market

Create in minutes.

Use favorite tools.

Flexible development and deployment

Continuous delivery.

Page 55: KSDG 4th event: Windows Azure Session

Create in minutes

Page 56: KSDG 4th event: Windows Azure Session

Favorite toolsCommand line tools/power shell.Third party (non Windows) IDE’s (WebStorm, etc.).Visual Studio.WebMatrix.

Page 57: KSDG 4th event: Windows Azure Session

01010111001010101010001010100011101010100101

01010111001010101010001010100011101010100101

01010111001010101010001010100011101010100101

Flexible development and deployment

Page 58: KSDG 4th event: Windows Azure Session

Continuous delivery

Note: Replace with rollback screenshot from demo before final presentation

Page 59: KSDG 4th event: Windows Azure Session

Open and flexible

Choice of languages.

Choice of databases.

Web app gallery. Zero lock in.

Page 60: KSDG 4th event: Windows Azure Session

Choice of language

Node.js: 0.6.17, 0.6.20, 0.8.2

PHP: 5.3PHP: 5.4

NET: 3.5, 4.5 Python: 2.7

Bring a stack: FastCGI based

Choice of frameworks and languages.

Page 61: KSDG 4th event: Windows Azure Session

Choice of databaseSQL… SQL Azure

MySQL…• ClearDB

NoSQL… Mongo

Page 62: KSDG 4th event: Windows Azure Session

Web app gallery

Page 63: KSDG 4th event: Windows Azure Session

Zero lock in

IIS

Web sites for Windows server

Windows Azure web sites

Hosted and private cloud

Public cloud

Web server

Page 64: KSDG 4th event: Windows Azure Session

Windows Azure Mobile Services

Page 65: KSDG 4th event: Windows Azure Session

How do you develop for iOS / Android?

Page 66: KSDG 4th event: Windows Azure Session

Three ways

Native Objective-C JavaPhoneGap HTML/JS HTML/JSMono C# / MonoTouch C# / MonoDroid

Page 67: KSDG 4th event: Windows Azure Session

Which should I use?

?

Page 68: KSDG 4th event: Windows Azure Session

What is Windows Azure Mobile Services?

Data

Notifications

Auth

Server Logic

Scheduler

Logging & Diag

Scale

Page 69: KSDG 4th event: Windows Azure Session

Structured Storage• Structured Storage with SQL Database• Same DB – multiple Mobile Services• AppX.Todoitem• AppY.Todoitem• Manage data in• Portal, SQL Portal• SQL Management Studio• REST API• CLI Tools

Page 70: KSDG 4th event: Windows Azure Session

REST API to SQL mappings

JSON Value T-SQL Type

Numeric values (integer, decimal, floating point)

Float

Boolean Bit

DateTime DateTimeOffset(3)

String Nvarchar(max)

Page 71: KSDG 4th event: Windows Azure Session

Server Logic• Automatic REST API generated for storage• Dynamic Schema on/off• Ability to customize server logic that intercepts

table requests

Page 72: KSDG 4th event: Windows Azure Session

Script Modules• Supported Modules + Globals• request• console• push.*• tables• mssql• statusCodes• azure• store (pusher, sendgrid, twilio, etc)

Page 73: KSDG 4th event: Windows Azure Session

Push Notification Lifecycle Overview 1.

2.

3.

iOS

(1)

(2)

(3)

(3)

Page 74: KSDG 4th event: Windows Azure Session

User Auth

Page 75: KSDG 4th event: Windows Azure Session

Auth: Data and Scripts• Table level permissions for each CRUD operation• Everyone• Anyone with the Application Key• Only Authenticated Users• Only Scripts and Admins• More granular control with server side scripts• user.level: {admin, authenticated,

anonymous}• user.userId: id or undefined if not

authenticated

Page 76: KSDG 4th event: Windows Azure Session

SchedulerExecute scripts on a Scheduleby Minutesby Hoursby DaysBy Months

Execute scripts on DemandExamplesPeriodic purge of old dataPoll and aggregate from 3rd party (Twitter, RSS, others)Process/resize imagesSchedule sending push notifications for a given time of day

Page 77: KSDG 4th event: Windows Azure Session

Diagnostics, Logging, and Scale

DiagnosticsAPI callsCPU TimeData Out

Loggingconsole.error(…)console.log(…)

Scale - ComputeScale out instance countScale up VM size

Scale - StorageScale out mobile service tenant to dedicated SQL DBScale up SQL DB

Page 78: KSDG 4th event: Windows Azure Session

Useful Resources• Get a Windows Azure Free Trial Account• http://www.windowsazure.com/

• Tutorials• Find videos, tutorials and more at https://www.windowsazure.com/mobile

• Contact me• Web: http://chrisrisner.com• Twitter: @chrisrisner

• Presentations, demos, hands on labs• Windows Azure Training Kit: Download here

Page 79: KSDG 4th event: Windows Azure Session

msdn

Resources for Developers

http://microsoft.com/msdn

Learning

Microsoft Certification & Training Resources

www.microsoft.com/learning

TechNet

Resources

Sessions on Demand

http://channel9.msdn.com/Events/TechEd

Resources for IT Professionals

http://microsoft.com/technet

Page 80: KSDG 4th event: Windows Azure Session

© 2013 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.