• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
MS Cloud Day - Deploying and monitoring windows azure applications
 

MS Cloud Day - Deploying and monitoring windows azure applications

on

  • 3,458 views

 

Statistics

Views

Total Views
3,458
Views on SlideShare
3,181
Embed Views
277

Actions

Likes
0
Downloads
35
Comments
0

13 Embeds 277

http://wely-lau.net 171
http://netindonesia.net 33
http://localhost 22
http://spiffy.sg 17
http://paper.li 12
http://geeks.netindonesia.net 6
http://36f86d06bf974f0d9fef50e0320f845e.cloudapp.net 6
url_unknown 4
http://6dd2de1a723c4947bc14d9ad8088b333.cloudapp.net 2
http://10.25.206.61 1
http://wely-downstream.cloudapp.net 1
http://202.155.61.90 1
http://a0.twimg.com 1
More...

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
  • This session discusses your data and the Windows Azure platform.
  • This session discusses your data and the Windows Azure platform.
  • This session discusses your data and the Windows Azure platform.
  • This session discusses your data and the Windows Azure platform.
  • This session discusses your data and the Windows Azure platform.
  • Twitter template

MS Cloud Day - Deploying and monitoring windows azure applications MS Cloud Day - Deploying and monitoring windows azure applications Presentation Transcript

  • Deploying and Monitoring Windows Azure Application
    Wely Lau (wely@ncs.com.sg)
    Microsoft MVP, Windows Azure
    Solutions Architect, NCS
    Blog : http://wely-lau.net
  • Microsoft Cloud Day
    Wely Lau Windows Azure MVP / Solutions Architect, NCS Pte Ltd
    Deploying and Monitoring Windows Azure Application
    Wely is the first Windows Azure MVP in Southeast Asia.
    In NCS, he focuses on Cloud Computing, specifically on Windows Azure Platform. Performing cloud consultancy, architecting cloud solution, designing cloud framework, and delivering cloud training are his day-to-day activities.
    This session learn how we can deploy application to Windows Azure ,install program on Windows Azure, and how do we monitor our application on Windows Azure.
  • Agenda
    Basic Concept
    Deploying
    Upgrading
    Monitoring
    Start-up Task
    Q & A
  • Understanding Packaging and Config
    Windows Azure Services are described by two important artifacts:
    Service Definition (*.csdef)
    Service Configuration (*.cscfg)
    Your code is zipped and packaged with definition (*.cspkg)
    Encrypted(Zipped(Code + *.csdef)) == *.cspkg
    Windows Azure consumes just (*.cspkg + *.cscfg)
  • Service Definition
    Contains metadata needed by the Windows Azure environment to understand the requirements of your application.
    Describes the shape of your Windows Azure Service
    Defines Roles, Ports, Certificates, Configuration Settings, Startup Tasks, IIS Configuration, and more…
    Can only be changed by upgrades or new deployments
  • Service Configuration
    Sets values for the configuration settings defined in the service definition file and specifies the number of instances to run for each role.
    Supplies Runtime Values (Scale, Config Settings, Certificates to use, VHD, etc.)
    Can be updated any time through Portal or API
  • Fault and Upgrade Domains
    Fault Domains
    Represent groups of resources anticipated to fail together
    i.e. Same rack, same server
    Fabric spreads instances across fault domains
    Default of 2
    Upgrade Domains
    Represents groups of resources that will be upgraded together
    Specified by upgradeDomainCountin ServiceDefinition
    Default of 5
    Fabric splits Upgrade Domains across Fault Domains and Across Roles
  • Fault and Upgrade Domains Visualized
    Fault Domain
    Fault Domain
    Rack
    Rack
    U/G Domain #1
    U/G Domain #2
    U/G Domain #1
    U/G Domain #2
    Web Role
    Web Role
    VM
    VM
    VM
    VM
    Worker Role
    Worker Role
    VM
    VM
    VM
    VM
  • Deployment Environments
    Two Environments to choose from
    Nearly Identical…
    <servicename>.cloudapp.net
    <deploymentID>.cloudapp.net
    VIP Swap between them
  • Agenda
    Basic Concept
    Deploying
    Upgrading
    Monitoring
    Start-up Task
    Q & A
  • Various Techniques Deploying to the Cloud
    Windows Azure Portal
    Visual Studio 2010
    Windows Azure Service Management Cmdlets
  • Windows Azure Portal
    • http://windows.azure.com
    You must create an Azure account, then a service, and then you deploy your code.
    VS builds two files.
    Encrypted package of your code
    Your config file
  • Visual Studio
    • Deploy a management certificate
    • Connect to your service account
    • Publish inside of VS2010
    • Easy integration with IntelliTrace and Storage
  • Windows Azure Service Management Cmdlets
    • Set of PowerShell cmdlets
    • http://archive.msdn.microsoft.com/azurecmdlets
    • Wraps Management REST API and Diagnostics API
    • Enables building of sophisticated deployment scripts
    • Works with rest of .NET CLR
  • Deploy through Visual Studio
    Deploy through PowerShell
    demo
  • Agenda
    Basic Concept
    Deploying
    Upgrading
    Monitoring
    Start-up Task
    Q & A
  • Upgrading Windows Azure Application
    Deployment Consideration
    Downtime tolerance
    VIP Address
    Cost
    Various options
    Delete & Recreate
    In Place Upgrade
    Web Deploy
    VIP Swap
    DNS Swap*
    Sometimes you MUST delete a deployment
    Changes in endpoints, VM size, and binding
    Try to minimize by specifying what you might need in advance
  • Delete & Recreate
    Down time between deployments
    You can change almost everything in your app
    1 X your instance cost
    New VIP
    Hosted Service
    Deployment v2
    Deployment v1
    Web Role
    Web Role
    Worker Role
    Worker Role
    VM
    VM
    VM
    VM
    VM
    VM
    VM
    VM
  • In Place Upgrade
    Reuses existing VMs (Preserves VM state i.e. local cache data)
    Can update a single role
    1 X your instance cost
    Cannot change the service definition
    size, endpoints, roles, etc.
    Utilizing Upgrade Domain to avoid downtime
  • In Place Upgrade
    Rack
    Rack
    Web Role
    Web Role
    Load Balancer:
    #1
    #2
    #1
    #2
    VM
    VM
    Prod
    VM
    VM
    Worker Role
    Worker Role
    VM
    VM
    VM
    VM
  • Web Deploy
    Newly built-in in SDK 1.4.1
    Quickly push incremental changes
    Caveats:
    Only applicable for single instance web role
    Changes made will not be persistence
    Development and testing purpose, not production!
  • VIP swap
    Easier to undo
    Requires 2 identical environments
    Cannot update endpoints
    2 X your instance cost
    Happen very fast
    Typically within 1 mins
    Hosted Service
    Deployment v1
    Worker Role
    Web Role
    VM
    VM
    Load Balancer:
    VM
    VM
    Prod
    Prod
    Deployment v2
    Stage
    Stage
    Web Role
    Worker Role
    VM
    VM
    VM
    VM
  • DNS Swap
    Use DNS as another layer of abstraction
    Requires your own domain name
    2 X your instance cost
    Updating the domain record is not immediate
    New VIP
    DNS:
    whatever.com
    Hosted Service (foo.cloudapp.net)
    Hosted Service (bar.cloudapp.net)
    Deployment
    Deployment
    Web Role
    Worker Role
    Web Role
    Worker Role
    VM
    VM
    VM
    VM
    VM
    VM
    VM
    VM
  • Web Deploy
    VIP Swap
    demo
  • Agenda
    Basic Concept
    Deploying
    Upgrading
    Monitoring
    Start-up Task
    Q & A
  • Diagnostic: Common Task & Challenges
    • Common Diagnostic Task
    • Performance measurement
    • Troubleshooting and debugging
    • Capacity planning
    • Traffic analysis (users, views, peak times)
    • Billing & Auditing
    • Challenges in the Cloud
    • Many instances
    • Local storage is not persistence
    • They move around
    • Massive amount of data
    • Can’t remote desktop in
    • now you can do it with SDK >= 1.3 
  • Windows Azure Diagnostic API
    • Collects diagnostic data from your instances and copies it to a storage account
    • IIS Logs, Crash Dumps, FREB Logs
    • Arbitrary log files
    • Performance Counters
    • Event Logs
    • Debug/Trace statements
    • Infrastructure events
    • MonAgentHost.exe is started automatically by default.
    • Listener wired up in app/web.config
    • Need to define a storage account connection string
  • How does it work?
    Role Instance
    • Role Instance Starts
    • Diagnostic Monitor Starts
    • Monitor is configured
    • Imperatively at Start time
    • Remotely any time
    • Monitor buffers data locally
    • User can set a quota (FIFO)
    • User initiates transfer to storage
    • Scheduled or On Demand
    • Where to store?
    Role
    Local directory storage
    Diagnostic Monitor
  • Sample Results
  • Visualizing the data
  • Diagnostics Considerations
    Volume of Data Storage
    Standard costs apply for transactions, storage & bandwidth
    Reaction Time
    $ Cost
    Monitoring 5 Performance Counters
    every 5 seconds for 100 instances costs > $260 US dollar per month
  • Remote Desktop
  • Remote Desktop
    Role 2
    Role 1
    IN_0
    IN_0
    IN_1
    Port 3389
    LB
    IN_1
    IN_2
    Remote Forwarder
    Internal Port 3389
  • Remote Desktop to Windows Azure
    Installing Program on Windows Azure
    demo
  • Agenda
    Basic Concept
    Deploying
    Upgrading
    Monitoring
    Start-up Task
    Q & A
  • Windows Azure Startup Tasks
    • Includes scripts that automate the preparation and configuration of roles
    • Scenarios: Perform short, unattended setups on role startup. E.g.
    • COM Component
    • Registry Key
    • Configuring a Windows Server Role, such as IIS
    • Installation
    Startup.cmd
    start /w pkgmgr /iu:IIS-ASP
    REG ADD "HKEY_LOCAL_MACHINESOFTWAREMicrosoftActive SetupInstalled Components{A509B1A7-37EF-4b3f-8CFC-}" /v "IsInstalled" /t REG_DWORD /d 0 /f
    winrar-x64-40b7.exe /s
  • Windows Azure Startup Tasks
    <WebRolename="foo">
    <Startup>
    <Taskcommandline="relativepathToSetupExecutable"
    executionContext="limited|elevated"
    taskType="simple|foreground|background"/>
    </Startup>
    </WebRole>
    Task Types:
    • Simple [Default] – System waits for the task to exit before any other tasks are launched
    • Background – System does not wait for the task to exit
    • Foreground – Similar to background, except role is not restarted until all foreground tasks exit
  • Installing through Start-up Task
    demo
  • Resources
    • Windows Azure Platform Training Course
    • http://msdn.microsoft.com/en-us/wazplatformtrainingcourse.aspx
    • Building, deploying, and managing Windows Azure Applications
    • http://channel9.msdn.com/Events/PDC/PDC10/CS03
    • Deploying, Troubleshooting, Managing and Monitoring Applications on Windows Azure
    • http://www.msteched.com/2010/Europe/COS324
    • Windows Azure CmdLet
    • http://archive.msdn.microsoft.com/azurecmdlets
    • Remote Desktop to Windows Azure
    • http://tinyurl.com/azure-remote-desktop
    • Custom Domain Name in Windows Azure
    • http://tinyurl.com/azure-custom-domain
  • Any questions?
    Q & A
  • Thank you!
    Wely Lau (wely@ncs.com.sg)
    Microsoft MVP, Windows Azure
    Solutions Architect, NCS
    Blog : http://wely-lau.net