DevDays 2011- Let’s get ready for the cloud: Building your applications so they are cloud ready

Preview:

DESCRIPTION

More details: http://www.sadev.co.za/content/devdays-south-africa-2011-my-talksIn a world where you hear people talking about the cloud, here are some guidelines on how to start building and structuring applications that will be easy to migrate to the Azure platform.

Citation preview

Robert MacLeanwww.sadev.co.za BBD Software

Get Ready For The Cloud

TRACK: Cloud & ALM

3

AgendaGet ready for the cloud

The cloud is important!We do not have supported Azure here yet

All about planning & current applicationsThe Azure talk with no Azure bits

Why should you care about this talk?Pure in houseConsume the cloudHybridsPure cloud

(On-Premises)

Infrastructure(as a Service)

Platform(as a Service)

Storage

Servers

Networking

O/S

Middleware

Virtualization

Data

Applications

Runtime

Storage

Servers

Networking

O/S

Middleware

Virtualization

Data

Applications

Runtime

You m

anag

e

Man

ag

ed b

y v

en

dor

Man

ag

ed b

y

vendor

You m

anag

e

You m

anag

e

Storage

Servers

Networking

O/S

Middleware

Virtualization

Applications

Runtime

Data

Software(as a Service)

Man

ag

ed b

y v

en

dor

Storage

Servers

Networking

O/S

Middleware

Virtualization

Applications

Runtime

Data

5

Cloud Terms

Blob StorageWeb RolesWorker Roles

6

Virtualisation!

Virtualise todayLimited big hardware vs. lot’s of small cheap hardwareLearn what is a problem in virtualisation

VM Hosting (IaaS)Create a Hyper-V imageUpload imageHow do people access that image?What about state?

7

The General Theme

THINK IN LEGOLoosely CoupledSingle Responsibility AbstractionVery Light with Data

8

Our Demo Story For Today

NASA gets ~3 500 applications for ~15 spotsDisqualifies ~700 for Medical, Educational, Professional etc…

Just a simple: Submit data > Parse > Analyse

Source: http://www.astronautforhire.com/2008/09/nasas-2009-astronaut-class-selection.html

9

What’s in my toolbox?

Do you know CodePlex?ZeroMQ

http://zeromq.codeplex.com

AutoMapperhttp://automapper.codeplex.com

10

Start with data

Structured & Unstructured

LINQ

2 SQL

Façade

WCF

Data Access O

perations

11

demo

12

How does this cloud?

Structured & Unstructured

LINQ

2 SQL

Data Access O

perations + Façade

LINQ

2 SQL

Structured

Blob Storage

WCF

13

Overkill for crud?

Structured & Unstructured

LINQ

2 SQL

oData*

14

Data Design Proven Practises

Choose where appropriateRelational data: SQL Server ≡ SQL AzureBlobs: File system ≡ Blob storageQueues: MSMQ ≡ AppFabric 2.0

Potential pain areasLimited Data TypesKeep Data Size, Growth & Transaction Volume in min

Reduce logic in SQL databases

15

Connectivity Design Proven Practises

Interface (contract) based designUses standardsAbstract the connectivity layer away from the logic layer* non marketing way to tell you to use WCF

16

Features we want in processing

ASAP Asynchronicity Light with data Great WCF, REST & oData supportPersistableMonitoring * Caching *

17

Structure of our processing

Service

Service Service

Service

Data

18

demo

19

How does this cloud?

Service

Service Service

Service

Data

20

Application Design Proven Practises

Lego againSmall pieces that do a job (function)Can operate independently

Worker rolesGreat for processing, better than web rolesCan run forever! …. Not really Expect the “Chaos Monkey” sometimes

21

Worker Role?

App Queue Worker Role Service

Data

22

demo

23

How does Worker Role Cloud?

App Queue Worker Role Service

Data

24

Regulation & Compliance

Where is your data stored?Personal info can’t leave the country*Store locally, process in the cloud

25

Security Design Proven Practises

Security Golden Rule: Don’t roll your own You should prefer an external identify provider for AuthN & AuthZ Development Options

Today: WIF “Tomorrow”: AppFabric Access Control 2.0 (Labs)

26

Why use WIF?

App

Security

App

Active Directory

App

WIF

AD, OAuth, etc…

27

demo

28

How does this cloud?

MVC App

WIF

AD, OAuth, etc…

Just a web role

Just a web role

29

Deployment Design Proven Practises

Plan, plan, planWork on DNS and control that DNSUse IPv6 for forward thinking with Azure Connect

Packaging and Configuration is KEYPackage Application Binaries and Configuration Separately

Automate your deploymentsBuild components exist

30

The General Theme… again

THINK IN LEGOLoosely CoupledSingle Responsibility AbstractionVery Light with Data

31

Windows Azure 30 Day Pass

http://windowsazurepass.com/

Country:South Africa

Promo Code:DEVDAYS11JHB

32

Grab the Azure Pass: DevDays11JHB

Slides + Demos up @ www.sadev.co.za

Plan, plan & plan some more

Calls to Action

Come to my talk in track 2 next. “Every cloud has a SilverLight” - @jvanrhyn

33

Keep in Touch

facebook.com/msdevsa

@msdevsa

http://blogs.msdn.com/southafrica

34

Don’t forget the Xbox Kinect show-down

after sessions this evening!

35

DevDays 2011 Sponsors

PLATINUM SPONSORwww.bbd.co.za

SILVER SPONSORwww.dvt.co.za

SILVER SPONSORwww.ctutraining.co.za

© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.