azure quick hits building apps for the cloud
DESCRIPTION
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?. Software Nerd, Math Nerd, Basically a Nerd - PowerPoint PPT PresentationTRANSCRIPT
Azure Quick HitsBuilding Apps for the cloud
Tom FullerWindows Azure Technology Specialist – Southeast US
http://developertofu.comTw: @DeveloperTofu
Lutful KhandkerWindows Azure Technical Evangelist
WHO IS TOM FULLER?1. Software Nerd, Math Nerd,
Basically a Nerd2. 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!To The
Cloud!
To The Cloud!
PaaS SaaSPhysical Virtual IaaS 47% of New Apps are on-
prem 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.
Legacy Past Present Future
EVOLVING HOSTING OPTIONSThe 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.
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
Design Principle #2 : ELASTICITY• 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?
Com
pute
Time
“Predictable Bursting“
Average Usage
Com
pute
Time
“Unpredictable Bursting“
Average Usage
Average Usage
Com
pute
Time
“Growing Fast“
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 modelBuilding Web Sites
Web Site Hosting Scenarios
Popular open source appsLaunch a professional looking site with a few clicks using apps like WordPress, Joomla!, Drupal, DotNetNuke and Umbraco
Continuous developmentDeploy directly from your source code repository, using Git or Team Foundation Service.
Modern web appsPerfect 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.
Web Sites (PaaS ++)
Apps that require advanced administrationCloud-based applications that require admin access, remote desktop access or elevated permissions
Cloud Services (PaaS)Multi-tier applicationsCloud-based applications that separate application logic into multiple tiers (i.e. caching middle tier, asynchronous background processes like order processing) using both Web and Worker Roles
Apps that require advanced networkingCloud-based applications that require network isolation for use with Windows Azure Connect or Windows Azure Virtual Network
Porting existing line of business appsChoose an image from the library or upload your own VHD.
Enterprise server applicationsRun your existing enterprise applications in the cloud, such as SQL Server, SharePoint Server or Active Directory.
Windows or Linux operating system 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.
Virtual Machines (IaaS)
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
walkthroughA Real Mobile App
{lutful is a rock star}Demo
Designing and developingDatabases
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