3. What are your expectations?
• Recap about all features of Windows Azure
• Why? Starting point for our next discussions
4. Agenda
• Recap about all features of Windows Azure
• Why? Starting point for our next discussions
5. Table Storage Service
• Store any kind of serializable data
• You don’t need any kind of complex data structure or
SQL knowledge.
• Is not a relational database
• In the same table you can have more than one type of
entity
• Each entity from can have maximum 252 properties + 3
default
• The maximum size of total tables cannot accede 100.000
GB (100TB)
• The maximum size of an entity can be 1MB
7. Windows Azure Blob Storage
• It is used when we need to store large amount of data
(0011100110)
• We can store: images, videos, backup data… any kind of
data
• Maximum size 100TB
• ETag – unique version of each blob. Is updated when
content is written to the blob
• The maxim size of a blob in emulator is 2 GB
8. Windows Azure Blob Storage
• Block blobs
• Support multi-upload of blocks in parallel
• When updating a block, the old version is not
override until you commit it
• Can be used for large files
• Page blobs
• Collection of pages of 512b
• Can be accessed by an offset
• Can be used when the content is changing very often
• We cannot change a block blob to a page blob or a page
blob to a block blob
9. SQL Database
• Relational database based on SQL Server
• It is almost like SQL Server from on-premises
• BUT:
• We don’t have support for distributed transactions
• Each table have to contain at least one cluster index
• We cannot attaché a database
• We don’t have support for jobs
• Maximum size is 150 GB
• Double check the total cost of a having a SQL Database –
there are a lot of times when we can use Table Storage
Service
10. Queue Storage Service
• It is very similar with a named queue from Windows
• You can update the message from a queue
• Support batches (maximum 32 messages on each call)
• Operations: peek, insert, deleting, getting
• Remark: getting a message don’t remove the message
from queue
• With some work you can even iterate in a queue
• 500- is the maximum number of messages that can be
processed per second
• Message is persisted until someone will consume it
11. Service Bus Queue
• Similar to Queue Storage Service
• The order of the message is guaranteed
• Death Letter support
• Automatically counter for “number of retries”
• Duplicate messaging detection
• Support for transaction, sessions
• Are not as fast as Windows Azure Queues
• The size of a Service Bus Queue is limited to 5 GB
• Support for ACS (Access Control Service)
• Any kind of serializable item can be added to the queue
• We can even add stream to a message queue (array of bytes )
12. Service Bus Topic
• Multi-distribution mechanism for messages
• Using Service Bus Queues we have 1 to 1 communication
• Using Service Bus Topic we have 1 to n communication
• Each “listener” will receive each message from topic
• Sessions, transaction, death letters are supported
• Two ways for “listeners”
• Receive and delete
• Peek and lock
• The message type is the same with Service Bus Queue –
• BrokeredMessage
• Each message can contains 0 to n properties
• We cannot update or add again the same message
13. Service Bus Topic
• Subscribers – each “listener” of a topic
• Service Bus will send the same message to all subscribers
• Each subscriber can be used by more than one instance, BUT only
one will receive a unique message
• One each subscription we can define custom filters based, that can
filter message based on the message properties
• We can define what kind of message to be accepted by each
subscription
• Each subscription can has an action – an action can make CRUD
operation over the message property
Example: We can calculate the sum of two properties
14. Service Bus Relay
• Represent a communication bridge between cloud and on-
premises world
• It is used with success when working with hybrid
application
• Expose WCF services from on-premise servers using
cloud
• Only one entry point
• Request are persisted even if the on-premise server is
down
• We can control who access our services
• The only thing that need to be changed is on the
configuration file of the server and client
• We can only have request of type Fire And Forget
15. Windows Azure Caching
• Nice feature: you pay only the machine computation
• All the content is in the machine memory
• 2 types of caching:
• Dedicated roles
• Co-located roles (shared memory between application and
cache)
• Cache cluster support (only in combination with a storage account)
• Maximum size of a cache is 14 GB (limited by the memory size of
VM role)
• Each item can has an expiration date
• Build in support for storing web session in the cache
16. Caching Service
• Offer build in caching mechanism
• Can be accessed by anybody from anywhere
based on the namespace
• Maximum size is 4 GB
• Is more expensive than Windows Azure Caching
but can be accessed from any location
• This caching mechanism is offered as a service
• It is similar with Caching Server from on-premise
servers
17. Azure Access Control Service (ACS)
• Provide us a mechanism to authenticate users from
different identify providers: FB, Google, Y!, Live … even
custom identify providers and Active Directory (2.0+)
• Is based on a claim based authentication – tokens are
trusting between different services are the based of the
claim based auth.
• You never work with user credentials
• Depending on the provider, you can access different
information about user
• You don’t need anymore to implement a user
management mechanism
• BUT, if you need, you will need to define roles and
store user id’s
18. Shared Access Signature
• Provide a method to offer access to different resources
from storage account
• You can provide access to resources without requiring a
user to authenticate
• It is a simple way to control and manage who have
access to your storage
• The base of this mechanism is a custom token
• You can add, remove and change a SAS at runtime
• Each policy is defined by a unique id
• The validity of a SAS can be limited (time base)
20. Media Services
• The based action that can be done is: content streaming
• Ingest – first step when content is uploaded (upload and encryption)
• Encoding – Process the media content (change the
encoding, converting and transform) – we can use only supported
formats
• Protect – encryption of live streaming using a build-in mechanism
• Streaming – send content to consumers (even Apple HTTP Live
Streaming is supported)
• Support for CDN (Azure and 3th party CDN’s are supported).
• Supported devices: Android, iOS, ,Mac, Windows Phone, Windows
8, X-box, embedded devices, dedicated devices
21. Windows Azure Websites
• Can be used to develop web-application
• Support different technologies (PHP, node.js, .NET)
• MySQL support
• Low cost support – shared mode
• Reserved mode – dedicated instance
• Git support and a very fast rollback mechanism
• Web.config – don’t need to contain anything Azure
specific
• Each site run in an isolated environment
22. Web Roles
• Used to host application composed from multiple tiers
• Each web-role is scalable independently
• In comparison with Azure Websites, a lot of custom
configuration can be done
• Network isolation
• Support for startup tasks
• For example we can run a bat that make a custom
configuration to our firewall or install specific
applications
• Any kind of framework can be used in this machines
23. Worker role
• Perfect place to run long running task
• Can be used with success with web-roles for tasks that run in
background
• Cannot be used to host a web application
• In the moment when the “WHEN(TRUE)” ends the worker role
process stop
• Can be seen as a process that can execute a specific type for an
infinite period of time
24. Virtual Machine
• Can be used to install any kind of operating system from Windows
to Linux
• Build in support and images available for different versions of Linux
and Windows.
• Custom machines can be created with our own VHD
• Build in support for MongoDB, MySQL, Cassandra, certificates
• Migration from on-premise to cloud and cloud to on-premise can
be done using VHD