Posts Tagged 'Windows Azure'

Learn Windows Azure

Today Scott Guthrie announced a Learn Windows Azure event for developers running next week. Many people working with Microsoft Visual Studio and ASP.NET will be familiar with Scott’s work in these areas as well as ASP.NET MVC. From my experience, not so many developers are fully aware of what Windows Azure is and thats why it’s great that Scott, with his profile, is helping to raise an awareness of this powerful platform.

Windows Azure has many features that are applicable to many types of applications. Take for example the compute facility. This enables developers to host applications in Microsoft’s data centres around the world on a pay per use basis. Many features such as scalability are provided out of the box. Windows SQL Azure provides a fully hosted relational database built on SQL server technologies. Windows Azure Storage provides different types of storage that todays applications require. For instance, the Azure Binary Large OBject (BLOB) service enables the storage of text or binary data to Azure. Why would you wish to do this you may ask ? Consider your Web applications static resources such as images and videos. Hosting these on your main servers will put unnecessary load on these servers when traffic increases – these resources do not change. Hosting them on Windows Azure’s BLOB storage service means they will be delivered efficiently without any load being placed on your core servers, which will be freed up to do more productive work.

Having used Windows Azure for some time now, what is clear to me is that it is an outstanding Cloud Platform as a Service (PaaS) that has many features and facilities that can be used not only by applications written specifically for the cloud, but also existing applications to make them perform better and in a more cost effective manner. In addition Azure offers features such as Content Delivery Networks (CDN), caching, virtual networks, access control to mention a few. It is because there is such a rich feature set that I strongly believe are of benefit to a large number of .NET developers, that I so welcome somebody of Scott Guthrie’s stature raising awareness of Windows Azure. If you cannot make Scott’s event or would like a more detailed, hands-on coverage of Azure, why not consider attending Learning Tree’s Windows Azure course.

Chris Czarnecki

Windows Azure Toolkit For Social Games

An interesting development in the Cloud Computing world has been the release of the Windows Azure Toolkit for Social Games. The success of companies such as Zynga in social gaming coupled with the predicted growth in revenues generated from social gaming over the next few years has raised the profile of this interesting area of Cloud Computing.

To support the potential rapid scaling requirements of successful social games, in a cost effective manner, Cloud Computing lowers the entry point for any organisation or indeed individual(s) who have an idea and wish to implement this. To support this development the Azure Platform as a Service (PaaS) is an environment which enables games developers to focus on the product without having to worry about infrastructure and associated operational requirements. The release of the Azure Toolkit for Social Games further adds to the attraction of Azure as an environment for social games development. So what exactly does the toolkit provide?

The Toolkit comprises of three main components.
1. Server API’s comprising a set of services for achievements, virtual goods, leaderboards, user accounts, notifications, virtual currencies. The API’s are JSON REST services and so can be accessed from many different device types.
2. Test Client enabling the testing of the games without the full user experience. Commands can be sent to games as though coming from users for the purpose of test and development.
3. Sample Game is a sample game that demonstrates the use of the toolkit through a game named Tankster.

Currently the toolkit is available for .NET and HTML 5 although support for other languages will be available in the future. The release of this toolkit is an interesting development from Microsoft which brings together three growth areas in computing: social networks, distributed gaming and Cloud Computing. It will be interesting to see how this toolkit is utilised and by whom.

Chris Czarnecki

“Agile” Cloud Computing

Agile

I often see the word “Agile” associated with cloud computing. That’s a word I know well. I wrote a class on Agile Programming, and I teach XP and SCRUM. I believe I’m Agile in my projects. But what does it really mean?

For some, “agile” is just a tactful way of saying “get it done cheaper”! But it’s more than that.

When we write “Agile” with a capital “A” it means it abides by the 12 principles of Agile programming. We could summarize those principles by saying; give customers high quality, quickly and for a good value. And when the customer changes their mind, adapt. That all sounds very obvious doesn’t it?

