36

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

Embed Size (px)

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

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

Robert MacLeanwww.sadev.co.za BBD Software

Get Ready For The Cloud

TRACK: Cloud & ALM

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

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

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

(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

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

5

Cloud Terms

Blob StorageWeb RolesWorker Roles

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

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?

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

7

The General Theme

THINK IN LEGOLoosely CoupledSingle Responsibility AbstractionVery Light with Data

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

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

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

9

What’s in my toolbox?

Do you know CodePlex?ZeroMQ

http://zeromq.codeplex.com

AutoMapperhttp://automapper.codeplex.com

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

10

Start with data

Structured & Unstructured

LINQ

2 SQL

Façade

WCF

Data Access O

perations

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

11

demo

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

12

How does this cloud?

Structured & Unstructured

LINQ

2 SQL

Data Access O

perations + Façade

LINQ

2 SQL

Structured

Blob Storage

WCF

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

13

Overkill for crud?

Structured & Unstructured

LINQ

2 SQL

oData*

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

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

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

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

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

16

Features we want in processing

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

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

17

Structure of our processing

Service

Service Service

Service

Data

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

18

demo

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

19

How does this cloud?

Service

Service Service

Service

Data

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

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

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

21

Worker Role?

App Queue Worker Role Service

Data

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

22

demo

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

23

How does Worker Role Cloud?

App Queue Worker Role Service

Data

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

24

Regulation & Compliance

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

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

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)

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

26

Why use WIF?

App

Security

App

Active Directory

App

WIF

AD, OAuth, etc…

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

27

demo

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

28

How does this cloud?

MVC App

WIF

AD, OAuth, etc…

Just a web role

Just a web role

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

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

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

30

The General Theme… again

THINK IN LEGOLoosely CoupledSingle Responsibility AbstractionVery Light with Data

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

31

Windows Azure 30 Day Pass

http://windowsazurepass.com/

Country:South Africa

Promo Code:DEVDAYS11JHB

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

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

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

33

Keep in Touch

facebook.com/msdevsa

@msdevsa

http://blogs.msdn.com/southafrica

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

34

Don’t forget the Xbox Kinect show-down

after sessions this evening!

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

35

DevDays 2011 Sponsors

PLATINUM SPONSORwww.bbd.co.za

SILVER SPONSORwww.dvt.co.za

SILVER SPONSORwww.ctutraining.co.za

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

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