Skip to main content

My Notes on Cloud

 

I have been asked to meet up with someone who is looking for cloud based solutions. So before I head to meet them I decided to brush up a bit on Cloud stuff and also decided to write up my little notes on Cloud.

  1. Defining Cloud – The association of retail technology standards (ARTS) defined cloud as “Cloud computing is an emerging computing model by which massively scalable IT-enabled computing capabilities and resources (servers, storage, networks, applications and services) are delivered as service to external consumers using Internet Technologies.

  2. The Microsoft perspective of the Cloud –

    • On-demand – Resources are virtualized and made available as and when you need them.
    • Broad Network access – Resources are available anytime, anywhere via internet.
    • Resource Pooling – Most of the resources are shared.
    • Rapid elasticity – demand driven consumption and provisioning of resources based on demand in a rapid self-service fashion and the ability of decommission resources as demands drop.
    • Metered Usage – usage of resources is measured and you are charged only for the resources that you consume.
  3. Cloud can be distinguished in to the following models –

    • SaaS (Software as a Service) – In this the resources consumed are finished services or applications. Here you allow the Cloud vendor to manage all the resources – the hardware, the storage, the operating system and the application.
    • PaaS (Platform as a Service) – In this the Cloud vendor manages the hardware, the storage and the operating system providing you with the platform on which you build and deploy your applications.
    • IaaS (Infrastructure as a Service) – In this model the Cloud vendor manages and provides for data centers with large on demand servers, storage and networking while you will be responsible for managing and deploying the operating system, application runtimes along with the building and deploying of the application itself.
  4. Microsoft delivers three distinct services that provide the basis for platform as a service –

    • Windows Azur
    • SQL Azure
    • Windows Azure App Fabric
  5. Windows Azure Platform – by itself can be viewed as a set of cloud computing services that form the basis of a cloud operating system and computing environment. It provides basic operating system capabilities at a massive scale that includes – a runtime environment for executing applications, a storage system for persisting different data types, and the fabric controller for managing and monitoring the different sub systems. Some of the features of Windows Azure Platform –

    • The runtime supports hosting web application written in Microsoft .Net or even in PHP.
    • The runtime supports hosting of internet accessible services.
    • The storage system allows for storing of non-relational tables, queues and blob (for storing text or binary data).
    • Visual studio has been updated to support the ability to develop, test and debug Windows Azure applications locally.
  6. Windows Azure provides following ways to access Azure storage services –

    • REST API
    • Managed API
  7. SQL Azure – provides core relational database capabilities. This is a logical concept and does not correspond to physical files and servers. Some features of SQL Azure are –

    • Developers can use familiar T-SQL language.
    • Accessible through a variety of access protocols such as – ADO.Net, ODBC, and JDBC.
    • Microsoft Sync Framework provides the ability to synchronize on premise database with SQL Azure databases.
  8. Windows Azure AppFabric – provides for secure interconnectivity for distributed application. It provides three major services –

    • Service Bus – Provides the ability for applications to expose endpoints in secure way to other applications. It provides capabilities for network address translation and dealing with firewalls. Once applications are securely connected then they can exchange message over this bus.
    • Access Control – Provides the ability for applications to authenticate themselves and to provide identity information to other applications.
    • Caching – Provides a distributed in-memory, application cache service for Windows Azure and SQL Azure applications.
  9. DataMarket – A new service recently made available on Windows Azure Platform. It exposes rich datasets relevant to retailers such as demographics, weather, parcel data and UPC data. It allows users to discover, explore and consume information through a consistent, internet standards-based approach.

  10. Benefits of Windows Azure Platform –

    • Reduces need for up front technology purchases.
    • Leverages existing skills with VS dev environment and .Net framework.
    • Infrastructure management is automated
    • Designed for high availability
    • Designed for dynamic scaling to match usage needs
    • Options for pay as you go pricing model
    • Supports multiple internet protocol – http, https, soap, xml, rest
  11. Roles supported by Windows Azure –

    • Web Role – customized for web application programming, as supported by IIS 7 and ASP.Net
    • Worker Role – useful for generalized development like background processes
    • Virtual Machine Role – provides user customized image to make it easier to move existing Windows Server application to the windows Azure hosting environment.
  12. A hosted service can be comprised of any combination of role types and may include multiple roles of each type.

  13. New Capabilities in Windows Azure Platform –

    • MS Azure Reporting Services – Providing features similar to SQL Server Reporting Services, helps embed reports based on SQL Azure.
    • AppFabric Integration – Provides common BizTalk Server integration capabilities like pipeline, transforms, adapters etc on Windows Azure, using out of box integration patterns to accelerate and simplify development.
    • AppFabric Composite App – Provides multi-tenant, managed service which automates the deployment and management of end to end applications. It allows many application components to be managed as a single logical entity.
    • Windows Azure Virtual Network – brings a range of services to provide more robust networking capabilities. First of these being Windows Azure Connect which will provide an easy way to setup IP based network for establishing connectivity between Windows Azure and on premise services.

Comments

Lauren C said…
Cloud based systems are the future. On-board storage is going to become less and less needed. I was reading about the new apple iCloud while I was on one of my ab machines. It seems like they have really made a simple and commercialized system.

Popular posts from this blog

Notes on Castle MonoRail

  Sometime back I was doing a small POC on Castle MonoRail. So here are my quick notes on this. MonoRail is an MVC Framework from Castle inspired by ActionPack. MonoRail enforces separation of concerns with Controller handling application flow, models representing data and View taking care of the presentation logic. To work with MonoRail you need Castle Assemblies. It also utilizes nHibernate You can use Castle MonoRail Project Wizard or create the project manually. Project structure – Content Css Images Controllers HomeController.cs Models Views Home \ index.vm Layouts \ Default.vm ...

Workflow Foundation 4 - Part 3 - Data storage and management

This is my third post on WF4. First one was an introductory post on WF4 and in second one we focused on executing workflows. In the this post I am going to focus on the topic of data storage and management. Every business process or flow depends on data. When you think of data there are three elements to it as listed below - Variables - for storing data Arguments - for passing data Expressions - for manipulating data. Let us first look at the variables. Variables are storage locations for data. Variables are declared before using them just like in any other languages like C# or VB.Net. Variables are defined with a specific scope. When you create a variable in an activity the scope of the variable becomes that activity's scope. Variables can also have access modifiers like None, Mapped or ReadOnly. Let us look at an example where we will create two variables and assign a scope to them along with access modifiers. //Declare a sequence activitiy Sequence seqWf = new Sequence(); //de...

Introduction to Workflow Foundation 4 (WF4)

I finally decided to pick-up my blogging once more. Since I have been trying to learn Windows Workflow Foundation 4 (WF4) I thought I might as well start off with this topic. WF4 is a development framework that enables you to create a workflow and embed it in a .Net application. It is neither an executable application nor a language. It provides a set of tools for declaring a workflow, activities to create your logic and to define control flow and a runtime for executing the resulting application definition. It also provides services for persistence of state, tracking and bookmarking. You can create your workflow directly in code, in mark-up or in a combination of both. Workflow provide us with two major advantages - Creating unified application logic. Making application logic scalable. Workflow Authoring styles - Sequential Workflow executes a set of contained activities in a sequential manner. Workflow Foundation was introduced in the .Net 3.0 and updated in 3.5. In .net 4 it has bee...