In my first article on DotNetNuke and Cloud Computing, I briefly introduced the many aspects of “Cloud Computing”. In this article I will begin to describe how to get DotNetNuke running on Amazon EC2, an “Infrastructure as a Service (IaaS)” provider.

Amazon Elastic Cloud Computing (EC2)

Amazon Elastic Cloud Computing (EC2) is a web service provided by Amazon Web Services that provides resizable compute capacity in the cloud.  The web service interfaces allow users to launch machine instances with a variety of operating systems, load them with custom applications, and run as many instances of your configured image.

Once you have created an account on Amazon Web Services (AWS) you will be able to launch a web based console which allows you to manage your EC2 services (Figure 1).

Figure 1 - Launch the AWS Console
AWSConsole

If you are not already signed in to AWS then you will be asked to enter your Amazon credentials and you will then see the EC2 Console (Figure 2)

Figure 2 – The AWS Console Dashboard
AWSConsole2

On the left menu is a number of tasks that you can do.  For the purpose of this article we will only focus on the four of the items.

  • Instances Manager

    lets you view your currently running Instances
  • AMIS

    allows you to view the available Amazon Machine Images (AMIS).
  • Bundle Tasks

    allows you to view the bundling tasks (more on this later)
  • Security Groups

    allows you to manage Security Groups

On the top right is a summary of the resources you are currently using.  In this example I have one Key Pair (you will receive a Key Pair file when you sign up for AWS) and two Security Groups.  Security Groups allow you to open up ports for specific protocols.  For a webserver you may want to just open up ports for the HTTP Protocol (to serve web pages) and the RDP Protocol (to allow you to remote into the server) (Figure 3).

Figure 3 – The Security Groups Manager
AWSConsole3

Finally in the middle of the console is a big button that allows you to launch an instance (there is also an option to launch new instances from the Instances Manager).

Launching your first Amazon AC2 Instance

Whether you first go into the Instances Manager to launch an instance or click the “Launch Instance” button on the main Console you will start the “Launch Instance Wizard” (Figure 4).  The first page of the wizard allows you to choose the Instance you want to launch.

Figure 4 – Launching an AMI Instance
AWSConsole4

Instances are essentially virtual machines, and Amazon provides a number of basic configurations (Linux and Windows) as Amazon Machine Images (AMIs).  In addition you can configure an instance and save it.  These customized AMIs can be private or public.

For this example we obviously need to select a Windows AMI and we will choose the Basic Windows Server 2003 instance, with SQL Server Express (as an instance with SQL Server costs more).

Figure 5 – Configuring the Instance
AWSConsole5

You can then select the number of instances to launch, the type of instance (in this case small or medium) the Key Pair to use and the Security Groups to use (Figure 5).  Finally click launch and your instance will be started.

In the Instances Manager you can review the status of the instance.

Figure 6 – My Instances shows the state of the Instances
AWSConsole6

You can click on a row in the Instances grid and you can view more detail about the Instance (Figure 7).

Figure 7 – Detail View for the new Instance
AWSConsole7

The important information in this screen is the Public DNS – this is the DNS mapping of your new instance (ec2-174-129-147-158.compute-1.amazonaws.com).  The important thing to note here is that the DNS mapping will be different every time you launch an instance.

Now our instance is running, the next step is to set up DotNetNuke to run on our instance and to configure our own custom AMI.  I will describe this in the Part 3 of this series.


Posted in: DotNetNuke  Tags: , ,

The “Cloud” or “Cloud Computing” has become rather a buzzword for the future of of computing.  But what is it, and where does DotNetNuke fit in this “Brave New World”. 

This article is the first in a series of blogs I will be writing as I dive into this exciting area and I will be speaking on this topic at the upcoming Open Force conferences in Europe and in Las Vegas

What is Cloud Computing

Cloud computing is defined in Wikipaedia as:

Cloud computing is an example of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet.

The concept generally includes combinations of the following services:

  • Infrastructure as a Service (IaaS)

    delivery of computer infrastructure (usually using virtualization).  Rather than purchasing servers, software and data centre space, client instead purchase these resources as a service, based on how much computing power is used, much like other utility services such as cable or telephone service.  Examples of Infracstructre as a Service include Amazon EC2 and Rackspace Cloud
  • Platform as a Service (PaaS)

    delivery of a computing platform or API, which facilitates the deployment of applications, without the complexity of purcahsing the hardware needed.  Examples of Platform as a Service include Windows Azure and Google App Engine.
  • Software as a Service (SaaS)

    delivery of a software package, whereby a provider licenses an application for use as service on demand.  An Example of Software as a Service is Salesforce.com.

As you can see there is a common thread in these three major pillars of Cloud Computing -Cloud computing customers do not generally own the physical infrastructure serving as host to the software platform in question.  Cloud computing customers consume resources as a service and pay only for those resources that they consume. 

In theory, by sharing the “physical” hardware resources with many other users (multiple tenants) means that cloud services are typically cheaper than building and operating the infrastructure yourself.  This is certainly true with regard to up-front capital costs and less true for operating costs, but the economic model provides clients with the flexibility to scale as necessary.

Examples of Cloud Computing

Basically you can divide the types of Cloud services into 5 categories.

Infrastructure

  • Amazon Elastic Cloud Computing (EC2)
  • Rackspace Cloud Servers

Storage

  • Amazon Simple Storage Service (S3)
  • Rackspace Cloud Files

Platform

  • Windows Azure
  • Google AppEngine
  • Rackspace Cloud Sites

Applications

  • Salesforce.com
  • Twitter
  • BitTorrent
  • Skype
  • Berkeley Open Infrastructure for Network Computing eg. SETI @ Home

Services

  • Identitiy – oAuth, OpenID, LiveID
  • Mapping – Google Maps, Live Maps
  • Payments – Paypal, Google Checkout
  • Search
  • Videos – YouTube

In the next part of this series I will start by exploring Infrastructure services by looking at using Amazon EC2 to host a DotNetNuke application.


Posted in: DotNetNuke  Tags: ,

 Search Blog

 Adsense

 Calendar

«  March 2010  »
MoTuWeThFrSaSu
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234
View posts in large calendar
Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2010 Thoughts from the Wet Coast