2. About Presenters Abhijit Jana Consultant, Microsoft http://abhijitjana.net Abhishek Sur Microsoft MVP , Client App Dev. http://abhisheksur.com
3. Agenda Introducing Cloud Introducing windows Azure Different Components of Windows Azure Developing and Hosting Application on Azure Cloud Storage - Windows Azure storage Services Windows Azure in a real business scenarios Introducing SQL Azure Building Application Using SQL Azure Developing Client Application using Azure Introduction to Windows Azure AppFabric
5. Why Cloud Computing ? A Quick Look Back Buy Own Servers Maintenance Own Resource
6. Why Cloud Computing ? Why not take a Hosted Server ? Using Service Provider Reduced Maintenance Cost Traffic Increased Own Resource
7. Why Cloud Computing ? Let’s Move into Cloud A set of connected servers which are managed in a data Centers What we can do on that ? 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)
8. 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
12. 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
13. 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
14. 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
22. 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. 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.
23. Demo Cloud on Desktop Getting Touch with Web and Worker Roles
24. Web Role Public Internet Web Role Web Role Web Role Load Balancer Storage Services
30. Azure Storage Need persistent and durable storage in the cloud? 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
31. 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
32. Azure Storage – BLOBS – Key Concepts Blob Container Account Block IMG001.JPG Pictures IMG002.JPG Account Block A Movies MOV1.AVI Block B Block C
33. 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
34. 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.
35. Azure Storage – Page BLOBS The maximum size of a page blob file would be 1 TB. The least page size is 512bytes 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.
36. 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. 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.
38. 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.
39. Azure Storage – QUEUES– Key Concepts Message Queue Account http://… Jobs 1 http://… Account http://… Jobs 2 http://…
40. 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
52. 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
59. Windows Azure AppFabric Accessing Application From Cloud Either Access By Specific Port or VPN Configuring Port and Maintaining VPN now again challenge Access Control Services (ACS ) and Service Bus Service Bus will take care of all the Authentication, Authorization and Additional Access for Azure Apps from on premises and connect across the firewall Help to seamlessly access Cloud as well as on premises resource. ACS helps to cross boundary collaboration like external organization, resources with different identification Help to access beyond the firewall
61. Windows Azure Platform Windows Azure Platform Window Azure SQL Azure Storage Compute SQL Azure DB Blobs Web Role Queue Worker Role Window Azure AppFabric Tables Access Control Fabric Service Bus
62. Reference and Resource Windows Azure Code Quick Start http://www.microsoft.com/windowsazure/ Introducing Windows Azure By David Chappell http://jebarson.info/category/Azure.aspx http://www.microsoft.com/belux/architect/issue_2/azure_hosted_applications.aspx http://blogs.microsoft.co.il/blogs/applisec/archive/tags/Azure/default.aspx
64. Thank You !! Abhijit Jana http://abhijitjana.net @AbhijitJana abhijan@microsoft.com Abhishek Sur http://abhisheksur.com @Abhi2434 abhi2434@gmail.com