If we write “agile” with a lower case “a”, then it means “quick and well-coordinated in movement” (see http://dictionary.reference.com/browse/agile).

Cloud Computing

So, what does “cloud computing” mean?

  • In part, it means rented. We are going to purchase software and/or resources when we need them and for only how long we need them.
  • It also means elastically scalable. As demand fluctuates we easily add or remove resources, paying only for what we need at any moment in time.
  • Cloud computing means fault tolerant; the system is almost always available.
  • For many, cloud computing means online; the system is available from anywhere.
  • It also means resilient; the system can automatically recover from failures.
  • Cloud computing means reduced administration. Someone else is responsible for patches and backups and hardware upgrades.

Agile Cloud Computing

Does cloud computing make IT more Agile (agile)? To determine this, we can analyze the cost, but cost can’t be the only driving factor. To be Agile, cloud services must satisfy users and must provide even greater benefit than traditional software.

I moved all my servers to EC2, not because it is cheaper, but because it is better for my company. The fact that it’s also cheaper is a pleasant by-product.

Using Windows Azure is not the cheapest way to deploy an ASP.NET application. It can however be the best (most Agile) way. At least if you care about things like scalability, fault-tolerance, security and simplicity.

Conclusion

There are many ways to streamline IT using cloud computing services. These services include Office 365, Google Apps, Windows Live, Amazon Web Services, Windows Azure, Salesforce.com, SharePoint Online and many more.

If you want a better understanding of cloud computing and how it can make your organization more Agile, take one of the courses in Learning Tree’s Cloud Computing curriculum. You can even take the course from the cloud using Learning Tree AnyWare
J

You may also like to read these articles that explain more about the different cloud services.

Doug Rehnstrom

Please visit Learning Tree’s new .NET Programming blog.

Learning Windows Azure

Over the past few months, I’ve written a series of articles on learning Microsoft Windows Azure. I thought it might be helpful if I listed them all in one place.

I’m also the author of Learning Tree course 2602, Windows azure Platform Introduction. If you want to move beyond the basics, come to this 4-day class. I’ll be teaching it in Reston, VA starting July 26.  We also have it scheduled in Toronto, ON for Aug 30.  If you can’t make it to either Reston or Toronto, you can also attend either of these live classes online from home or office via AnyWare.

If you have any questions or suggestions for new Azure related articles, please leave a comment.

Thanks,

Doug Rehnstrom

Choosing Windows Azure or Amazon Web Services

Two of the largest providers of cloud computing services are Microsoft and Amazon. Both companies sell cloud services at every level of the cloud computing stack: Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS).

The Windows Azure Platform

In the world of cloud computing, Microsoft is probably best known for their PaaS offering, Windows Azure. However, they provide many other cloud-based services as well. These include SQL Azure for relational database, Office Live, SharePoint Online, Exchange Online, Microsoft CRM Online and SkyDrive. When Microsoft says they are “all in” on the cloud, they aren’t joking.

Amazon Web Services

Amazon’s best known cloud technology is their IaaS offering, Elastic Cloud Compute (EC2). They too have a full range of other services including, S3 and SimpleDB for storage, RDS for relational database and Elastic Beanstalk, their PaaS offering.

Learning about Cloud-Computing Technology

Choosing between Azure and Amazon can be confusing, but a little knowledge will go a long way towards making an informed decision. At Learning Tree we have many cloud computing and related training courses that will help.

To learn more about Windows Azure, come to Learning Tree course 2602, Windows® Azure™ Platform Introduction: Programming Cloud-Based Applications. If you’re in the Washington, DC area, I’ll be teaching that course on July 26, in Reston, VA.

Learning Tree is also developing a new course, Cloud Computing with Amazon Web Services. It is scheduled to run for the first time on August 30, also in Reston, VA. That course will be taught by the course author, Steve Lockwood.

Learning Tree also has a great cloud computing overview course, Cloud Computing Technologies: A Comprehensive Hands-On Introduction. In that course we’ll give you an overview of the cloud services provided not only by Microsoft and Amazon, but also Google, SalesForce.com and others.

Doug Rehnstrom

Also, we just started a new .NET Programming blog. Please visit if you’re a .NET programmer, or would like to learn more.

Why Every ASP.NET Developer Should Know Windows Azure

Windows Azure for Testing

A Web application must be tested before deploying it to the Internet. To do this effectively, you need a test server. With Windows Azure, you can have an ASP.NET test server, on the Internet, for free. Go to this link to sign up for your free trial, http://www.microsoft.com/windowsazure/free-trial/. Admittedly, it’s not free forever. Once the free trial is over though, it will only cost you 5 cents per hour, for the time the server is running. So, if you want to put a site online for testing, it will cost you $1.20 per day or $6.00 for the work week. And there’s nothing else to buy. No hardware, no licenses, and no installation or administration. When you’re done, delete the deployment, and it costs nothing.

Windows Azure for Easy Deployment

When I teach ASP.Net, people often want to know details about deployment. With Azure, deployment is seamless and automated by Visual Studio. After a five minute setup, deploying to Windows Azure is three clicks. Right-click on your application in Visual Studio, select Publish, click OK. The details of deploying your application are handled by the Windows Azure operating system.

Windows Azure for Easy Updates

