Transcript Document

Azure Quick Hits
Building Apps for the cloud
Tom Fuller
Windows Azure Technology Specialist – Southeast US
http://developertofu.com
Tw: @DeveloperTofu
Lutful Khandker
Windows Azure Technical Evangelist
WHO IS TOM FULLER?
1. Software Nerd, Math Nerd,
Basically a Nerd
2. Spent 5 years as an
Architect with Publix,
Going on 6 years with
MSFT
3. Husband of 12 years and
father of 2 girls (6/3) and 1
boy (3 months)
4. Was a huge SOA nerd and
is a recovering SOAPaholic
5. Biggest weekly challenge…
coaching my daughters 6
and under girls soccer
team
6. Makes a living loving the
cloud!
Agenda
• Azure Intro & Cloud Design
• Building Web Sites
• Demonstrating a Real Mobile App
• Building Databases
Give me a break!
EVOLVING HOSTING OPTIONS
The vast majority of existing applications live on on-premise or co-lo based infrastructure. As a
result, any viable cloud offering must compliment and not compete with these existing
investments.
 47% of New Apps are onprem
 88% of Sockets in corp.
datacenter
 98% of large Orgs have
some degree of
virtualization
 20% of Orgs have Private
Clouds
 Majority of cloud growth is
IaaS
 Majority of new cloud apps
are PaaS
 Most efficient model for
cloud development
 ~16% of new Apps qualify
as SaaS
 Business model, not
hosting model. There are
on-premise SaaS apps.
What does it mean?
Cloud Oriented Architecture
4 Cloud Oriented Design Principles
Resiliency
Elasticity
Portability
Efficiency
Design Principle #1 : Resiliency
• Short Lived Transient Errors
• Retry Logic
• Fail Over
• Long Lived Outages
• Circuit Breaker Pattern
• Knowledge is Everything
• Platform seams are key
• High availability
configurations
RECOMMENDED READING! – “Release It! Design and Deploy Production-Ready Software” by Michael T.
Nygard
Average Usage
Compute
Time
Average Usage
Time
Compute
• Stateful design is poison
• Async architectures are the
antidote
• Understand your app
• Trigger points
• Usage patterns
• Capacity planning
• Understand your platform
• Auto scale?
• Instrumentation data?
Compute
Design Principle #2 : ELASTICITY
Average Usage
Time
Design Principle #3 : Portability
• Running your workload where
it needs to run
• Data privacy and/or
sovereignty
• The Dreaded Vendor Lock-In
• Proprietary features
• Use Factory patterns
• Avoid the “sticky factor”
Design Principle #4 : EFFICIENCY
• To all my developer friends,
“no more free lunch”
• Cost controlling measures
exist everywhere
• Batching
• Compression
• Parking
• You pay for the whole core
not X % of it!
Choosing the Right hosting
model
Building Web Sites
Web Site Hosting Scenarios
Web Sites (PaaS ++)
Virtual Machines (IaaS)
Modern web apps
Enterprise server applications
Perfect if your app consists of client side markup
and scripting, server side scripting and a
database. Powerful capability to scale out and up
as needed.
Run your existing enterprise applications in the cloud,
such as SQL Server, SharePoint Server or Active
Directory.
Continuous development
Porting existing line of business apps
Deploy directly from your source code
repository, using Git or Team Foundation Service.
Choose an image from the library or upload your
own VHD.
Popular open source apps
Windows or Linux operating system
Launch a professional looking site with a few
clicks using apps like WordPress, Joomla!, Drupal,
DotNetNuke and Umbraco
Support for Windows Server, along with community
and commercial versions of Linux. Connect virtual
machines with cloud services to take full advantage
of PaaS services.
Key Advantages of a Web Role
• Vs. Azure Web Sites
• You can access the machine
• More options to configure the
size
• Manage versions using
traditional lifecycle
• Vs. Azure VMs
• You get simplified deployment
• You can optionally use OS
servicing
• You build for stateless scale by
default!
What’s New?
• VS 2013 + SDK 2.2
• Simple login to Azure
• Remote Debugger
• Edit & Continue (IISExpress)
• Auto-Scaling
• Management Client (for Web
Sites)
• Flexible options
• 32 bit mode
• Classic ASP
• Custom SSL
Some new SDK 2.2 goodness and
Auto-Scale baby!
Demo
walkthrough
A Real Mobile App
{lutful is a rock star}
Demo
Designing and developing
Databases
So much stays the same
• Normalization of your data model … SAME
• T-SQL across all versions is mostly the … SAME
• Query performance and indexing and plan
maintenance … SAME
• Operational necessities … SAME
• Permission management … SAME
But then comes the Rub
• For mult-tenant
• New Development Project
• Known constraints
• 150 GB
• Throttling
• SQL Auth Only
• Required cluster index
• Server Management
• Feature delta
• For Virtual Machines
• I/O performance delta
• Limited scale up options
• No dedicated storage
sub-system
• HA + Azure HA
• Best practice
configurations (like
TempDB) changes
What’s New?
• SQL Database automated export
options exist
• SQL Database Premium Edition
• Large Mem Virtual Machines
• 56 GB RAM
• Detailed Guidance on setup
Question Time!
Summary