Monday, March 28, 2011

How will my career evolve with the cloud?

This post is a response to the following article about how careers are evolving as cloud use increases.
https://blogs.technet.com/b/simonmay/archive/2011/03/24/how-will-my-career-evolve-with-the-cloud.aspx

**#1 skill to know moving into the future with technology is business knowledge**

Technical skills to be sure to know:
  1. Understand the technologies that power cloud
    1. Virtualization
    2. Cost Structure behind storage and processing in the cloud
  2. Connection technologies for traditional models to the cloud
  3. Know what your business needs to measure and monitor it
    1. Make sure the business has full availability to its data when it needs it, and scaled down or depleted availability when it doesn't in order to reduce cost
  4. Understand how to govern the cloud
    1. Understand what data to keep in the cloud, and what to keep on premises (operational vs. strategic etc.)
    2. Understand what allowances the cloud provider offers
Things not mentioned in the article that are important to keep tabs on:
  1. Keep vanilla copies of data in the cloud so they can be easily transferred to other providers if need be. 
  2. Keep backups of your stored data so you have access to it should the provider go out of business or shut down temporarily.
  3. Write detailed contracts that include stipulations on every aspect that your company needs from the provider.

Using Amazon RDS

1) Sign up for Amazon RDS, Create RDS Instance, Create DBSecurityGroup that allows elastic beanstalk to connect : http://docs.amazonwebservices.com/AmazonRDS/latest/GettingStartedGuide/

2) Add current IP to Security Group that will allow local computer to connect with MySQL Workbench
3) Download MySQL Workbench : http://dev.mysql.com/downloads/workbench/

4) Connect RDS database with MySQL Workbench
  1. Copy Endpoint from desired RDS database located in the AWS console (RDS window)
  2. Start MySQL Workbench
  3. Click "Open Connection to Start Querying"
  4. Paste Endpoint into text box labeled "Hostname:"
  5. Type  masterUserName into text box labeled "Username:"
  6. Click "Store in Vault" button and enter masterUserPassword
  7. Click "OK" button at bottom of window
5) Modify RDS database

Wednesday, March 2, 2011

Lots of Love for Cloud Computing

The ZDNet article Can you land a cloud computing job? states:
"Cloud computing is the future of IT delivery. Cloud-computing skills are in demand. Cloud-computing jobs are where you should direct you career."

Could be a lot of hype, but everywhere you look these days you'll find articles like this. The article points out that there are both managerial and operational cloud skills in demand.

Building Java Web Apps in AWS using Eclipse

Below is the best link I found for creating a basic Java web project that deploys over AWS.
http://blog.teamextension.com/getting-started-with-aws-elastic-beanstalk-179

Summary:

You must have a valid AWS account, have signed up for Elastic Beanstalk, and have the Eclipse AWS plugin installed. Once all of that is done, Open up Eclipse and create a new aws java web project. Do the rest of the programming the same way you would a normal java web project. When the programming is finished, right click the project name, and go to run as.. and click run on server. When this window pops up, designate a new AWS tomcat server to run on. Once completed, Eclipse will upload the project onto AWS and will be accessible through the AWS console.

An important thing to remember is that when you run your project on the server, AWS creates a S3 bucket for the server to draw files from, and creates and starts an instance for the web server to run on. This instance will stay running and continue to charge your account if you don't turn it off when you are finished.

Wednesday, February 2, 2011

Helpful Links to Help Get Started with Amazon EC2

The following links take you to introduction and tutorial articles about setting up an EC2 instance, how to integrate it with Eclipse, and help you understand how the infrastructure works, and how the separate Amazon software packages interact with each other. It also contains articles about the Java SDK

This guide walks you through launching and connecting to your first Amazon EC2 instance.
http://docs.amazonwebservices.com/AWSEC2/latest/GettingStartedGuide/

 This page provides video guides on setting up the AWS toolkit for Eclipse
http://aws.amazon.com/eclipse/

This guide helps you understand the infrastructure components that EC2 provides and how to use them. The guide shows you how to access EC2 with a web-based GUI, with command line tools, and programmatically through the EC2 API.
http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/

This reference has a single set of topics for both the Query and SOAP APIs (the actions are the same for both APIs). The topic for a given action shows the Query API request parameters. The XML request elements for the SOAP API have names that are very similar to the Query API parameter names. You can view the XML request elements in the WSDL, or look at the proxy classes that a SOAP toolkit generates from the WSDL. Therefore you can look at the topic for a given action and see what you need to provide for either the Query API or the SOAP API. You can also see what the XML response looks like (it's the same for both APIs).
http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/

This is the Amazon Elastic Compute Cloud Command Line Tools Reference. It provides the syntax, a description, options, and usage examples for each command line tool. For detailed information about Amazon EC2 features and their associated commands, go to the Amazon Elastic Compute Cloud User Guide.
http://docs.amazonwebservices.com/AWSEC2/latest/CommandLineReference/

AWS Management Console Tour
http://aws.amazon.com/console/


Getting started with the AWS SDK for Java
http://aws.amazon.com/articles/3586?_encoding=UTF8&jiveRedirect=1

AWS SDK for Java Tips and Tricks
http://aws.amazon.com/articles/3604?_encoding=UTF8&jiveRedirect=1

AWS SDK for Java API Reference
http://docs.amazonwebservices.com/AWSJavaSDK/latest/javadoc/index.html

Wednesday, January 26, 2011

Google App Engine vs. Amazon EC2

Advantages of Google App Engine over EC2
-no server administration
-free usage quotas
-scalability
-ease of deployment
-sdk able to run on client, and then deploy program onto server
-access to Google user accounts
-eclipse plug-ins

Disadvantages
-inability to tweak server software
-filesystem isn't accessible
-many standard library modules are inaccessible
-only Python and whatever runs on JVM
-Bigtable datastore format, non-relational
-reduced set of features and functions results in strong lock-in

**Bigtable datastore: non relational, 3rd time dimension, no defined set of attributes across records (some records may have properties others do not)

Amazon runs a virtual machine which gives you the flexibility to install and run any software on EC2 instances
They have a windows environment virtual machine along with linux and a few others.

"The bottom line is using Google App Engine will be more restrictive than the development and deployment environments that you are used to. The datastore is more difficult to use than a relational database(which for example has global transactions, joins on tables, and a subset of the types of queries that you can do with a relational database). Not being able to start and manage long-running processes also makes some kinds of applications difficult to write. "

Pricing:
GAE is free until the site gets over 5million hits a month
AWS has a new free usage tier available as of November 2010 that allows free usage for 12 months (Linux) or $.03 per hour for windows