Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Architecting Windows Azure

on

  • 1,688 views

Practical guide to Windows Azure Platform

Practical guide to Windows Azure Platform

Statistics

Views

Total Views
1,688
Views on SlideShare
1,596
Embed Views
92

Actions

Likes
0
Downloads
36
Comments
0

2 Embeds 92

http://sergejus.blogas.lt 88
http://coderwall.com 4

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Architecting Windows Azure Architecting Windows Azure Presentation Transcript

  • Architecting Cloud-based Applications for Windows Azure Platform
    SergejusBarinovas
    Architect, Adform
  • Quiz
    Who has heard about Windows Azure Platform?
  • Quiz
    Who has attended anyWindows Azure presentation?
  • Quiz
    What parts does Windows Azure Platform consist of?
  • Answer
    Windows Azure Compute
    Web Role
    Worker Role
    Windows Azure Storage
    Blob Storage
    Drive Storage
    Table Storage
    Message Queue Storage
    SQL Azure
    Project Huston
    Windows Azure AppFabric Client Access
    Windows Azure AppFabric Service Bus
    Project Dallas
    Project Sydney
  • Topic Background
    Who has attended anyWindows Azure presentation?
  • Topic Background
    Who knows how, when and what part of Windows Azure to use?
  • Topic Background
    Why?
  • Topic Background
    Lack of practical presentations!
    Captain Obvious
  • Disclaimer
    This is not a marketing bu presentation
  • Disclaimer
    This is not an overview of Windows Azure Platform
  • Disclaimer
    This is a practical design session how to leverage Windows Azure
  • Architecting for the cloud
  • Our Current Mindset
    We have enough hardware resources
    Powerful servers
    Fast hard drives
  • Our Current Mindset
    Number of servers is more or less fixed
    Failures are very unlike
    All maintenance and new hardware is planned in advance
  • Our Current Mindset
    We have reliable network connection
    Connection time-out is a BUG, not a FEATURE
  • Cloud Mindset
    Only mid-range hardware is available and it can FAIL
    No powerful servers
    No fast hard drives
  • Cloud Mindset
    Number of servers is dynamic (unknown)
    Implies scale-out architecture
  • Cloud Mindset
    Network connection will always FAIL
    Every operation should have retries
  • Architecting pingy
  • What’s Pingy?
    Multi-tenant SaaS, that enables monitoring availability and response times of the external Web sites
  • Pingy Subscriptions
    Personal
    Free of charge
    Monitoring up-to 2 web sites
    Facebook, LiveID and Google authentication
  • Pingy Subscriptions
    Professional
    49€/year
    Custom branding
    Monitoring up-to 20 web sites
    Facebook, LiveIDand Google authentication
  • Pingy Subscriptions
    Enterprise
    99€/year
    Custom branding
    Monitoring up-to 200 web sites
    Active Directory authentication
  • Architectural Goals
    Scalability
    Availability
    Performance
  • Design Iteration #1
    Web site
    Data store
    External web sites
    Ping service
    Login()
    Save(Url, Period)
    GetUrls(Period)
    Ping(Url)
    Save(Results)
    GetStatistics()
  • Design Iteration #1: On-Premise Architecture
    Web site
    Stateless ASP.NET application within IIS
    Ping service
    .NET executable within Windows service
    Data store
    SQL Server
  • Design Iteration #1: Windows Azure Architecture
    Website
    Stateless ASP.NET appwithinWeb Role
    Pingservice
    .NET executablewithinWorker Role
    Data store
    SQL Azure / Windows AzureTableStorage
  • Windows Azure Roles
    Worker Role
    Windows Server 2008 x64
    .NET Framework 3.5 SP1 and 4.0
    Native Code Full Trust
    Web Role
    Everything Worker Role has
    IIS 7
    ASP.NET (3.5 SP1 and 4.0)
    Fast CGI
    VM Role*
    1 Role = 1..N VM Instances
  • VM Instances
    Automatically high available and fault-tolerant
    OS updates and patches are applied automatically
    Scale-up VM instance
  • SQL Azure
    Relational database as a service
    A subset of full SQL Server 2008
    Automatically high available and fault-tolerant
    Implements same TDS protocol as a regular SQL does
    Existing tools just works
    Editions
    Web (up-to 5 GB)
    Business (up-to 50 GB)
  • Windows Azure Table Storage
    Provide massively scalable structured storage
    No schema stored for a table (NoSQL)
    Mandatory Properties for every entity
    PartitionKey & RowKey
    Timestamp
    Automatic partitioning by PartitionKey
  • Blob storage
    Design Iteration #1: Custom Branding
    Web site
    Data store
    Ping service
    External web sites
    Login()
    Upload(Theme)
    Save(Files)
    ?
  • Design Iteration #1: Custom Branding
    http://<account>.blob.core.windows.net/<container>/<blobname>
    Web site
    Data store
    Shared Files
    Blob storage
    Data store
    Ping service
    External web sites
    Login()
    Upload(Theme)
    Save(Files)
  • Blob Storage
    Provide a simple interface for storing named files along with the metadata
    Block Blob
    Targeted at streaming workloads
    Size limit 200 GB per Blob
    Page Blob
    Targeted at random read/write workloads
    Size limit 1 TB per Blob
    CDN Option
  • Design Iteration #2: Scalability
    Web sites
    Data store
    External web sites
    Ping service
    Blob storage
    Table storage
    Web sites
    Login()
    Save()
    GetUrls()
    Theme()
    Upload()
    Ping()
    Save()
    GetStats()
  • Design Iteration #2: Scalability
    Web sites
    Data store
    External web sites
    Ping scheduler
    Pingers
    Blob storage
    Table storage
    Pingers
    Web sites
    Login()
    Save()
    GetUrls()
    Theme()
    Upload()
    ExecuteTask()
    Ping()
    Save()
    GetStats()
  • Design Iteration #2: Scalability
    Web sites
    Data store
    External web sites
    Ping scheduler
    Pingers
    Message queue
    Blob storage
    Table storage
    Pingers
    Web sites
    Login()
    Save()
    GetUrls()
    Theme()
    QueueTask()
    Upload()
    GetTask()
    Ping()
    Save()
    GetStats()
  • Windows Azure Queue Storage
    Provide reliable storage and delivery of messages
    Two-step consumption
    Messages put into queue can be processed in any order and multiple times
  • Design Iteration #3: SSO Authentication
    Web site
    Table storage
    External web sites
    Ping scheduler
    Pingers
    Message queue
    Blob storage
    Pingers
    Web sites
    Login()
    Save()
    GetUrls()
    Theme()
    QueueTask()
    Upload()
    GetTask()
    Ping()
    Save()
    GetStats()
  • SSO Authentication Challenges
    Multiple authentication protocols and identity providers
    Integrated Active Directory authentication from the Cloud
  • Windows Azure AppFabric Access Control
    Federated, claims-based single sign-on authentication as a service
    Supports:
    Active Directory Federation Services (AD FS) 2
    OAuth, WS-Trust and WS-Federation protocols
    Live ID, Google, Yahoo and Facebook identity providers
    SAML 1.1, SAML 2.0 and SWT formats
  • Summary
    IIS, Web – Web Role
    Windows Service – Worker Role
    SQL Server – SQL Azure, Table Storage
    NoSQL– Table Storage
    Shared Files – BLOB Storage
    Message Queues – Queue Storage
    SSO Authentication – AppFabric Access Control
  • Examples, Source Code
    http://sergejus.blogas.lt/tag/pingy
    http://sergejus.blogas.lt/tag/windows-azure
  • Architecting Cloud-based Applications for Windows Azure Platform
    Q&A