Easy cloud scaling with AzureBogdan Mustață, Team Leader, Levi9
AgendaScalabilityPerformanceAzure Cloud ServiceAzure Service BusDemoQ&A
What we want for Web App?High ScalabilityHigh AvailabilityPerformanceLow CostFeatures
ScalabilityWhat is scalability ?Scalability is the ability of a system, network, or process tohandle a growing amount of work in a graceful manner or itsability to be enlarged as demands increase.What scalability is not :Raw speed or performance (2 GHz vs 3 GHz)About the operating systemAbout a particular software technology (Java vs .Net)About optimized code
Scaling strategiesDon’t re-invent the wheel, copy someoneelse CQRS – Command Query ResponsibilitySegregationArchitecture SimplicityCaching, Database partitioning, QueuesThink horizontal … not vertical … oneverything(How many ? Vs How Fast ?)
Azure Service BusService Bus is messaging infrastructure that sits betweenapplications allowing them to exchange messages in aloosely coupled way for improved scale and resiliency.Service Bus Queues offer simple first in, first outguaranteed message delivery and supports a range ofstandard protocols (REST, AMQP, WS*) and API’s toput/pull messages on/off a queue.
Service Bus - Ways to PullReceive and DeleteFastest. Message lost if receivercrashes or transmission fails.Peek LockMessage is locked when retrieved.Reappears on broker when notdeleted within lock timeout.TransactionalLocal model
Service Bus - MessagesProperties arekey/value pairs thatmay very well carrypayloadsMessage bodies areuseful for a singleopaque payload notexposed to thebroker (e.g.encrypted content)