Archive

Archive for the ‘Cloud Computing’ Category

Amazon AWS

5 February 2011 11 comments

I signed up for Amazon AWS in order to learn-by-doing. I can purchase increments or reserve an instance unto myself.  Whichever instance-pricing model I choose, the instances are managed through Amazon‘s Elastic Compute Cloud service often referred to as EC2, which Amazon pins to its AWS Management Console.

Amazon Web Services Management Console screen shot

Amazon Web Services Management Console screen shot

Once I setup an account I found that there are numerous public “images” that other developers have configured which makes the process of launching a particular OS relatively simple.  I say relatively, because there is a set process, but I found a plethora of Youtube screen casts, this one for instance, describing exactly how to get started.  And beyond the getting started phase, there is plenty to learn-by-doing.

The AWS Management Console, for instance, includes tabs for each of Amazon AWS’s service offerings: Elastic Beanstalk, S3, EC2, VPC, CloudWatch, Elastic MapReduce, CloudFront, RDS, and SNS.

Elastic Beanstalk is an application deployment and management service “built for Java developers using the familiar Apache Tomcat software stack” [Amazon AWS, Elastic Beanstalk, 2011]. S3 is a Storage service, EC2 is a service for managing cloud based server instances, and VPC (Virtual Private Cloud) establishes VPN connectivity between IT departments and cloud based resources. CloudWatch is for monitoring your cloud based resources, Elastic MapReduce is more complex service offering whose name stems from a computational model named “MapReduce.” MapReduce permits large scale tasks to be broken into smaller chunks and processed on separate nodes across clusters of servers. “This framework has been used by developers, enterprises, and startups and has proven to be a reliable software platform for processing up to petabytes of data on clusters of thousands of commodity machines” [Amazon Web Services, AWS Elastic MapReduce, 2011]. CloudFront is a service intended for low latency content delivery, RDS is a relational database service, and SNS is meant to be a cost-effective push notification service from cloud based resources to either developers or other applications.

So far I have only learned-by-doing the Elastic Beanstalk, the S3 and the EC2 pieces of this robust cloud services framework, and my introductory observations are shown below.

Upon my first click of the Elastic Beanstalk tab in the AWS Management Console, the service noticed that I had not used this piece before and asked that I subscribe first.

Amazon AWS Elastic Beanstalk first time use

Amazon AWS Elastic Beanstalk first time use

Clicking the button informed me that I must wait for subscription activation, but its a free service so no extra cost.

AWS Elastic Beanstalk subscription activation

AWS Elastic Beanstalk subscription activation

So I received the email stating the service had activated, and presto I had more to learn about.  But keeping it simple, AWS offered to “launch a sample application to learn how AWS Elastic Beanstalk works” [Amazon Web Services, 2011].

AWS Elastic Beanstalk Create my first application

AWS Elastic Beanstalk Create my first application

After a few seconds the sample application launches in an instance of its own, and I will need to check if I get charged for this instance… Well I checked the billing and the sample application is free. Great! [Six hours later, however, I checked my usage and discovered I had been billed $0.36 or 36 cents for the m1.small instance that launched as part of the “sample application” so it is not free. On  the upside the instance is based on and EBS root device which means it can be stopped and started again later, and we won’t be charged while it is stopped.] The Elastic Block Storage or EBS is important to note and relates to the instance image that is selected, if you select a public image, acting as a storage volume for EC2 instances.

AWS Elastic Beanstalk Sample Application Launch

AWS Elastic Beanstalk Sample Application Launch

AWS Elastic Beanstalk Sample Application

AWS Elastic Beanstalk Sample Application

S3 is a storage solution for the internet in your Amazon AWS cloud; S3 stands for Simple Storage Service. Amazon AWS’s S3 service page explains that there are three common use cases for simple storage services: [1] distribution, [2] storage for data analysis, and [3] backup, archiving and disaster recovery. Clicking the S3 tab in the AWS Management Console and the system senses that I am using it for the first time and asks that create a new bucket to contain my data.

AWS Simple Storage Service First Bucket Setup

AWS Simple Storage Service First Bucket Setup

Later after I did the Elastic Beanstalk first time use I viewed S3 again and witnessed that I had a second bucket, apparently created for the sample application lauch.

AWS S3 Buckets

AWS S3 Buckets

Clicking around and getting my bearing is part of my learning-by-doing strategy, and my mind is abuzz with new project for my experimentation queue.  Looking now back into the EC3 tab, I have two instances running, and I have discovered that “Root Device” for a given image dictates whether the instance can be stopped or if it must be terminated. If a chosen image uses a root device of EBS (Elastic Block Store) that instance can be stopped and restarted, but if it uses and instance-store the instance may only be terminated.

