2. Agenda Introducing Cloud Introducing windows Azure Different Components of Windows Azure Using Azure in Development Environment Hosting your Application to Cloud Cloud Storage - Windows Azure storage Services Introducing SQL Azure Building Application Using SQL Azure Introducing Windows Azure App Fabric
4. Why Cloud Computing ? A Quick Look Back Buy Own Servers Maintenance Own Resource
5. Why Cloud Computing ? Why not take a Hosted Server ? Using Service Provider Reduced Maintenance Cost Traffic Increased Own Resource
6. Why Cloud Computing ? Let’s Move into Cloud A set of connected servers which are managed in a data Centers On which developers can: Install Services Run services Store and retrieve data What Does Cloud Provides ? Infrastructure as a Service (IaaS) Platform as a Service (PaaS) Software as a Service (SaaS)
7. Cloud Power Applications 8 Available 24 x 7 7 Pay as Per Use 6 Automatic Upgrade H/W Reliability Availability Scalability 5 Apply OS patches and Configuration Diagnose service failures and recover 4 3 Automatic Storage Capacity Upgrade 2 Handle increase in traffic Automatically 1 Recover from hardware failures Cloud Data Center
11. Cloud OS An operating system that can controls a set of connected servers and Span over the internet Self collaboration Abstract execution environment Hosting Environments Shared file system Resource and storage allocation Programming environments Providing security on demand Utility computing 24/7 operation Pay for what you use Auto Upgradable Simpler, transparent, configurable administration
12. What Is Windows Azure ? It is an operating system for the cloud Mainly Focusing on utility computing Main Components Service management and Monitoring Compute Storage Developer experience
13. Relating Desktop With Azure 5 Local data stores 5 Cloud Storage 4 Library / Services 4 Web Role and Worker Role 3 Manifest 3 Service definition 2 Application Configuration 2 Service Configuration 1 EXE 1 Service package Desktop Windows Azure
20. Compute A Windows Azure compute service is built from one or more roles. In Windows Azure, a service may run one or more instances of each role type. A service could also be composed of one of more instances of multiple role types. Windows Azure supports the following three types of roles: Web role is customized for web application programming and supported by IIS 7. Worker role is used for generalized development, and may perform background processing for a web role. Virtual Machine (VM) role runs an image (a VHD) of a Windows Server 2008 R2 virtual machine. This VHD is created using an on-premises Windows Server machine, then uploaded to Windows Azure.
21. Web Role and Worker Role Public Internet Web farm that handles request from the internet IIS7 hosted web core Hosts ASP.NET XML based configuration of IIS7 Integrated managed pipeline Supports SSL Web Role Web Role Web Role Load Balancer Storage Services
22. Worker Role No inbound network connections Can read requests from queue in storage Public Internet Worker Role Worker Role Worker Role Worker Role Storage Service
23. Web Role and Worker Role Public Internet Web Role Worker Role Web Role Worker Role Load Balancer Storage Services
28. Azure Storage Need persistent and durable storage in the cloud? Windows Azure is a perfect fit. Windows Azure gives you four core storage services that are secure, scalable and easy to access. Binary Large Object Service(Blobs) Table Service ( Tables) Queue Service ( Queues) Windows Azure Drive Queue Tables Blobs
29. Azure Storage - BLOBS Blobs are one of the most credible feature with Azure Provide a simple interface for storing named files along with metadata for the file It’s very much reliable with Large size of file Main Concept : Account, Container, Blob , Block
30. Azure Storage – BLOBS – Key Concepts Blob Container Account Block IMG001.JPG Pictures IMG002.JPG Account Block A Movies MOV1.AVI Block B Block C
31. Azure Storage – BLOBS – How it works ? Movie.avi Movie.avi Movie.avi Identify the file to be uploaded (Movie.avi). Identify / split the blocks for the file. Upload every block in any order you want to. Commit the block to a blob. Block 1 Block 2 Block 3 Block 4 Block 5
32. Azure Storage – BLOBS – Must Know Key Points Files has to split to have blocks when it crosses 64 MB. Every block can be a maximum of 4 MB size. The maximum size of the blob / file can be 200 GB or 50,000 blocks. The blocks uploaded is not committed unless the final API call "PutBlockList" is called. Block blobs though offer a very good and effective way of working with bigger files, it lacks on certain places. The maximum size of the file can be no larger than 200GB. It needs at least two API calls to write a blob when uploaded as blocks. [PutBlockto upload a block with block id and PutBlockListto commit all the changes]. Any uploading cannot be committed immediately unless the final call "PutBlockList" is made. Reading a byte range other than the block split cannot be done.
33. Azure Storage – Page BLOBS The maximum size of a page blob file would be 1 TB. The least page size is 512 bytes and can accommodate any data in multiples of 512 bytes up to 4 MB into a page. As soon as a data is uploaded, it is written into the cloud / disk. All the data / pages inside the page blobs are indexed to allow faster read / write. Windows Azure Drive (TBD) is supported. A page can be considered as a individual file and read / write operation can be performed on it.
34. Azure Storage - Tables provide structured storage. A table is a set of entities, which contain a set of properties There is no limitation on the number of table / collection and rows. Every entities can have up to 255 properties. Every entity should have a property defining the row key "RowKey" and partition key "PartitionKey". Row key is the unique identifier of the row and partition key is generally any property which would be better for maintaining partition. (e.g., DepartmentId in an entity of Employee). The limitation of not being an RDBMS is easily and effectively overcome by the support of LINQ on the tables. A LINQ query can therefore be written and executed against the tables. Every table is mirrored thrice in Azure and the reliability and availability is maintained automatically. Every table has a partition key It is the first property (column) of your table All entities in a table with the same partition key value live in the same partition Need to choose partitioning scheme to make data access scalable
36. Azure Storage - Queue provide reliable storage and delivery of messages for an application Key Concept : Account, Storage, Message A message in queue has a limitation of 8 KB in size. A Queue has no limitation on the number of messages it can contain. Messages cannot choose their destinations individually but they follow the path or receiver of the queue. Message when consumed by acquiring token which expires by time i.e., once a message is got it will be locked / hidden from any other process unless the time expires or the message is deleted; if the time expires, the message will be marked as new and will be provided to the next consumer waiting. A detailed process is explained in the animation shown below. Messages can be even got without a time expiry and immediately marked as processed.
37. Azure Storage – QUEUES– Key Concepts Message Queue Account http://… Jobs 1 http://… Account http://… Jobs 2 http://…
38. Azure Storage –QUEUS– How it works ? Queue Msg 1 Msg 3 Msg 2 Msg 1 Msg 2 Msg 3 Process 2 Process1 Source Application Msg 1 Msg 2 Msg 3
50. Introducing SQL Azure Robust Relational Database on the Cloud Hosted on Microsoft Data Center. Database as a Service ( DaaS) Accessible via both Local and Cloud Based Application Installed into different nodes of Microsoft Data Center. So There is no need of Install, manage SQL Server on Cloud High availability Easy Data Sync and Local SQL Server Migration Cloud Apps Local Apps
54. Reference and Resource http://www.microsoft.com/windowsazure/ Introducing Windows Azure By David Chappell http://jebarson.info/category/Azure.aspx http://blogs.microsoft.co.il/blogs/applisec/archive/tags/Azure/default.aspx
56. Thank You !! Abhijit Jana http://abhijitjana.net @AbhijitJana abhijan@microsoft.com Abhishek Sur http://abhisheksur.com @Abhi2434 abhi2434@gmail.com