When you deploy to Azure you can choose to deploy to either “Staging” or “Production”. If you are coming out with an update, first deploy to staging. From there you can make sure everything works. Then, you just flip the production and staging deployments. Later, if you realize you made a mistake, you can even flip them back. You just click the buttons in the Azure Management tool.

Windows Azure for Fault Tolerance

Fault tolerance is achieved by creating redundant servers. If you deploy internally, that means multiple computers, wires, routers, load balancers, multiple copies of your deployments. All of that adds up to money and administration headaches. In Azure, if you want fault tolerance you specify an instance count greater than 1 in application properties.

Windows Azure for Scalability

Scalability is achieved by increasing computing power. This can be done by adding more machines (scaling out) or adding bigger machines (scaling up). In Azure, this is done simply by setting instance count and VM size, again in application properties.

When deploying internally, a company has to buy enough machines to handle their peak periods. In Azure, you can tune instance count and VM size up or down, paying only for the resources you need at any given time.

Some Windows Azure Articles

I’ve written some articles on getting started with Windows Azure. Here are some links.

Windows Azure Training

At Learning Tree we have a 4-day class on Windows Azure, course 2602, Windows Azure Platform Introduction: Programming Cloud-Based Applications. We’ll cover everything you need to know. Take a look at the schedule and outline. Hopefully, we’ll see you there.

To read more about .NET programming, please visit Learning Tree’s .NET Programming Blog!

Doug Rehnstrom

Isn’t Azure just my ASP.NET Application hosted by Microsoft?

Well, yes … sort of … and no.

It is true that Microsoft has made it pretty easy for ASP.NET developers to develop Azure applications. It is also generally true that it is relatively straightforward to port most existing ASP.NET applications to Azure with little or no modification. Of course there are some that say the process is still too painful and that additional skills are required. Also, there are others that say Azure requires a new way of thinking about applications and for providing the capability for Internet-class scalability. As usual the reality for most people trying to come to grips with new technology is somewhere between the extremes.

Let’s take, for example a simple ASP.NET web application vs. a simple Azure application. The experience for each is similar but different. In particular, let’s look at the support for application security. At the broadest level this means providing for creation of user logins and roles and providing access to resources based on those credentials.

How does the Azure application generated out-of-the-box compare with an ASP.NET Web Application? Even though the Azure project wizard creates almost the same starting point as the ASP.NET project wizard there are a few things that are different.

In an ASP.NET application the project wizard will do most of the heavy lifting for you. The ASP.NET wizard creates an empty App_Data folder in the project. By default, when the application runs and a login is requested, a SQL Express database file will be created that stores user login information. This SQL Express file can be used in the deployed application or (probably more commonly) could be upsized to a real SQL Server. This is part of the ASP Providers services Microsoft has offered since ASP.NET 2.0.

The Azure wizard also creates an empty App_Data folder. However when the Azure application is run no SQL Express database will get created. In fact, the application will throw an exception.

So what? What does this mean? Why should you care?

While it may be possible to adjust some settings and tweak things a bit to get the Azure application to work with SQL Express like the ASP.NET application does, in practice you would probably never want to do so. Using SQL Express to store application state for an Azure application would be like having training wheels on your Harley! It would seriously limit the scalability of the application and scalability is one of the main benefits of Azure. A better approach would be to use Azure table storage or SQL Azure to persist membership data. Microsoft provides sample code that shows how to do this.

The truth is that if you are looking to run a single, simple ASP.NET website, Azure may not be your most cost effective solution. If you are running multiple applications, however, which have non-trivial processing requirements and possibly share membership data, Azure may make sense. Certainly Microsoft has done a good job of extending the .NET namespaces to include first class support for Azure. Additionally the Web Role/Worker Role paradigm offers scalability far beyond what could be achieved with a simple ASP.NET application.

To help sort out all of the various details and choices which arise when evaluating architecture options Doug Rehnstrom has authored Course 2602 – Windows® Azure Platform Introduction: Programming Cloud-Based Applications. Programmers who attend this course will leave with an appreciation for what Azure has to offer and practical knowledge in how to leverage this platform for their organization’s business interests.

Kevin


Learning Tree Logo

Cloud Computing Training

Learning Tree offers over 210 IT training and Management courses, including Cloud Computing training.

Enter your e-mail address to follow this blog and receive notifications of new posts by e-mail.

Join 51 other followers

Follow Learning Tree on Twitter

Archives

Do you need a customized Cloud training solution delivered at your facility?

Last year Learning Tree held nearly 2,500 on-site training events worldwide. To find out more about hosting one at your location, click here for a free consultation.
Live, online training
.NET Blog

Follow

Get every new post delivered to your Inbox.

Join 51 other followers

%d bloggers like this: