ksdg 4th event: windows azure session
DESCRIPTION
TRANSCRIPT
Windows Azure Platform for Web Developers
小朱Windows Azure MVP
KSDG Session
About Me
• 高雄在地人。
• 奇豐資訊研發經理暨技術顧問。
• Windows Azure 種子講師,著有兩本專書。
• MS MVP (2004-2012), MCP 50+
• 國立中山大學資訊管理碩士專班修業中。
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
Question: What is “cloud”?
Answer: The solution to every IT problem ever conceived!
Types of “cloud” offerings
laaS PaaS SaaS
So what?What can it do for YOU?
Agility
You don’t have to reinvent the wheel
I
APIs
applicationbuilding
blocks
storagebig data
caching
CDN
database
identity
media
messaging
networking
traffic
Pay only for what you use.
global footprint
Cloud Services (PaaS)
• Build infinitely scalable apps and services
• Support rich multi-tier architectures
• Automated application management
servicepackage
servicepackage
servicepackage
Server Rack 1 Server Rack 2
virtual machine virtual machine
Provision Role Instances Deploy App Code Configure Network
virtual machine virtual machine
servicepackage
Windows Azure Datacenter
Provision Role Instances Deploy App Code Configure Network
Windows Azure Datacenter
servicepackage
Provision Role Instances Deploy App Code Configure Network
Network Load Balancer
Windows Azure Datacenter
Network load-balancer configured for traffic
Provision Role Instances Deploy App Code Configure Network
Network Load Balancer
Windows Azure Datacenter
2
Scale
6 92
92Scale
10Scale
cache
Low latency, in-memory distributed cache
Dynamically grow and shrink cache size
High availability support Memcached protocol support
Web Roles
300MB 300MB 300MB 300MB
1.2GB Distributed Cache
distributed cache
24GB Distributed Cache
Web Roles
12GB CacheWorker Role
12GB CacheWorker Role
2
24GB Distributed Cache
Web Roles
12GB CacheWorker Role
12GB CacheWorker Role
4
12GB CacheWorker Role
12GB CacheWorker Role
48GB Distributed Cache
Focus on apps, not infrastructure.
Focus on apps, not infrastructure.
Focus on apps business, not infrastructure.
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
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.
Windows Azure Websites
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.
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.
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.
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.
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.
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.
Why use Windows Azure web sites
Ready for business.
Web scale, world wide.
Best Visual Studio Experience.
Faster to market.
Open and flexible.
Ready for business
Enterprise grade.
Secure with SSL.
Access to other Azure services.
Enterprise gradeHigh availability with SLA on reserve instances.A global network of data centers.Guaranteed SLA and 24/7 support.
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.
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
Web scale, world wide
Load balanced Up to date Easily scale Economical
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.
Load balanced by defaultTraffic automatically load balanced across two or more servers.
Always up to dateRuns on Windows server 2012.Always patched.Always running latest versions of frameworks.
Easily scaleScale up.Scale out.Automatic scaling.
:-)
:-):-) :-)
:-)
:-) :-)
Best Visual Studio Experience
Move existing ASP.NET websites.
Deploy and manage in Visual Studio.
Team foundation services integration.
Existing ASP.NET sitesSupport for ASP.NET 3.5 & 4.5.Any existing ASP.NET site can be moved over
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.
Team foundation services integrationTeam development.Continuous delivery.
Faster to market
Create in minutes.
Use favorite tools.
Flexible development and deployment
Continuous delivery.
Create in minutes
Favorite toolsCommand line tools/power shell.Third party (non Windows) IDE’s (WebStorm, etc.).Visual Studio.WebMatrix.
01010111001010101010001010100011101010100101
01010111001010101010001010100011101010100101
01010111001010101010001010100011101010100101
Flexible development and deployment
Continuous delivery
Note: Replace with rollback screenshot from demo before final presentation
Open and flexible
Choice of languages.
Choice of databases.
Web app gallery. Zero lock in.
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.
Choice of databaseSQL… SQL Azure
MySQL…• ClearDB
NoSQL… Mongo
Web app gallery
Zero lock in
IIS
Web sites for Windows server
Windows Azure web sites
Hosted and private cloud
Public cloud
Web server
Windows Azure Mobile Services
How do you develop for iOS / Android?
Three ways
Native Objective-C JavaPhoneGap HTML/JS HTML/JSMono C# / MonoTouch C# / MonoDroid
Which should I use?
?
What is Windows Azure Mobile Services?
Data
Notifications
Auth
Server Logic
Scheduler
Logging & Diag
Scale
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
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)
Server Logic• Automatic REST API generated for storage• Dynamic Schema on/off• Ability to customize server logic that intercepts
table requests
Script Modules• Supported Modules + Globals• request• console• push.*• tables• mssql• statusCodes• azure• store (pusher, sendgrid, twilio, etc)
Push Notification Lifecycle Overview 1.
2.
3.
iOS
(1)
(2)
(3)
(3)
User Auth
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
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
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
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
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
© 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.