AWS EC3 Instances

AWS EC3 Instances

There is plenty more for me to learn, and as I put some ideas into play, I now that I will learn more. Amazon’s Web Services provide a useful set of cloud based tools to help companies leverage the benefits of cloud computer at a reasonable price. For anyone who want to try different operating environments, and familiarize themselves with them, this offers very valuable tools to manage ideas and projects.

Augmented Reality


I’ve been exploring the augmented reality scene using a popular European tool for the iPhone from the Netherlands called layar. It resembles, to some extent, the features of a Tricorder from StarTrek.  You log into the iPhone app and it presents a 2-degree view of where ever the camera is pointing.  You then may search for something, I chose "coffee" and small icons appear over-layed on your camera view, and a box appears below with the name and address of the coffee place that is within 2 miles of you.  You can set the proximity, the default is .6 miles, I chose 2 miles because I was sitting in my living room rather than walking about the city streets, which is where this is meant to be used.  This tech has been available for a while, using the GPS subsystem on the iPhone,  but it came to my attention only recently.

Applications I thought would be nice to find might be a law-finder.  Point it in any given direction and see what laws apply to that thing, of course someone would need to build that and then would anyone really be interested in it?

I learned that people are using AR to insert a virtual business on  a popular street where no such brick-and-mortar business actually exists, granting that business an otherwise exclusive address.  That is not what I thought would be "cool" about augmented reality when I initially learned of it, but the ability to do so remains.  I was hoping for some greater Tricorder style functionality, such as environmental data display: point the iPhone at a creek and see that tributary’s name and whether any endangered species are lurking about, or point the iPhone at a plant and have the plant be recognized and then its name and vital statistics be displayed.  What would it take to leverage AR to achieve these conceptual goals?

Categories: Cloud Computing

Developing for the Cloud


Twitter API, OAuth, MyOpenID, PBWorks, Bitbucket, Zembly, GoogleDocs, Bespin, and then a rage through RESTful Web Services and JAX-WS… I’m immersing myself in the dev-cloud community, an emerging community for me, but it seems to be running full force already for the well-practiced developers. So much to absorbe and so little time.  Sourcing yourself in the open space as an open source developer is a plethora of new logons and bookmarks–thank-god for Xmarks which keeps my laptop bookmarks sync’d with my desktop–and that is before you get to the development part, but I’ll keep at it: simply need to remember to make notes of all the new IDs and passwords.
Categories: Cloud Computing

Microsoft’s Cloud Computing


As soon as I learned about Microsoft’s Office Live offering I created one and have since come to rely on it. I already had a Windows Live ID, so it was real easy, but then getting a Windows Live ID is easy too. 
 
I use my Office Live workspaces, as my desktops in space, that I can read from and write to directly from Office 2007.  When I started a class at College of Marin on Java Programming, I created a new "Workspace" named after the class, and have been uploading and downloading my homework ever since.  Office Live is cloud computing on a personal level.  But, you can set up shared workspaces to so it can very easily be a share experience too.  It could have more features in my opinion, for me personally, but it serves me well.  I’m working on an assignment that I started in class the other day, and then uploaded it to my workspace at the end of class.  At home I opened Word 2007, and then opened that document from within Word: Office Button | Open from Office Live.
 
Snippet from MS Word 2007’s menu under the Office Button
Dragging the pointer over the "Open from Office Live" first prompts me log in, unless I’ve logged in already, and then is shows a list of workspaces that I created.
 
I know that the Cloud Computing visionists are thinking larger than personal-floating desktops, but this tool is a good introduction to the client side experience, and has helped me "get comfortable" with the notion of saving documents in the cloud-domain. 
 
Security remains a concern for me, however. Not that I have any suspiscions that anyone is peeking at my workspaces, but I do have to log in to get to it.  From class I am ever vigilent to make sure that the "remember me" check boxes remain unchecked.  That way, the next student who sits there–I connect from a public computer–will not have my cached ID waiting for him or her to start guessing my password.  Being a System Administrator professionally, I am constantly thinking about security, and need–no I yearn–to learn all I can about the security standards and protocols that secure me and my documents as they reside in the cloud-domain. With respect to Microsoft’s cloud computing efforts I think that dev.live.com is a good place for developers to delve deeper.
 
 
Categories: Cloud Computing
%d bloggers like this: