<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8182851079738630242</id><updated>2012-02-22T13:34:09.023-08:00</updated><category term='Free Trial of Open Source Applications'/><category term='Scaling Cloud Databases'/><category term='EC2Dream User Guide'/><category term='Network limitations in Amazon EC2'/><category term='PowerShell EC2 Interface'/><category term='Load Balancing and Auto Scaling'/><category term='Spot Instances'/><category term='Amazon RDS'/><category term='Micro Server Instance Type'/><category term='Security'/><category term='Provisioning'/><category term='IT as a Service'/><category term='Graphical System Admin for Eucalyptus'/><category term='Amazon EBS Images'/><category term='Amazon S3'/><category term='Hybrid Cloud Management'/><category term='Cloud APIs'/><category term='Networking Multi-Tier Applications'/><category term='Install and Run Openbravo on EC2'/><category term='Projects'/><category term='Amazon CloudFormation'/><category term='Tags and Management Features'/><category term='Cloud Status'/><category term='Install and Run Alfresco on Amazon EC2'/><category term='Oracle on Amazon EC2'/><category term='EC2Dream - Graphical System Admin Tool'/><category term='Monitoring EC2 Instances'/><category term='Benefits'/><category term='Developing Chef Cookbooks'/><category term='PaaS will become Custom SaaS'/><category term='Scripting with PowerShell'/><category term='Amazon Elastic Beanstalk'/><category term='S3 for Backing up log files'/><category term='Networking in EC2'/><category term='Snapshots'/><category term='Install and Run SugarCRM on EC2'/><category term='Scripting with Ruby'/><category term='Cloud Software Stacks'/><category term='CloudFoundry - Open PaaS'/><category term='EBS'/><category term='Amazon EC2 Overview'/><category term='Chef - Automated Infrastructure in the Cloud'/><category term='DynamoDB - Data as a Service'/><category term='Tools'/><category term='Methodology'/><category term='Contact'/><category term='Install and Run Magento on EC2'/><category term='EC2Dream Installation'/><category term='Getting Started'/><title type='text'>Build and Manage EC2 API Clouds</title><subtitle type='html'>Open Source Graphical System Admin Software, Methods, Consulting, Information, Tutorials</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>50</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-1008997401615095676</id><published>2012-02-15T02:11:00.015-08:00</published><updated>2012-02-15T12:25:50.505-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle on Amazon EC2'/><title type='text'>Oracle on Amazon EC2</title><content type='html'>Oracle have pre-installed images on Amazon EC2. The following are steps to get a database up and running using the pre-installed image.   &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1. Bring up server using ami-8d97bcf9 - Oracle 11.2 Standard Edition EBS backed.&lt;br /&gt;   (See Reference 1 below)&lt;br /&gt;   a. attach 2 EBS disks, one for the database and one for the flash recovery. I&lt;br /&gt;   attach at /dev/sdf and /dev/sdg respectively. &lt;br /&gt;   b. logon to server via ssh and reply to meesage up to where it asks to create a database. &lt;br /&gt;   c. logon to server via another ssh session and initialise the EBS disks: &lt;br /&gt;       &lt;pre&gt;&lt;code&gt;&lt;br /&gt;       mkfs -t ext3 /dev/sdf&lt;br /&gt;       tune2fs -m0 /dev/sdf&lt;br /&gt;       mkdir /u02&lt;br /&gt;       mount /dev/sdf /u02&lt;br /&gt;       mkfs -t ext3 /dev/sdg&lt;br /&gt;       tune2fs -m0 /dev/sdg&lt;br /&gt;       mkdir /u03&lt;br /&gt;       mount /dev/sdg /u03&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;   d. Back to the first orginal ssh session and continue to create the database&lt;br /&gt;      use /dev/sdf for database and mount on /u02&lt;br /&gt;      and /dev/sdg for flash recovery and mount on /u03&lt;br /&gt;2. Enable SCP so we can transfer in files: &lt;br /&gt;    &lt;pre&gt;&lt;code&gt;vi /etc/ssh/sshd_config&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;    uncomment line:  &lt;pre&gt;&lt;code&gt;Subsystem sftp /usr/libexe/openssh/sftp-server&lt;/code&gt;&lt;/pre&gt; &lt;br /&gt;    restart ssh:  &lt;pre&gt;&lt;code&gt;/etc/init.d/sshd restart&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;3. To build the automation scripts need Ruby 1.8.7 (required for Amazon interface&lt;br /&gt;    right_aws) need to upgrade from the supplied Ruby 1.8.5. &lt;br /&gt;    a. Setup Oracle public repository as none defined. (See Reference 2 below)&lt;br /&gt;       &lt;pre&gt;&lt;code&gt;&lt;br /&gt;       cd  /etc/yum.repos.d/&lt;br /&gt;       wget http://public-yum.oracle.com/public-yum-el5.repo&lt;br /&gt;       vi /etc/yum.repos.d/public-yum-el5.repo and set 'enabled=0' parameter to&lt;br /&gt;       'enabled=1' for the Oracle Linux Version 5.4 repository&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;    b. Setup epel repository   (See Reference 3 below)&lt;br /&gt;       &lt;pre&gt;&lt;code&gt;rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;    c. Install pre-requsites for Ruby 1.8.7 install  (See Reference 4 below)&lt;br /&gt;       &lt;pre&gt;&lt;code&gt;&lt;br /&gt;       yum install zlib-devel&lt;br /&gt;       yum install openssl-devel&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;    d. Install Ruby 1.8.7 from source.&lt;br /&gt;       &lt;pre&gt;&lt;code&gt;&lt;br /&gt;       cd /usr/local/src&lt;br /&gt;       wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p357.tar.gz&lt;br /&gt;       tar xvzf ruby-1.8.7*.tar.gz&lt;br /&gt;       cd ruby-1.8.7*&lt;br /&gt;       ./configure --enable-shared --enable-pthread&lt;br /&gt;       make&lt;br /&gt;       make install&lt;br /&gt;       cd ext/zlib&lt;br /&gt;       ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib64&lt;br /&gt;       cd ../../&lt;br /&gt;       make&lt;br /&gt;       make install&lt;br /&gt;       cd ext/openssl&lt;br /&gt;       ruby extconf.rb&lt;br /&gt;       make&lt;br /&gt;       make install&lt;br /&gt;       cd ../../&lt;br /&gt;       ruby -v&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;    e. Make Ruby 1.8.7 default ruby implementation so can be accessed at startup&lt;br /&gt;       &lt;pre&gt;&lt;code&gt;&lt;br /&gt;       mv /usr/bin/ruby /usr/bin/ruby_old &lt;br /&gt;       ln -s /usr/local/src/ruby-1.8.7-p357/ruby /usr/bin/ruby&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;    f. Install Ruby Gems&lt;br /&gt;       &lt;pre&gt;&lt;code&gt;&lt;br /&gt;       cd /usr/local/src&lt;br /&gt;       wget http://rubyforge.org/frs/download.php/75711/rubygems-1.8.15.tgz&lt;br /&gt;       tar xvzf rubygem*.tgz&lt;br /&gt;       cd rubygem*&lt;br /&gt;       ruby setup.rb&lt;br /&gt;       gem install rubygems-update&lt;br /&gt;       update_rubygems&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;    g. Install right_aws the Ruby Amazon AWS Interface&lt;br /&gt;       &lt;pre&gt;&lt;code&gt;gem install right_aws&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;4. Setup Automation Scripts&lt;br /&gt;    a. Use scp to copy &lt;br /&gt;          cloud_init.rb&lt;br /&gt;          settings.rb&lt;br /&gt;          config_listener.rb &lt;br /&gt;       to /root&lt;br /&gt;       NOTE: Verify in cloud_init.rb the lines for ubuntu are commented out and the&lt;br /&gt;       lines for centos/redhat are uncommented&lt;br /&gt;    b. Go to directory /etc/rc.d/init.d and add a file called cloud_init containing: &lt;br /&gt;       &lt;pre&gt;&lt;code&gt;&lt;br /&gt;       #!/bin/sh&lt;br /&gt;       #&lt;br /&gt;       # chkconfig: - 98 01&lt;br /&gt;       # description: initialize cloud requirements for application&lt;br /&gt;       # NOTE: parameter on config_listener.rb is ORACLE_HOME&lt;br /&gt;       #&lt;br /&gt;       ruby /root/cloud_init.rb&lt;br /&gt;       ruby /root/config_listener.rb /u01/app/oracle/product/11.2.0/db_1&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;    c. Don't forget to make it executable&lt;br /&gt;         &lt;pre&gt;&lt;code&gt;chmod a+x cloud_init&lt;/code&gt;&lt;/pre&gt; &lt;br /&gt;    d. Setup the cloud_in to run at startup. It is level 98 because Oracle starts at&lt;br /&gt;       level 99.  &lt;br /&gt;       &lt;pre&gt;&lt;code&gt;chkconfig --level 345 cloud_init on&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;5. Create the oracle image: &lt;br /&gt;   a. shutdown the database and listener (under user oracle)&lt;br /&gt;        &lt;pre&gt;&lt;code&gt;&lt;br /&gt;        su - oracle        &lt;br /&gt;        /u01/app/oracle/product/11.2.0/db_1/bin/dbshut&lt;br /&gt;        lsnrctl stop&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;   b. Update the listener config file so the config_listener.ora script works at startup&lt;br /&gt;        &lt;pre&gt;&lt;code&gt;vi /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;        change 'HOST = ip.999.999.999.999' to 'HOST = &lt;endpoint&gt;'&lt;br /&gt;        NOTE:  ip.999.999.999.999 will be actual ip address of server&lt;br /&gt;   c. Update the oracle user bash profile so that it can also be updated by the&lt;br /&gt;      startup script to the correct address &lt;br /&gt;      &lt;pre&gt;&lt;code&gt; vi /home/oracle/.bash_profile&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;       change&lt;br /&gt;          &lt;pre&gt;&lt;code&gt;export ORACLE_HOSTNAME=ec2-999-999-999-999.eu-west-1.compute.amazonaws.com&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;       to &lt;br /&gt;          &lt;pre&gt;&lt;code&gt;export ORACLE_HOSTNAME=&lt;endpoint&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;       NOTE:  ec2-999-999-999-999 will be actual ip address of server&lt;br /&gt;   d. Go back to the root user and umount and detach the EBS disks. &lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;        umount /u02&lt;br /&gt;        umount /u03&lt;br /&gt;        detach using the AWS console or other tools.&lt;br /&gt;        rm -r /u02&lt;br /&gt;        rm -r /u03&lt;/code&gt;&lt;/pre&gt; &lt;br /&gt;   e. Create an image called oracle-YYMMDD  where YYYMMDD is current date&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;References&lt;/span&gt;&lt;br /&gt;1. &lt;a href="http://databasesincloud.wordpress.com/2012/01/25/desaster-recovery-in-the-cloud-part-2/"&gt;http://databasesincloud.wordpress.com/2012/01/25/desaster-recovery-in-the-cloud-part-2/&lt;/a&gt;&lt;br /&gt;2. &lt;a href="http://www.oracle.com/technetwork/topics/linux/yum-repository-setup-085606.html"&gt;http://www.oracle.com/technetwork/topics/linux/yum-repository-setup-085606.html&lt;/a&gt;&lt;br /&gt;3. &lt;a href="http://gembuls.wordpress.com/2011/02/12/how-to-install-epel-repository-on-centos/"&gt;http://gembuls.wordpress.com/2011/02/12/how-to-install-epel-repository-on-centos/&lt;/a&gt;&lt;br /&gt;4. &lt;a href="http://www.xelacomp.com/blog/02-09-2011/install-ruby-187-rubygems-and-passenger-centos5-64-bit"&gt;http://www.xelacomp.com/blog/02-09-2011/install-ruby-187-rubygems-and-passenger-centos5-64-bit&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Scripts can be found at&lt;/span&gt; &lt;br /&gt;&lt;a href="http://ec2dream.webs.com/scripts/settings.rb"&gt;settings.rb&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ec2dream.webs.com/scripts/cloud_init.rb"&gt;Cloud_init.rb&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ec2dream.webs.com/scripts/config_listener.rb"&gt;config_listener.rb&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-1008997401615095676?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/1008997401615095676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2012/02/oracle-on-amazon-ec2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/1008997401615095676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/1008997401615095676'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2012/02/oracle-on-amazon-ec2.html' title='Oracle on Amazon EC2'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-3750044975108342846</id><published>2012-02-05T05:44:00.001-08:00</published><updated>2012-02-05T05:44:47.494-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hybrid Cloud Management'/><title type='text'>Hybrid Cloud Management</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_TfQFXZiv-Y0/SctMX6L-4pI/AAAAAAAAAGo/Xf0t9GgPSik/s1600-h/high_riser.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_TfQFXZiv-Y0/SctMX6L-4pI/AAAAAAAAAGo/Xf0t9GgPSik/s320/high_riser.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5317427758681219730" /&gt;&lt;/a&gt;The future is definitely hybrid clouds. &lt;br /&gt;&lt;br /&gt; Just like when shopping, you want to be able to buy from the best store.&lt;br /&gt;&lt;br /&gt; With rental cars, you want to use you own car sometimes and at other times use a rental car (like when you are interstate or your car is being repaired). &lt;br /&gt;  &lt;br /&gt; Similarly companies will want to use different public clouds for redundancy or to take advantage of different features or pricing. Also they may want to use one-site servers, i.e. a private cloud, as well as public clouds.  &lt;br /&gt;&lt;br /&gt; This has implication for cloud management. You need an approach that spans multiple public clouds and can work with your private cloud internal servers. So the tools that come with the cloud provider will over time give way to tools that span multiple clouds. &lt;br /&gt;&lt;br /&gt; EC2Dream is the only free tool that can work with any EC2 API cloud. It works with the Amazon and OpenStack Cloud.com public clouds as well as Eucalyptus and  OpenStack Cloud.com private clouds. &lt;br /&gt;&lt;br /&gt;You also see the commercial cloud management companies adopting the same approaches: &lt;br /&gt;RightScale with the &lt;a href="http://www.rightscale.com/products/mycloud.php"&gt;myCloud&lt;/a&gt; initiative. &lt;br /&gt;&lt;a href="http://enstratus.com/page/1/private-cloud-management.jsp"&gt;enStratus&lt;/a&gt; provides on-premise or SaaS self-service management&lt;br /&gt;&lt;br /&gt;You can also look at:&lt;br /&gt; &lt;a href="http://www.cloudkick.com/"&gt;Cloudkick&lt;/a&gt;&lt;br /&gt; &lt;a href="https://scalr.net/features/"&gt; Scalr&lt;/a&gt;&lt;br /&gt; &lt;a href="http://www.kaavo.com/"&gt; Kaavo&lt;/a&gt;&lt;br /&gt; &lt;a href="http://www.tapinsystems.com"&gt;Tapin Systems&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;References&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.networkworld.com/pdf/nw-gated/2011/0611-cloud-management.pdf"&gt;Cloud Management&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.cloudfoundry.com/post/13481010615/multi-language-multi-framework-what-about-multi-cloud"&gt;Multi-Language, Multi-Framework, what about Multi-Cloud?&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-3750044975108342846?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/3750044975108342846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2012/02/hybrid-cloud-management.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/3750044975108342846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/3750044975108342846'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2012/02/hybrid-cloud-management.html' title='Hybrid Cloud Management'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_TfQFXZiv-Y0/SctMX6L-4pI/AAAAAAAAAGo/Xf0t9GgPSik/s72-c/high_riser.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-285765457543050346</id><published>2012-02-05T05:43:00.001-08:00</published><updated>2012-02-05T06:01:33.126-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>Projects</title><content type='html'>&lt;span style="font-weight:bold;"&gt;CLOUD PROJECTS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.creditpal.co.uk/our-company"&gt;Future Route&lt;/a&gt;&lt;br /&gt;Migrated the CreditPal application to Amazon AWS. This saved money compared to previous hosted solution. This is a multi-tiered Java and MySql application.   &lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.my1login.com/"&gt;My1Login&lt;/a&gt;&lt;br /&gt;Migrated the my1Logon website to Amazon EC2 so that they could respond to growth quickly. This is a PHP and MySQL application. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.bmj.com/"&gt;British Medical Journals&lt;/a&gt;&lt;br /&gt;Setup Disaster Recovery on Amazon AWS for the BMJ website and applications. This is a multi-tier Java and Oracle application.   &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;GRID PROJECTS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.credit-suisse.com/uk/en/"&gt;Credit Suisse&lt;/a&gt;&lt;br /&gt;Migrated their datasynapse applications to version 5.1. Further project to migrate to Platform Symphony.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-285765457543050346?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/285765457543050346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2012/02/projects.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/285765457543050346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/285765457543050346'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2012/02/projects.html' title='Projects'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-4332905034206803944</id><published>2012-01-21T04:01:00.000-08:00</published><updated>2012-01-21T04:57:49.281-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DynamoDB - Data as a Service'/><title type='text'>DynamoDB - Data as a Service</title><content type='html'>In Data as a Service we now have a solution to the cloud database scalability problem and we could be ushering in the era of cloud applications!! &lt;br /&gt;&lt;br /&gt; Within the next few years a Data as a Service (DaaS) capability will become central to Cloud Computing offerings. DynamoDB data service can be configured to scale up to very large transaction rates and database sizes with consistent performance. Amazon competitors will need to have an offering (maybe using Cassandra?).&lt;br /&gt;&lt;br /&gt; The future of cloud applications could be:&lt;br /&gt;1. Define and store data in Data as a Service like DynamoDB.&lt;br /&gt;2. Run the the application in a PaaS like cloud foundry. &lt;br /&gt;3. Use analytics applications like Hadoop (like Amazon Elastic Map Reduce) for Analytics directly on the Data as a service. &lt;br /&gt;&lt;br /&gt;The could mean:&lt;br /&gt;1. Theoretically infinite scalability of applications &lt;br /&gt;2. Just paying for the amount of infrastructure you need&lt;br /&gt;3. Radically reduced setup time for applications&lt;br /&gt;4. Reduced number of Operations staff to manage the database....&lt;br /&gt;&lt;br /&gt; Currently many applications are build use Object relational mapping through software like Hibernate. Hibernate is developing NoSQL support so these applications could be ported onto Data as a Service platforms. Although I am sure developers will need to make coding changes to be able to use the power of these Data as a Service offerings.      &lt;br /&gt;&lt;br /&gt; Will we see packaged products that use Relation Databases (e.g. Content Management Systems) move to NoSQL implementations? &lt;a href="http://ecmarchitect.com/archives/2010/07/07/1176"&gt;Alfresco&lt;/a&gt; seems to looking into it. &lt;br /&gt;&lt;br /&gt;When we start to see major packages like e-commerce packages like Magento, Content Management Systems like Alfresco support NoSQL Data as a service like DynamoDB we will know we are on the way to the new era of cloud applications....  &lt;br /&gt;&lt;br /&gt;It is no coincidence that Oracle have announced a NoSQL capability too!!!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;References&lt;/span&gt;&lt;br /&gt;&lt;a href="http://aws.typepad.com/aws/2012/01/amazon-dynamodb-internet-scale-data-storage-the-nosql-way.html"&gt;Amazon DynamoDB internet scale data storage the nosql way&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cloudbzz.com/paas-data/"&gt;PaaS Data&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cloudave.com/16853/next-iteration-of-paas-will-amazon-join-that-race/"&gt;Next Iteration of PaaS - will amazon join that race&lt;/a&gt;&lt;br /&gt;&lt;a href="http://gigaom.com/cloud/should-nosql-startups-be-afraid-of-dynamodb/"&gt;Should Nosql startups be afraid of DynamoDB?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.infoworld.com/d/data-explosion/first-look-oracle-nosql-database-179107"&gt;First look: Oracle NoSQL Database&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-4332905034206803944?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/4332905034206803944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2012/01/dynamodb-data-as-service.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/4332905034206803944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/4332905034206803944'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2012/01/dynamodb-data-as-service.html' title='DynamoDB - Data as a Service'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-8167307419766119515</id><published>2011-10-17T02:29:00.000-07:00</published><updated>2011-10-18T01:31:25.226-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PaaS will become Custom SaaS'/><title type='text'>PaaS will become Custom SaaS</title><content type='html'>The &lt;a href="http://en.wikipedia.org/wiki/Software_as_a_service"&gt;SaaS&lt;/a&gt; marketplace is following the same path as the Enterprise Software market of 1980s and 1990s. First applications were sold are "turnkey" solutions and vendors kept the source code to themselves as the "secret sauce". Ofcourse customers wanted to customize them so application were developed so they can be configured and the more successful applications became platforms that the application was built on so that they could be changed more easily. &lt;br /&gt;&lt;br /&gt; Salesforce.com is trying to create a customization platform via &lt;a href="http://developer.force.com/sitesgallery"&gt;Force.com&lt;/a&gt; etc.&lt;br /&gt; &lt;br /&gt;Other (smaller) SaaS vendors need to move their applications to standard stacks: &lt;br /&gt;- Java&lt;br /&gt;- PHP/Perl&lt;br /&gt;- Ruby&lt;br /&gt;-.NET&lt;br /&gt;and get them running under a &lt;a href="http://en.wikipedia.org/wiki/Platform_as_a_service"&gt;PaaS&lt;/a&gt; product like &lt;a href="http://www.cloudfoundry.com/"&gt;Cloud Foundry&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Then they will have a basis for re-architecting their product to make it easier to customize by:&lt;br /&gt;- integrating with &lt;a href="http://en.wikipedia.org/wiki/Rapid_application_development"&gt;RAD&lt;/a&gt; tools like Eclipse and Source Control like &lt;a href="http://git-scm.com/"&gt;GIT&lt;/a&gt;.&lt;br /&gt;- Perhaps developing a core part of the application that are services that are not customized and an outer core that can be customized.  &lt;br /&gt;- Writing the documentation that developers need to customize the product.&lt;br /&gt;- Perhaps running it on there own-labeled Cloud Foundry implementation on Amazon AWS.  &lt;br /&gt;&lt;br /&gt;Surely, Enterprise software vendors will also move their products to standard stacks in a PaaS product to more effectively compete with the Saas product vendors. &lt;br /&gt;&lt;br /&gt;Products like SaaSgrid that are proprietary tools for building SaaS application are repositioning a PaaS. SaaGrid is now &lt;a href="http://apprenda.com/"&gt;Apprenda&lt;/a&gt; Platform as a Serice for the .NET platform. &lt;br /&gt; &lt;br /&gt;We will know this is starting to happen when PaaS vendors announce support for applications rather that just &lt;a href="http://blog.cloudfoundry.com/post/9374366916/cloud-foundry-adds-php-and-python-through-community"&gt;system software products&lt;/a&gt; and start adding more features for developing SaaS applications.&lt;br /&gt;&lt;br /&gt;The PaaS market is getting crowded so this is an indication of a market starting to develop. For Java alone there a dozen participants:  &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://aws.amazon.com/elasticbeanstalk/"&gt;Amazon Elastic Beanstalk&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.cloudbees.com/run.cb" &gt;CloudBees Run@Cloud&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://cumulogic.com/"&gt;Cumulogic&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://code.google.com/appengine/" &gt;Google App Engine&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.ibm.com/cloud-computing/us/en/paas.html" &gt;IBM SmartCloud Application Services&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.microsoft.com/windowsazure/interop/" &gt;Microsoft Azure&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://cloud.oracle.com/mycloud/f?p=service:java:0:::::"&gt;Oracle Public Cloud&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://outsystems.com/" &gt;OutSystems Agile Platform&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="https://openshift.redhat.com/app/" &gt;Red Hat OpenShift&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.heroku.com/java" &gt;Salesforce.com Heroku for Java&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.cloudfoundry.com/" &gt;VMWare CloudFoundry&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;WSO2 &lt;a href="http://wso2.com/cloud/stratos/" &gt;Stratos&lt;/a&gt;/&lt;a href="https://stratoslive.com/" &gt;StratosLive&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;References&lt;/span&gt;&lt;br /&gt;&lt;a href="http://blog.outsystems.com/aboutagility/2011/06/custom-saas-calls-for-rad-paas.html"&gt;Custom SaaS Calls for RAD PaaS&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-8167307419766119515?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/8167307419766119515/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2011/10/paas-will-become-custom-saas.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/8167307419766119515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/8167307419766119515'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2011/10/paas-will-become-custom-saas.html' title='PaaS will become Custom SaaS'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-2475848645778021569</id><published>2011-06-14T05:26:00.000-07:00</published><updated>2011-08-25T01:44:28.605-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Free Trial of Open Source Applications'/><title type='text'>Free Trial of Open Source Applications</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-6ZO2swL0nPo/TfdWA9FUAYI/AAAAAAAAAWU/wn-Enw-YvkI/s1600/1302426_feet.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 133px;" src="http://1.bp.blogspot.com/-6ZO2swL0nPo/TfdWA9FUAYI/AAAAAAAAAWU/wn-Enw-YvkI/s200/1302426_feet.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5618053634564817282" /&gt;&lt;/a&gt;Do you want a free way to trial or teach yourself an application without the hassle of installation and setup?   Well, combining: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://aws.amazon.com/free/"&gt;AWS Free Tier&lt;/a&gt;  and &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://bitnami.org/cloud/pricing"&gt;BitNami Free Developer Plan&lt;/a&gt;&lt;br /&gt;you can run a micro instance on Amazon EC2 for a year and try out dozens of well known open source applications like &lt;a href="http://bitnami.org/cloud/apps"&gt;SugarCRM, Magento&lt;/a&gt; etc etc.&lt;br /&gt;&lt;br /&gt; Just sign up for a &lt;a href="http://aws.amazon.com/free/"&gt;AWS Free Tier&lt;/a&gt; and the &lt;a href="http://bitnami.org/cloud/pricing"&gt;BitNami Free Developer Plan&lt;/a&gt;&lt;br /&gt; &lt;br /&gt; In the future more "free" micro instances of applications will appear on Amazon EC2, even proprietary products. It is an easy way for vendors to offer trials of their applications and a good way to teach yourself an application. Ofcourse, once trialled the application could be installed inside the company firewall, on any hosting or cloud site, or even Amazon EC2. &lt;br /&gt;&lt;br /&gt; Every University Student of Computer Science, Business Studies etc should be using it. You could run the first year of an online e-commerce startup for free with Magento.&lt;br /&gt;&lt;br /&gt; The &lt;a href="http://thecloudmarket.com/"&gt;Cloud Market&lt;/a&gt; is a good place for looking for Amazon Images. Maybe in the future they can list trial "micro instance" applications and allow you to automatically run them. Perhaps get some sponsorship from companies or provide feedback from trials of applications.&lt;br /&gt;&lt;br /&gt; In the future we will see a tremendous number of free tools and offers around cloud computing. For example there is now a free &lt;a href="http://www.solarwinds.com/register/index.aspx?Program=1521&amp;c=70150000000PANv&amp;INTCMP=DLIndexA_FreeTools_freeVMtoCloudCalculator"&gt;VM to Cloud Calculator&lt;/a&gt;  &lt;br /&gt;&lt;br /&gt;CloudFoundry now have a &lt;a href="https://www.cloudfoundry.com/micro"&gt;Micro Instance&lt;/a&gt; so you can run a complete instance of Cloud Foundry on your own computer. This is a great way to try out Cloud Foundry for Free!!!  In the future there will be apps available for cloud Foundry (Cloud Foundry App Store anyone?) and this this will be a great way to try out apps as well....&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Other Free Offers&lt;/span&gt; &lt;br /&gt;&lt;a href="http://chriskoenig.net/2011/04/07/get-in-the-cloud-for-free/"&gt;Windows Azure&lt;/a&gt; - 30 days free&lt;br /&gt;&lt;a href="https://www.salesforce.com/form/signup/freeforce-platform.jsp"&gt;Force.com&lt;/a&gt; - 60 days free&lt;br /&gt;&lt;a href="http://www.cloudfoundry.com/signup"&gt;Cloud Foundry&lt;/a&gt; - Free Signup &lt;br /&gt;&lt;a href="https://www.rightscale.com/s/vmware-cloud-foundry.php"&gt;Cloud Foundry + RightScale = Fast Multi-Cloud Onramp&lt;/a&gt; - Free Signup&lt;br /&gt;&lt;a href="http://thecloudtutorial.com/freecloudcomputingapplications.html"&gt;Free cloud computing applications&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-2475848645778021569?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/2475848645778021569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2011/06/free-trial-of-open-source-applications.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/2475848645778021569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/2475848645778021569'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2011/06/free-trial-of-open-source-applications.html' title='Free Trial of Open Source Applications'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-6ZO2swL0nPo/TfdWA9FUAYI/AAAAAAAAAWU/wn-Enw-YvkI/s72-c/1302426_feet.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-9117058645571094490</id><published>2011-06-10T07:13:00.000-07:00</published><updated>2011-06-27T01:19:59.890-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network limitations in Amazon EC2'/><title type='text'>Network limitations in Amazon EC2</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-raZyPvtOEE0/TfInEuQDf9I/AAAAAAAAAWM/oR2xvt-1lkY/s1600/Hamilton-Pie-Chart-300x189.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 126px;" src="http://2.bp.blogspot.com/-raZyPvtOEE0/TfInEuQDf9I/AAAAAAAAAWM/oR2xvt-1lkY/s200/Hamilton-Pie-Chart-300x189.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5616594647372758994" /&gt;&lt;/a&gt;The limiting factor in the Amazon EC2 cloud seems to currently be the internal network. &lt;a href="http://perspectives.mvdirona.com/2011/06/09/AmazonTechnologyOpenHouse.aspx"&gt;James Hamilton&lt;/a&gt; let the cat out of the bag in his latest presentation where he states that networking costs are 8% of a datacentre and rising while servers are 57% and falling. He saids: &lt;br /&gt;&amp;nbsp;&amp;nbsp;1. Current networks over-subscribed&lt;br /&gt;&amp;nbsp;&amp;nbsp;2. Forces workload placement restrictions&lt;br /&gt;&amp;nbsp;&amp;nbsp;3. Goal: all points in datacenter equidistant&lt;br /&gt;   &lt;br /&gt;When Amazon can push the whole of the Amazon EC2 internal network to 10 Gbit/s and make it more consistent by having a flatter network or add a proper &lt;a href="http://en.wikipedia.org/wiki/Storage_area_network"&gt;SAN&lt;/a&gt; capability then Amazon EC2 will really start to hum for enterprises. &lt;br /&gt;&lt;br /&gt;Currently Elastic Block Store Dervices (EBS) response can be &lt;a href="http://orion.heroku.com/past/2009/7/29/io_performance_on_ebs/"&gt;variable&lt;/a&gt; and you need to be careful doing &lt;a href="http://alestic.com/2011/02/ec2-consistent-snapshot-sceencast"&gt;snapshots and backups&lt;/a&gt; to make sure they are consistent. Currently the Block Storage devices don't give the same performance that enterprises have been getting from (more expensive) SANs. &lt;br /&gt;&lt;br /&gt;There are some new development to provide &lt;a href="http://gigaom.com/cloud/forget-cool-openflow-and-networking-is-now-hot/"&gt;network virtualization&lt;/a&gt; using &lt;a href="http://gigaom.com/2011/03/21/open-networking-foundatio/"&gt;OpenFlow&lt;/a&gt; that could be promising in the long term but it will be a number of years before these bear fruit.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;References&lt;/span&gt;&lt;br /&gt;&lt;a href="http://agilesysadmin.net/ec2-outage-lessons"&gt;Today’s EC2/EBS Outage: Lessons learned&lt;/a&gt;&lt;br /&gt;&lt;a href="http://af-design.com/blog/2010/03/02/honesty-box-ebs-performance-revisited/"&gt;Honesty Box: EBS Performance Revisited&lt;/a&gt;&lt;br /&gt;&lt;a href="http://altentee.com/blogs/2010/improved-ebs-snapshots-on-amazon-ec2/"&gt;Improved EBS snapshots on Amazon EC2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.dt.org/index.php/2010/06/amazon-ec2-io-performance-local-emphemeral-disks-vs-raid0-striped-ebs-volumes/"&gt;Amazon EC2 I/O Performance: Local Ephemeral Disks vs. RAID 0 Striped EBS Volumes&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gluster.com/products/virtual-storage-appliances/ami/"&gt;Gluster Virtual Storage Appliance for Amazon Web Services&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.bioteam.net/2010/07/playing-with-nfs-glusterfs-on-amazon-cc1-4xlarge-ec2-instance-types/"&gt;Playing with NFS &amp; GlusterFS on Amazon cc1.4xlarge EC2 instance types&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.openflow.org/wp/learnmore/"&gt;OpenFlow - Learn More&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-9117058645571094490?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/9117058645571094490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2011/06/network-limitations-in-amazon-ec2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/9117058645571094490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/9117058645571094490'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2011/06/network-limitations-in-amazon-ec2.html' title='Network limitations in Amazon EC2'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-raZyPvtOEE0/TfInEuQDf9I/AAAAAAAAAWM/oR2xvt-1lkY/s72-c/Hamilton-Pie-Chart-300x189.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-2977765556524479706</id><published>2011-04-13T02:28:00.000-07:00</published><updated>2011-12-16T07:54:19.717-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CloudFoundry - Open PaaS'/><title type='text'>Cloud Foundry - Open PaaS</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://cloudfoundry.com/faq"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 133px;" src="http://3.bp.blogspot.com/-mRuLZHDaNcA/TaVwj-J0TvI/AAAAAAAAAVs/8qax8_uWU60/s200/foundry.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5595001875359616754" /&gt;&lt;/a&gt; VMware's &lt;a href="http://www.cloudfoundry.com/"&gt;Cloud Foundry&lt;/a&gt; is enormously significant. Like other PaaS products it removes the integration issues for middleware and automates deployments giving developers and admin significant productivity improvements.&lt;br /&gt; &lt;br /&gt; &lt;span style="font-style:italic;"&gt;If IaaS improved the productivity of the Data Centre "Platform as a Service" is going to improve developer and admin productivity.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;But most other PaaS Products are &lt;span style="font-style:italic;"&gt;proprietary and a lock-in&lt;/span&gt; to the vendor's platform. Hardly an attractive prospect no matter what the productivity improvement. Cloud Foundry works with&lt;span style="font-style:italic;"&gt; multiple clouds, frameworks and services&lt;/span&gt; with the &lt;a href="https://github.com/cloudfoundry"&gt;source code&lt;/a&gt; available to be understood, enhanced, modified or extended.&lt;br /&gt; Look out for the eco-system of products and partners that will be build on this product. When the major open source application products like SugarCRM, Alfresco, Magnento etal supply versions that run on Cloud Fountry then this could really take-off and all the public clouds will have to offer the Cloud Foundry service.     &lt;br /&gt;&lt;br /&gt; If you look at the source you will see that alot of it is Ruby confirming my belief that Ruby will be important in building Cloud Infrastructure. EC2Dream is written 100% in Ruby. CloudFoundry has a command line client written in Ruby!! Also internally the client uses an http and JSON API to communicate with the cloud. Amazon Cloud Formation also uses http and JSON... &lt;br /&gt;&lt;br /&gt; Cloud Foundry will be supplying a free Cloud Foundry Micro Cloud. Basically a downloaded VMware image for Cloud Foundry that can be run under VMware Player or Fusion (on Mac). This means you can build and unit test your application on your Desktop and then deploy to a Private or Public Cloud. &lt;br /&gt;&lt;br /&gt;Interesting Redhat have released &lt;a href="https://www.redhat.com/solutions/cloud/openshift/"&gt;OpenShift&lt;/a&gt; which is similar to Cloud Foundry. It uses a Ruby-based Client Comand Line Interface. They have not open sourced the code (yet) and it will be initially available on Amazon EC2. Also they use git for source control while Cloud Foundry did not want to force users to use git.&lt;br /&gt;&lt;br /&gt;In summary Proprietary PaaS, that is language specific (e.g. Ruby Heroku) or SaaS specific (e.g. VMForce), is not the future of PaaS. Open PaaS that supports a broad range of technologies and can also be deployed by Enterprises inside their firewalls is the future.....VMWare is definitely after enterprises with this technology. Within a few years enterprises will all be adopting this "deploy and scaling" approach to application execution.  &lt;br /&gt;&lt;br /&gt;Now there is  a .NET implementation called &lt;a href="http://www.ironfoundry.org/"&gt;Iron Foundry&lt;/a&gt;. Cloud Foundry now supports the most environments of any PaaS product!!       &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;References&lt;/span&gt;&lt;br /&gt;&lt;a href="http://deors.wordpress.com/2011/11/04/vmware-cloud-foundry/"&gt;VMware Cloud Foundry: A Cloud Primer&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cloudave.com/13383/paas-is-the-future-of-cloud-services-battle-lines-are-clearly-drawn/#comment-13898"&gt;PaaS Is The Future Of Cloud Services: Battle Lines Are Clearly Drawn&lt;/a&gt; &lt;br /&gt;&lt;a href="http://devstonez.wordpress.com/2011/04/13/all-you-need-to-know-about-cloud-foundry-blogs-articles-reviews-tutorials-videos/"&gt;CloudFoundry Blogs, Reviews, Articles&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.igvita.com/2011/04/14/vmware-cloudfoundry-ruby-powered-paas/"&gt;VMware CloudFoundry: Ruby powered PaaS&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.virtualizationpractice.com/blog/?p=10567"&gt;VMware’s CloudFoundry and Red Hat’s OpenShift – Compare and Contrast&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ewanleith.com/blog/128/try-cloudfoundry-on-an-aws-micro-instance"&gt;Try CloudFoundry on an AWS Micro instance&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.cloudfoundry.com/post/4737632136/what-happens-when-you-vmc-push-an-application-to-cloud"&gt;CloudFoundry Architecture - Part1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.cloudfoundry.com/post/5223861703/how-cloud-foundry-works-when-a-new-application-is"&gt;CloudFoundry Architecture - Part2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.cloudfoundry.com/post/4754582920/cloud-foundry-open-paas-deep-dive"&gt;CloudFoundry DeepDive&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.rightscale.com/2011/04/14/cloud-foundry-architecture-and-auto-scaling/"&gt;From Righscale's blog&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.slideshare.net/mccrory-me/cloud-foundry-a-developers-perspective"&gt;Slideshare&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=TrbUay5rE0U"&gt;Cloud Foundry Live Webinar&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.newrelic.com/2011/06/01/monitor-your-rails-app-on-vmwares-cloud-foundry/"&gt;Monitor your Rails app on VMWare’s Cloud Foundry&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.zenoss.com/2011/05/monitoring-vmwares-cloud-foundry/"&gt;Monitoring VMware’s Cloud Foundry&lt;/a&gt;&lt;br /&gt;&lt;a href="https://www.dotcloud.com/"&gt;DotCloud&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-2977765556524479706?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/2977765556524479706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2011/04/cloudfoundry-open-paas-this-is-future.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/2977765556524479706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/2977765556524479706'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2011/04/cloudfoundry-open-paas-this-is-future.html' title='Cloud Foundry - Open PaaS'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-mRuLZHDaNcA/TaVwj-J0TvI/AAAAAAAAAVs/8qax8_uWU60/s72-c/foundry.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-3213924944785719963</id><published>2011-03-18T08:42:00.000-07:00</published><updated>2011-03-30T02:01:16.838-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scaling Cloud Databases'/><title type='text'>Scaling Cloud Databases</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-jnUl9GtKUeE/TYOGMC66o3I/AAAAAAAAAVQ/H8eAAq3F0Rs/s1600/teamwork_2.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://4.bp.blogspot.com/-jnUl9GtKUeE/TYOGMC66o3I/AAAAAAAAAVQ/H8eAAq3F0Rs/s200/teamwork_2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5585455504370082674" /&gt;&lt;/a&gt;To scale applications it has become accepted practice to introduce a load balancer in front application servers and have clients access the applications via the load balancer. With Amazon EC2 it is very simple to hook up your applications to the Load Balancer and Auto Scaling Services. Traditionally scaling SQL databases is expensive and calls for "scaling up" to bigger servers and &lt;a href="http://en.wikipedia.org/wiki/Computer_cluster"&gt;clusters&lt;/a&gt; of servers. Then there are the redundancy and failover requirements to consider! &lt;br /&gt; &lt;br /&gt;Currently there are a number of new approaches to scaling databases and in the next few years we will see which approaches become accepted in cloud computing. My guess is that Amazon RDS will introduces improved scaling of the database. Currently, &lt;a href="http://www.dbshards.com/dbshards/cloud-edition/"&gt;dbShards&lt;/a&gt; and &lt;a href="http://xeround.com/mysql-cloud-db-overview/amazon-rds-feature-comparison/"&gt;Xeround&lt;/a&gt; both have solutions running on EC2. &lt;a href="http://www.scalebase.com/solution/mysql-support-for-amazon-ec2-customers/"&gt;Scalebase&lt;/a&gt; even works with Amazon RDS so it would be pretty easy to make Scalebase part of the Amazon RDS offering.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Scale-Out SQL Databases&lt;/span&gt;&lt;br /&gt;For SQL databases there are a large number of new products to &lt;a href"http://en.wikipedia.org/wiki/Scalability"&gt;scale out databases horizontally&lt;/a&gt;. Many of these are &lt;a href="http://en.wikipedia.org/wiki/Shared_nothing_architecture"&gt;shared nothing&lt;/a&gt; databases that use &lt;a href="http://en.wikipedia.org/wiki/Shard_%28database_architecture%29"&gt;sharding&lt;/a&gt; to partition a database. &lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.scalebase.com/resources/architecture/"&gt;ScaleBase&lt;/a&gt; - A Database Load Balancer for your existing server (MySQL, Oracle Database, Microsoft SQL Server or IBM DB2).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://xeround.com/mysql-cloud-db-overview/"&gt;Xeround&lt;/a&gt; -  &lt;a href="http://www.slideshare.net/jackbillow/mysql-storage-engines"&gt;MySQL Storage Engine&lt;/a&gt; Architecture to implement in-memory database utilizing NoSQL concepts. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.dbshards.com/dbshards/"&gt;dbShards&lt;/a&gt; - Application-Aware Sharding.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.translattice.com/"&gt;TransLattice&lt;/a&gt; - more of an distributed application platform, but it contains a distributed relational SQL database that supports eventual consistency.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.nimbusdb.com"&gt;NimbusDB&lt;/a&gt; - Scalable SQL transactional database.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://highscalability.com/blog/2010/6/28/voltdb-decapitates-six-sql-urban-myths-and-delivers-internet.html"&gt;VoltDB&lt;/a&gt; - in-memory shared-nothing system. Stored procedures become the unit of transaction. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.scaledb.com"&gt;ScaleDB&lt;/a&gt; -  Engine for MySQL using shared-disk architecture rather than shared nothing. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://drizzle.org/"&gt;Drizzle&lt;/a&gt; - Leaner, faster version of MySQL removing a host of non-core features (including views, triggers, prepared statements, stored procedures, query cache, ACL, and a number of data types).&lt;br /&gt;&lt;br /&gt;Sharding is like a load balancer for the data. A big part of sharding is picking a good &lt;a href="http://www.dbshards.com/dbshards/database-sharding-strategies/"&gt;partitioning scheme&lt;/a&gt;. &lt;br /&gt;1. Vertical partitioning. (data related to a specific feature is stored on the same machines)&lt;br /&gt;2. Key-based partitioning.&lt;br /&gt;3. Directory-based partitioning. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://en.wikipedia.org/wiki/NoSQL"&gt;NoSQL&lt;/a&gt; databases &lt;/span&gt;&lt;br /&gt; Lightweight, open source relational databases that do not expose a SQL interface. These are diverse products and can be key value, Document-oriented, or Column-family stores. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/CouchDB"&gt;CouchDB&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Amazon_SimpleDB"&gt;Amazon SimpleDB&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Apache_Cassandra"&gt;Cassandra&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/MongoDB"&gt;MongoDB&lt;/a&gt;&lt;br /&gt;and more....&lt;br /&gt;Designed for high availabiliy and eventual consistency rather than guaranteed &lt;a href="http://en.wikipedia.org/wiki/ACID"&gt;ACID&lt;/a&gt; (atomicity, consistency, isolation, durability) database transactions like SQL databases.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Cache/In Memory Data Grids&lt;/span&gt;&lt;br /&gt;A number of commercial and open source products cache Key/Object Stores. Often fronting SQL databases and using the &lt;a href="http://ehcache.org/documentation/jsr107.html"&gt;JCache&lt;/a&gt; API.   &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.oracle.com/technology/products/coherence/index.html"&gt;Coherence&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.gemstone.com/products/gemfire"&gt;Gemfire&lt;/a&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.gigaspaces.com/datagrid"&gt;Gigaspaces&lt;/a&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://ehcache.org/documentation/distributed_caching_with_terracotta.html"&gt;Ehcache/Terracotta&lt;/a&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://memcached.org/"&gt;MemCached&lt;/a&gt;. This was often used with &lt;a href="http://highscalability.com/blog/2010/2/26/mysql-and-memcached-end-of-an-era.html"&gt;MySQL&lt;/a&gt;  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;Given the prevalence of SQL databases it is hard to imagine non-SQL databases becoming the common database approach. More likely "scale out" SQL databases with front-end caches will become the next architecture. Although as application code moves more to &lt;a href="http://en.wikipedia.org/wiki/Object-relational_mapping"&gt;Object Relational Mapping&lt;/a&gt; (using products like &lt;a href="http://www.hibernate.org/about/orm"&gt;hibernate&lt;/a&gt;)  NoSQL databases become more viable.       &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;References&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.slideshare.net/imagineashow/scaling-databases-on-the-cloud"&gt;Scaling Databases on the cloud&lt;/a&gt;&lt;br /&gt;&lt;a href="http://highscalability.com/are-cloud-based-memory-architectures-next-big-thing"&gt;Are cloud-based memory architectures the next big thing&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.slideshare.net/adorepump/distributed-caching-using-the-jcache-api-and-ehcache-including-a-case-study-on-wotifcom"&gt;Distributed Caching Using the JCACHE API and ehcache&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.dbms2.com/2010/08/22/workday-technology-stack/"&gt;The Workday architecture — a new kind of OLTP software stack&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-3213924944785719963?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/3213924944785719963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2011/03/scaling-cloud-databases.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/3213924944785719963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/3213924944785719963'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2011/03/scaling-cloud-databases.html' title='Scaling Cloud Databases'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-jnUl9GtKUeE/TYOGMC66o3I/AAAAAAAAAVQ/H8eAAq3F0Rs/s72-c/teamwork_2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-3032646364745360889</id><published>2011-02-25T05:00:00.000-08:00</published><updated>2011-03-08T07:16:37.305-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Amazon CloudFormation'/><title type='text'>Amazon CloudFormation</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-mRStSrVqn6o/TWer48GnahI/AAAAAAAAAVA/YPyNVr3zZcA/s1600/red_arrows.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 133px;" src="http://4.bp.blogspot.com/-mRStSrVqn6o/TWer48GnahI/AAAAAAAAAVA/YPyNVr3zZcA/s200/red_arrows.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5577615658216548882" /&gt;&lt;/a&gt;&lt;a href="http://aws.amazon.com/cloudformation/"&gt;Amazon CloudFormation&lt;/a&gt; is a new way of provisioning software stacks in Amazon EC2. Instead of issuing commands (or running a script) against the different Amazon AWS services you just specify a template &lt;a href="http://www.json.org/"&gt;JSON file&lt;/a&gt; with all your requirements. For example the sample &lt;a href="https://s3.amazonaws.com/cloudformation-templates-us-east-1/WordPress-1.0.0.template"&gt;WordPress Template&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Simple CloudFormation API&lt;/span&gt;&lt;br /&gt; Once a Template "Stack" is defined you can use the &lt;a href="http://docs.amazonwebservices.com/AWSCloudFormation/latest/APIReference/"&gt;CloudFormation API&lt;/a&gt;  command &lt;a href="http://docs.amazonwebservices.com/AWSCloudFormation/latest/APIReference/index.html?API_CreateStack.html"&gt;CreateStack&lt;/a&gt;, passing runtime parameters to the template, to start the Software Stack. Similarly there is a DeleteStack command plus several other commands to display events etc. This makes it a very simple API to implement and will be very useful for tool builders and customers to run Software Stacks in Amazon. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Software Stack = Machine Image(s) + Template + Runtime Parameters&lt;/span&gt;&lt;br /&gt; Running Software Stacks becomes:&lt;br /&gt;1. Create Amazon Machine Image(s) with the base application software.&lt;br /&gt;2. Create a Template defining the software stack&lt;br /&gt;3. Run the stack passing configuration parameters at runtime and dynamic parts of the application (like code) via elastic beanstalk.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;NOTE:&lt;/span&gt; This means Amazon Machine Images should not contain configuration parameters or application code (WAR files etc)  &lt;br /&gt;&lt;br /&gt; In the future this could become a simple standard for various cloud vendors to provide some interoperability and portability between clouds. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Chef&lt;/span&gt;&lt;br /&gt; Ofcourse for bigger and complex systems there is still a role for &lt;a href="http://lusislog.blogspot.com/2011/02/thank-you.html"&gt;Chef&lt;/a&gt; to build servers. CloudFormation just controls the Amazon AWS resources. A close integration of Chef and CloudFormation would be very desirable. Because they share the same JSON format it could be very consistent. For now it is easy to pass the chef information to a bootstrap script running on the server.     &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;References&lt;/span&gt;&lt;br /&gt;&lt;a href="http://aws.typepad.com/aws/2011/02/cloudformation-create-your-aws-stack-from-a-recipe.html"&gt;Create Your AWS Stack From a Recipe&lt;/a&gt;&lt;br /&gt;&lt;a href="http://aws.typepad.com/aws/2011/02/aws-cloudformation-in-the-aws-management-console.html"&gt;AWS CloudFormation in the AWS Management Console&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.full360.com/blogs/integrating-aws-cloudformation-and-chef"&gt;Integrating AWS CloudFormation and Chef&lt;/a&gt;&lt;br /&gt;&lt;a href="http://agilesysadmin.net/cloudformation"&gt;The Impact of Amazon’s new CloudFormation service&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-3032646364745360889?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/3032646364745360889/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2011/02/amazon-cloudformation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/3032646364745360889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/3032646364745360889'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2011/02/amazon-cloudformation.html' title='Amazon CloudFormation'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-mRStSrVqn6o/TWer48GnahI/AAAAAAAAAVA/YPyNVr3zZcA/s72-c/red_arrows.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-7705193259770424157</id><published>2011-01-19T02:04:00.000-08:00</published><updated>2011-08-08T08:38:50.625-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Amazon Elastic Beanstalk'/><title type='text'>Amazon Elastic Beanstalk</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://aws.amazon.com/elasticbeanstalk"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 144px;" src="http://1.bp.blogspot.com/_TfQFXZiv-Y0/TTmK4Dh5eRI/AAAAAAAAAT4/8ISWU-UFemA/s320/sg_cargocontainer_11.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5564631510217750802" /&gt;&lt;/a&gt;Amazon have finally annouced their &lt;a href="http://en.wikipedia.org/wiki/Platform_as_a_service"&gt;Platform as a Service&lt;/a&gt; offering - &lt;a href="http://aws.amazon.com/elasticbeanstalk"&gt;Elastic Beanstalk&lt;/a&gt; so it looks like 2011 will be the year of PaaS.&lt;br /&gt;&lt;br /&gt; The first version provides a Tomcat platform that can deploy and run your WAR file on a automated scalable architecture that includes all the load balancing, auto scaling, DNS, monitoring and notification. This is an ideal companion to &lt;a href="http://relationalcloud.com/index.php?title=Database_as_a_Service"&gt;Database as a Service&lt;/a&gt; &lt;a href="search/label/Amazon%20RDS"&gt;Amazon RDS&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Containers and Custom Amazon Machine Images&lt;/span&gt;&lt;br /&gt;   What is really important is Amazon have the concept of an &lt;span style="font-weight:bold;"&gt;Elastic Beanstalk Container&lt;/span&gt;. When you create your application you choose your &lt;a href="http://docs.amazonwebservices.com/elasticbeanstalk/latest/api/index.html?API_ListAvailableSolutionStacks.html"&gt;Solution Stack&lt;/a&gt;. Currently there are only 2 stacks:      &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;64bit Amazon Linux running Tomcat 6&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;32bit Amazon Linux running Tomcat 6&lt;br /&gt;&lt;br /&gt;What is powerful is you can use  &lt;a href="http://blog.jetztgrad.net/2011/02/how-to-customize-an-amazon-elastic-beanstalk-instance/"&gt;Elastic BeanStalk with a custom Amazom Machine Image&lt;/a&gt;. All you need to do is first bring up the Elastic BeanStalk AMI as a regular EC2 server and customize it before using with Elastic Beanstalk. This means you can use Memcached, Terracotta, Nginx, Jetty etc. We will see public custom AMIs appear for the various software stacks just like for EC2 Servers.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Flexibility and Portability&lt;/span&gt;&lt;br /&gt;Early PaaS products lacked flexibility to tailor the components - often applications have all sorts of custom requirements (caching, third-party tools, version requirements etc). Being able to tailor Elastic BeanStalk AMIs makes it very flexible!! However to really take off PaaS needs to be &lt;span style="font-weight:bold;"&gt;Portable&lt;/span&gt;, so if some company could create an Elastic Beanstalk for Eucalyptus and OpenStack.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Production Application = Infrastructure  + Product + Configuration + Data&lt;/span&gt;&lt;br /&gt;Installation of a &lt;a href="http://www.techrepublic.com/article/thirteen-survival-tips-for-transitioning-your-application-to-production/1050185"&gt;Production Application&lt;/a&gt; will become little more than:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. Running the product install script on the Elastic Beanastalk AMI and doing a little configuration and saving the new Application AMI.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. Setting up the data requirements for the application (for example creating a database).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3. Starting the Application AMI in Elastic Beanstalk and deploying any application code. &lt;br /&gt;This means it is incredibly easy to setup production java-based applications like &lt;a href="search/label/Install and Run Alfresco on Amazon EC2"&gt;Alfresco&lt;/a&gt;. When a PHP version of Elastic Beanstalk is available then it will really open the floodgates to applications like &lt;a href="search/label/Install and Run SugarCRM on EC2"&gt;SugarCRM&lt;/a&gt;, Magento etc etc. &lt;br /&gt;&lt;br /&gt;Elastic Beanstalk looks like an ideal platform for building &lt;a href="http://www.ibm.com/developerworks/webservices/library/ws-restful/"&gt;Restful&lt;/a&gt; or &lt;a href="http://msdn.microsoft.com/en-us/library/aa480021.aspx"&gt;SOA (Service Orientated Architecture)&lt;/a&gt; Web Services. See also &lt;a href="http://www.ajaxonomy.com/2008/xml/web-services-part-1-soap-vs-rest"&gt;Soap Vs REST&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Many larger enterprises have already reduced costs by consolidating their data centers and virtualizing their servers. But I think we will see adoption of public and internal clouds increase when mature, flexible, and portable &lt;a href="http://en.wikipedia.org/wiki/Platform_as_a_service"&gt;PaaS&lt;/a&gt; products are available. A number of major vendors are developing PaaS platforms:  &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.springsource.com/products/cloud-application-platform"&gt;VMware vFabric&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.redhat.com/solutions/cloud/PaaS/"&gt;Redhat PaaS Makara&lt;/a&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.microsoft.com/windowsazure/windowsazure/"&gt;Windows Azure&lt;/a&gt;&lt;br /&gt;Amazon have set the bar for the cost of PaaS. It is a free part of a Cloud Offering! Free always helps adoption and there is tremendous potential here for the future!!!! &lt;br /&gt;  &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;References&lt;/span&gt;  &lt;br /&gt;&lt;a href="http://aws.amazon.com/elasticbeanstalk"&gt;Amazon Elastic Beanstalk&lt;/a&gt;&lt;br /&gt;&lt;a href="http://aws.amazon.com/documentation/elasticbeanstalk/"&gt;Amazon Elastic Beanstalk Documentation&lt;/a&gt; &lt;br /&gt;&lt;a href="http://blog.jetztgrad.net/2011/02/how-to-customize-an-amazon-elastic-beanstalk-instance/"&gt;How to customize an Amazon Elastic Beanstalk instance&lt;/a&gt; &lt;br /&gt;&lt;a href="http://www.allthingsdistributed.com/2011/01/aws_elastic_beanstalk.html"&gt;AWS Elastic Beanstalk&lt;/a&gt;&lt;br /&gt;&lt;a href="http://smoothspan.wordpress.com/2010/10/20/paas-strategy-sell-the-condiments-not-the-sandwiches/"&gt;PaaS Strategy: Sell the Condiments, Not the Sandwiches&lt;/a&gt;&lt;a href="http://steamcannon.org/news/2011/01/19/steamcannon-vs-elastic-beanstalk/"&gt;&lt;br /&gt;How SteamCannon Compares to AWS Elastic Beanstalk&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.zdnet.com/blog/btl/amazon-web-services-launches-elastic-beanstalk-a-service-of-services/43699"&gt;Elastic Beanstalk a service of services&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.headius.com/2011/01/jruby-on-rails-on-amazon-elastic.html"&gt;JRuby on Rails on Amazon Elastic Beanstalk&lt;/a&gt;&lt;br /&gt;&lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2011/01/paas-shouldnt-be-built-in-silos.html"&gt;PaaS shouldn’t be built in Silos&lt;/a&gt;&lt;br /&gt;&lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2009/07/p.html"&gt;Platform as a Service: The Next Generation Application Server?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://tv.sys-con.com/node/1376729"&gt;Is PaaS Just Outsourced Application Server Platforms?&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-7705193259770424157?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/7705193259770424157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2011/01/amazon-paas-elastic-beanstalk.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/7705193259770424157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/7705193259770424157'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2011/01/amazon-paas-elastic-beanstalk.html' title='Amazon Elastic Beanstalk'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_TfQFXZiv-Y0/TTmK4Dh5eRI/AAAAAAAAAT4/8ISWU-UFemA/s72-c/sg_cargocontainer_11.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-2359569745141570990</id><published>2010-12-22T04:57:00.001-08:00</published><updated>2011-06-20T06:47:17.054-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Developing Chef Cookbooks'/><title type='text'>Developing Chef Cookbooks</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.opscode.com/chef/"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 150px; height: 148px;" src="http://3.bp.blogspot.com/_TfQFXZiv-Y0/S1m_laGal5I/AAAAAAAAARk/wTNH0oAsJ2o/s320/chef-says-okay.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5429581475154139026" /&gt;&lt;/a&gt;&lt;a href="http://opscode.com/chef"&gt;Chef&lt;/a&gt; is an open source framework for configuration management that is rapidly gainng popularity in Cloud Computing. Chef consists of:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://wiki.opscode.com/display/chef/Chef+Server"&gt;Chef Server&lt;/a&gt; - Contains all the Configurations called &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cookbooks.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://wiki.opscode.com/display/chef/Chef+Client"&gt;Chef Client&lt;/a&gt; - Runs on your server and performs the &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;configuration. &lt;br /&gt;&lt;br /&gt;The architecture is that the chef client "pulls" its configuration from the chef server and runs the cookbook to configure an application. This is good for production but for testing it is better to "push" out the configuration directly to your server, run it and see the result. &lt;br /&gt;&lt;br /&gt;Fortunately Chef also have an option called &lt;a href="http://wiki.opscode.com/display/chef/Chef+Solo"&gt;Chef Solo&lt;/a&gt; that is a chef client that can be installed on your server and does not require the Chef Server. This allows the configuration to be "pushed" directly to your server and run for testing.&lt;br /&gt;&lt;br /&gt;Developing chef &lt;a href="http://cookbooks.opscode.com/"&gt;cookbooks&lt;/a&gt; can be done with either:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EC2 Cloud Servers&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Local Virtual Machines. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Using Local Virtual Machines&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;The two most popular virtual machines for local use are VMware and Virtual Box.&lt;br /&gt;For &lt;span style="font-weight:bold;"&gt;VMware&lt;/span&gt; depending on the client operating system install &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Windows - either &lt;a href="http://www.vmware.com/products/player/"&gt;VMware Player&lt;/a&gt; or &lt;a href="http://www.vmware.com/products/server"&gt;VMware Server&lt;/a&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Linux   - &lt;a href="http://www.vmware.com/products/server"&gt;VMware Server&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Mac OSX - &lt;a href="http://www.vmware.com/products/fusion"&gt;VMware Fusion&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;For &lt;span style="font-weight:bold;"&gt;Virtual Box&lt;/span&gt; &lt;a href="http://www.virtualbox.org/wiki/Downloads"&gt;Download&lt;/a&gt; and install Virtual Box for your operating system. &lt;br /&gt;&lt;br /&gt;Virtual Box will run VMware images so decide on the image and download from sites like  &lt;a href="http://vmplanet.net/"&gt;VMPlanet&lt;/a&gt; or &lt;a href="http://www.vmware.com/appliances/"&gt;VMWare Appliances&lt;/a&gt;. Ubuntu is a very popular linux version used in the cloud. Ubuntu 10.10 can be downloaded from &lt;a href="http://vmplanet.net/node/123"&gt;VMPlanet&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;You can also install Ubuntu from ISO machine images:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sysprobs.com/install-ubuntu-1010-vmware-playerworkstation-working-vmware-tools"&gt;Install Ubuntu 10.10 on VMware Player&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Finally you need to make sure ssh is installed on your local virtual machine&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sudo apt-get install openssh-server openssh-client&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Chef Cookbook development&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. Install Chef Solo on your EC2 Server or Local Virtual Machine.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. Copy the cookbook to the server.  &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3. Run chef solo on the server to test the cookbook.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4. Repeat modifying the cookbook, copying and testing until the cookbook is complete. &lt;br /&gt;&lt;a href="https://github.com/tobami/littlechef"&gt;LittleChef&lt;/a&gt; is a good tool for doing "push" development of chef cookbooks. The next version of EC2Dream will come with some similar features for developing Chef cookbooks.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Using Chef for Production Servers&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; For production the server can automatically "pull" and run the configuration as it starts up. Typically you do this using a Chef Server. Either: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. Install and run your own chef server. (A Micro Instance costs $15 a month).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. Use a service like the Opscode Platform. &lt;a href="http://www.opscode.com"&gt;Signup&lt;/a&gt; and get a 5 servers for  free but it is cost effective for &lt;a href="http://www.opscode.com/pricing"&gt;more&lt;/a&gt;.    &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3. Continue to use &lt;a href="http://pivotallabs.com/users/steve/blog/articles/1286-chef-solo-is-great-you-might-not-need-client-server-"&gt;Chef Solo&lt;/a&gt; and "pull" the configuration from a source control system like git and run it.       &lt;br /&gt;   &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Source Control&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For serious development of configuration you need source control. &lt;a href="http://git-scm.com/"&gt;Git&lt;/a&gt; is recommended because it is fast fully distributed source control system.    &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Windows - download the latest full installer for &lt;a href="http://code.google.com/p/msysgit/downloads"&gt;msysgit&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Mac - Can be installed using Macports or the &lt;a href="http://code.google.com/p/git-osx-installer/downloads/list?can=3"&gt;Git OSX Installer&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Linux - Git can installed using the package management system&lt;br /&gt;For an introduction to git read the first two chapters of &lt;a href="http://progit.org/book/"&gt;Pro Git&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Git References &lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://book.git-scm.com/2_installing_git.html"&gt;Installing Git&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://book.git-scm.com/2_setup_and_initialization.html"&gt;Setup and Initialization&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.lostechies.com/blogs/jason_meridth/archive/2009/06/01/git-for-windows-developers-git-series-part-1.aspx"&gt;Git For Windows Developers&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://kylecordes.com/2008/git-windows-go"&gt;Getting Started with Git and GitHub on Windows&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://nathanj.github.com/gitguide/tour.html"&gt; An Illustrated Guide to Git on Windows&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Chef References &lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://blazingcloud.net/2010/06/28/our-first-chef-cookbook/"&gt;Our First Chef Cookbook&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://sysadvent.blogspot.com/2010/12/day-9-automated-deployments-with.html"&gt;Automated Deployments with LittleChef&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://kimmo.suominen.com/docs/ssh/"&gt;Info on ssh&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://agiletesting.blogspot.com/2010/07/chef-installation-and-minimal.html"&gt;Chef installation and minimal configuration &lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.agileweboperations.com/automated-configuration-management-with-opscode-chef-the-basic-moving-parts"&gt;Automated Configuration Management with opscode&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://craiccomputing.blogspot.com/2010/12/using-opscode-chef-to-start-up-node-on.html"&gt;Using Opscode Chef to start up a node on AWS EC2 - A Simple Example&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-2359569745141570990?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/2359569745141570990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2010/12/developing-chef-cookbooks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/2359569745141570990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/2359569745141570990'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2010/12/developing-chef-cookbooks.html' title='Developing Chef Cookbooks'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_TfQFXZiv-Y0/S1m_laGal5I/AAAAAAAAARk/wTNH0oAsJ2o/s72-c/chef-says-okay.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-1756766704388331104</id><published>2010-09-28T08:17:00.000-07:00</published><updated>2010-11-17T07:10:13.868-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tags and Management Features'/><title type='text'>Tags and Management Features</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_TfQFXZiv-Y0/TKIHSzys8xI/AAAAAAAAATU/sPQObQiDTO0/s1600/luggage_id.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 100px;" src="http://4.bp.blogspot.com/_TfQFXZiv-Y0/TKIHSzys8xI/AAAAAAAAATU/sPQObQiDTO0/s320/luggage_id.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5521984112831558418" /&gt;&lt;/a&gt;Amazon is gradually adding features that enterprises need to manage their infrastructure. Amazon now allows you to tag the majority of Amazon EC2 resources:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EC2 instances&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Amazon Machine Images (AMIs)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EBS volumes&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EBS snapshots&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Spot Requests&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Amazon VPC resources such as VPCs, subnets, connections, and gateways.&lt;br /&gt;You can tag existing resources and tag new resources when you create them. As well as identifying a resource with a meaningful name resources can be identified as, for example, production and test resources.    &lt;br /&gt;&lt;br /&gt;EC2Dream GUI supports:&lt;br /&gt;&amp;nbsp;&amp;nbsp;Creating tags for new or existing resources&lt;br /&gt;&amp;nbsp;&amp;nbsp;Filtering based on tags&lt;br /&gt;&amp;nbsp;&amp;nbsp;Specifying a user-defined tag as a nickname for a resource.&lt;br /&gt;&lt;br /&gt;See &lt;a href="http://ec2dream.webs.com/gettingstarted/using_resource_tags.html"&gt;Using Resource Tags in EC2Dream&lt;/a&gt; for more details.&lt;br /&gt;&lt;br /&gt;Combine EC2Dream with the &lt;a href='http://www.opscode.com/'&gt;Chef&lt;/a&gt; configuration system and &lt;a href='http://git-scm.com/'&gt;Git&lt;/a&gt; source control management for a complete open source management environment for EC2 compatible clouds.&lt;br /&gt;&lt;br /&gt;Amazon are targeting the enterprise market so they are adding management features.  &lt;br /&gt;They have already annouced User managment. The ability to specify multiple users and the access each user has to the Amazon features all billed to the same billing address.&lt;br /&gt;&lt;br /&gt;Other area of management that I predict are:&lt;br /&gt;Version Management  - S3 Data service already supports versioning.&lt;br /&gt;Deployment          - Automatic deployment of Java, PHP code.&lt;br /&gt;Script Management   - Maybe the ability to run Chef scripts.&lt;br /&gt;Improved Monitoring - Maybe Nagios support to extend the current Cloudwatch monitoring.&lt;br /&gt;AutoScaling         - Extra Autoscaling features like scaling by time of day. &lt;br /&gt;  &lt;br /&gt;They are also beefing the API up so it can be used by orchestration tools that big enterprises already use in their data centres. For example &lt;a href="http://aws.typepad.com/aws/2010/09/new-amazon-ec2-feature-idempotent-instance-creation.html"&gt;Idempotent instance creation&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;References:&lt;br /&gt;&lt;a href="http://ec2dream.webs.com/gettingstarted/using_resource_tags.html"&gt;Using Resource Tags in EC2Dream&lt;/a&gt; &lt;br /&gt;&lt;a href="http://aws.typepad.com/aws/2010/09/new-amazon-ec2-feature-resource-tagging.html"&gt;Resource Tagging&lt;/a&gt;&lt;br /&gt;&lt;a href="http://aws.typepad.com/aws/2010/09/new-amazon-ec2-feature-filtering.html"&gt;Filtering&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-1756766704388331104?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/1756766704388331104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2010/09/tags-and-management-features.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/1756766704388331104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/1756766704388331104'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2010/09/tags-and-management-features.html' title='Tags and Management Features'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_TfQFXZiv-Y0/TKIHSzys8xI/AAAAAAAAATU/sPQObQiDTO0/s72-c/luggage_id.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-4548530272854270986</id><published>2010-09-09T09:45:00.000-07:00</published><updated>2011-08-08T08:41:36.849-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Micro Server Instance Type'/><title type='text'>Micro Server Instance Type</title><content type='html'>Amazon has an increasing number of different&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_TfQFXZiv-Y0/TIkQIuM3liI/AAAAAAAAATM/HpN6302_y0o/s1600/blue_pearl.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 140px;" src="http://1.bp.blogspot.com/_TfQFXZiv-Y0/TIkQIuM3liI/AAAAAAAAATM/HpN6302_y0o/s320/blue_pearl.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5514956960718886434" /&gt;&lt;/a&gt;&lt;br /&gt;instance types:&lt;br /&gt;&amp;nbsp;&amp;nbsp;High Memory&lt;br /&gt;&amp;nbsp;&amp;nbsp;High Cpu&lt;br /&gt;&amp;nbsp;&amp;nbsp;High Performance Computing&lt;br /&gt;&amp;nbsp;&amp;nbsp;Reserved Instances&lt;br /&gt;&amp;nbsp;&amp;nbsp;Spot Pricing of Instances.&lt;br /&gt;&lt;br /&gt;Now it has &lt;a href="http://aws.typepad.com/aws/2010/09/new-amazon-ec2-micro-instances.html"&gt;Micro Instances&lt;/a&gt;. These are incredibly cheap &lt;br /&gt;at 2 cents an hour($14 a month) for linux servers and they can be autoscaled to create a really cheap scalable infrastructure. I hope Amazon bought more servers!!!&lt;br /&gt;&lt;br /&gt;This is going to make it tough for other hosting companies and make it irresistibly cheap for companies instead of buying servers. It will also put pressure on per seat prices of SaaS providers like salesforce.com etc. The latest version of EC2Dream supports the new Micro instance type. &lt;br /&gt;&lt;br /&gt;Amazingly it is now possible to run your own ERP, CRM, E-Commerce or Content Management System from $14 a month. Install &lt;a href="search/label/Install%20and%20Run%20SugarCRM%20on%20EC2"&gt;SugarCRM&lt;/a&gt;, &lt;a href="search/label/Install%20and%20Run%20Openbravo%20on%20EC2"&gt;Open Bravo&lt;/a&gt;, &lt;a href="search/label/Install%20and%20Run%20Magento%20on%20EC2"&gt;Magento&lt;/a&gt; or &lt;a href="search/label/Install%20and%20Run%20Alfresco%20on%20Amazon%20EC2"&gt;Alfresco&lt;/a&gt; using EC2Dream.&lt;br /&gt;&lt;br /&gt;References&lt;br /&gt;&lt;a href="http://aws.amazon.com/ec2/instance-types/"&gt;Amazon Instance Types&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.byronsorrells.com/entrepreneurship/google-apps-amazon-ec2-drupal/"&gt;Creating Your Online Business: Step by Step Instructions to Buy a Domain, Setup Amazon EC2, and Install Drupal&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-4548530272854270986?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/4548530272854270986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2010/09/micro-server-instance-type.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/4548530272854270986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/4548530272854270986'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2010/09/micro-server-instance-type.html' title='Micro Server Instance Type'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_TfQFXZiv-Y0/TIkQIuM3liI/AAAAAAAAATM/HpN6302_y0o/s72-c/blue_pearl.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-4014506542271395095</id><published>2010-07-01T05:34:00.001-07:00</published><updated>2010-09-07T07:34:45.272-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cloud Software Stacks'/><title type='text'>Cloud Software Stacks</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_TfQFXZiv-Y0/TCyNQsy4fmI/AAAAAAAAASo/3qnhXjtsuBo/s1600/global_solution.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 160px;" src="http://1.bp.blogspot.com/_TfQFXZiv-Y0/TCyNQsy4fmI/AAAAAAAAASo/3qnhXjtsuBo/s320/global_solution.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5488917363899792994" /&gt;&lt;/a&gt;The whole cloud software area is starting to take shape and looks like the future of the data centre. Data Centers will gradually evolve from physical machines to virtualized servers through to cloud architectures.&lt;br /&gt;&amp;nbsp;&amp;nbsp;Potentially Cloud software Stacks could become a one-stop software-bundle for the data centre, including hypervisers, virtualized operating systems and applications, management tools and APIs, monitoring, backup etc etc. &lt;br /&gt;&amp;nbsp;&amp;nbsp;So instead of sourcing different products from multiple vendors to build a data centre customers could "like microsoft office" get a complete data centre software bundle. No wonder vendors are keen to get into this product segment! But with so many products you have to try and pick a vendor that will survive.  &lt;br /&gt;      &lt;br /&gt;Many cloud management products are still works in progress but common features are taking shape: &lt;br /&gt;&amp;nbsp;- Support the major virtualization technologies (Xen, KVM, VMware)&lt;br /&gt;&amp;nbsp;- Support or planning to support Public Cloud APIs  (Amazon EC2/S3 vCloud)&lt;br /&gt;&amp;nbsp;- Support for major linux distributions and some support Windows Servers.&lt;br /&gt;&amp;nbsp;- Support SANs. (EMC etc)&lt;br /&gt;&amp;nbsp;- Monitoring, metering &amp; billing&lt;br /&gt;&amp;nbsp;- Authentication (with support for LDAP and Active Directory). &lt;br /&gt;&amp;nbsp;- Often have open source and enterprise editions. &lt;br /&gt;&amp;nbsp;- Support for extending into a public cloud ("Cloudbursting")&lt;br /&gt;&amp;nbsp;- One management tool for private and public clouds.&lt;br /&gt;&amp;nbsp;- Migration of Machine Images between clouds.  &lt;br /&gt;&lt;br /&gt;It appears the Cloud Software Stacks are forming into three camps: &lt;br /&gt;&lt;br /&gt;1. Amazon AWS Compatible clouds&lt;br /&gt;&lt;br /&gt;  &lt;a href="http://www.eucalyptus.com"&gt;Eucalyptus&lt;/a&gt; - Provides an Amazon AWS compatible cloud.&lt;br /&gt;  - Consists of Open Source and Enterprise Editions.&lt;br /&gt;  - The Open Source version targets Linux systems that use Xen (versions 3.*) and KVM for virtualization. &lt;br /&gt;  - The Enterprise version adds support for Windows servers, VMware virtualization technologies, SAN Adapter, User and Grioup Management, Accounting anmd Quota Management.&lt;br /&gt;  - Currently it is being downloaded 10,000 times a month so it is popular.&lt;br /&gt;&lt;br /&gt;  &lt;a href="http://www.nimbula.com"&gt;Nimbula&lt;/a&gt; - Cloud Operating System is an automated cloud management system delivering Amazon EC2-like services behind the firewall.&lt;br /&gt;  - Commercial version only.&lt;br /&gt;  - Currently only supports Xen and KVM but VMware support is planned. &lt;br /&gt;  - Supports Microsoft Windows, Linux, Solaris, BSD and AIX servers.   &lt;br /&gt;  - Offers an API, a command line and a web control panel but does not appear to offer public cloud API support. &lt;br /&gt;  - is able to deploy a virtual infrastructure on bare metal so good for large data centers.&lt;br /&gt;  - This is a new product by from the original developers of Amazon EC2 so very good pedigree.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://aws.amazon.com/vpc"&gt;Amazon&lt;/a&gt; - Virtual Private Cloud &lt;br/&gt;&lt;br /&gt;&lt;br /&gt;2. VMWare vCloud Compatible clouds&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.vmware.com/products/vcloud-director/"&gt;VMware vCloud Director&lt;/a&gt; has the following &lt;a href="http://www.vmware.com/support/vcd/doc/rel_notes_vcloud_director_10.html"&gt;features:&lt;/a&gt; &lt;br /&gt;    * Supports multi tenancy/organizational isolation&lt;br /&gt;    * Allows for the creation of central application catalogs and personalization of templates&lt;br /&gt;    * Enables creation and deployment of vApps from catalogs/templates&lt;br /&gt;    * Controls user resource usage through roles/rights, quotas and leases&lt;br /&gt;    * Enables programmatic control through the RESTful vCloud API&lt;br /&gt;    * Provides an additional level of abstraction from underlying hardware&lt;br /&gt;&lt;br /&gt;- Launched at &lt;a href="http://virtualization.info/en/news/2010/06/vmware-vcloud-service-director-to-be-announced-at-vmworld-2010.html"&gt;VMworld 2010&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;3. Others&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.openstack.org/"&gt;OpenStack&lt;/a&gt; based on &lt;a href="http://nebula.nasa.gov"&gt;NASA Nebula&lt;/a&gt; and backed by others like Rackspace is a promising open source initiative and maybe the future for other Cloud stacks to coalesce around.  &lt;br /&gt;&lt;br /&gt;  &lt;a href="http://www.abiquo.com"&gt;Abiquo&lt;/a&gt; - the provision of physical infrastructure is completely separated from the virtual application infrastructure by a “Resource Cloud”. &lt;br /&gt;  -Community and Enterprise Editions. &lt;br /&gt;  -Supports Xen, KVM or Virtual Box, VMware and Microsoft’s Hyper-V all in the community edition. &lt;br /&gt;&lt;br /&gt;  &lt;a href="http://www.cloud.com"&gt;Cloud.com&lt;/a&gt; (formerly VMOps) - Massively Scalable Infrastructure Management.&lt;br /&gt;  - Has Community, Enterprise Edition and Service Provider Editions . &lt;br /&gt;  - Works with Xen and KVM hypervisors as well as VMware vSphere or Citrix XenServer.&lt;br /&gt;  - Own API but plan to implement Amazon EC2/S3 and vCloud on top. &lt;br /&gt;&lt;br /&gt;  &lt;a href="http://www.Openqrm.com"&gt;OpenQRM&lt;/a&gt; -  Next generation, open-source Data-center management platform&lt;br /&gt;  - supports VMware, Xen, KVM and Linux-VServer vms. &lt;br /&gt;  - supports major linux distribution like Debian, Ubuntu, CentOS and openSuse. &lt;br /&gt;  - Nagios integration for monitoring. &lt;br /&gt;&lt;br /&gt;  &lt;a href="http://www.opennebula.org"&gt;OpenNebula&lt;/a&gt; - Open-Source toolkit for building private, public and hybrid clouds.&lt;br /&gt;  - Apache Open Source Licence. Enterprise Edition coming out. &lt;br /&gt;  - supports Xen, KVM and VMware virtualization platforms&lt;br /&gt;  - on-demand access to Amazon EC2 and ElasticHosts Cloud providers.&lt;br /&gt;  - Local Unix-like command line interface and Cloud interfaces, such as libvirt, EC2 Query API and OGF OCCI API&lt;br /&gt;  - Support for multiple users, image transferring and cloning, virtual network management and service contextualization. &lt;br /&gt;  - Currently no support for windows servers but is planned.&lt;br /&gt;    &lt;br /&gt; &lt;br /&gt;  &lt;a href="http://www.elastra.com"&gt;Elastra&lt;/a&gt;&lt;br /&gt;  &lt;a href="http://www.enomaly.com"&gt;Enomaly&lt;/a&gt;&lt;br /&gt;  &lt;a href="http://www.newscale.com"&gt;NewScale&lt;/a&gt;&lt;br /&gt;  &lt;a href="http://www.Aserver.com"&gt;Aserver&lt;/a&gt; - typically for service providers&lt;br /&gt;  &lt;a href="http://www.CloudSwitch.com"&gt;CloudSwitch&lt;/a&gt; - Hybrid Cloud&lt;br /&gt;  &lt;a href="http://www.opsource.net"&gt;OpSource&lt;/a&gt; - Virtual Private Cloud&lt;br /&gt;  &lt;br /&gt;References:&lt;br /&gt;&lt;a href="http://gigaom.com/2010/05/12/why-private-clouds-are-a-catch-22-for-buyers/"&gt;Why private clouds are a catch-22 for buyers&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cloudbzz.com/the-red-ocean-of-cloud-infrastructure-stacks/"&gt;The Red Ocean of Cloud Infrastructure Stacks&lt;/a&gt;&lt;br /&gt;&lt;a href="http://socializedsoftware.com/2010/01/20/eleven-open-source-cloud-computing-projects-to-watch/"&gt;Eleven Open Source Cloud Computing Projects to Watch&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.privatecloud.com"&gt;PrivateCloud&lt;/a&gt; - news, resources, and conversation on enterprise cloud computing&lt;br /&gt;&lt;a href="http://virtualization.info/en/radar/"&gt;Virtualization Industry Radar&lt;/a&gt;&lt;br /&gt;&lt;a href="http://nimbula.com/downloads/Nimbula_Technical_White_Paper.pdf"&gt;Nimbula Technical White Paper&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cloud.com/Datasheets/Edition_Comparison.pdf"&gt;cloud.com Edition Comparison&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cloudscaling.com/blog/cloud-computing/does-openstack-change-the-cloud-game?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+neoTactics+%28Cloudscaling%29"&gt;Does OpenStack Change the Cloud Game&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-4014506542271395095?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/4014506542271395095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2010/07/private-cloud-management-software.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/4014506542271395095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/4014506542271395095'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2010/07/private-cloud-management-software.html' title='Cloud Software Stacks'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_TfQFXZiv-Y0/TCyNQsy4fmI/AAAAAAAAASo/3qnhXjtsuBo/s72-c/global_solution.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-6486658848222161566</id><published>2010-06-25T07:00:00.000-07:00</published><updated>2010-07-02T05:04:12.489-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cloud Status'/><title type='text'>Cloud Status and Real-Time Information</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_TfQFXZiv-Y0/TCS33HIrpKI/AAAAAAAAASg/HQOx_yGgoE0/s1600/velo_city.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 140px;" src="http://2.bp.blogspot.com/_TfQFXZiv-Y0/TCS33HIrpKI/AAAAAAAAASg/HQOx_yGgoE0/s320/velo_city.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5486712403480257698" /&gt;&lt;/a&gt;There are a proliferation of websites providing status and real-time information about Public Cloud Providers.&lt;br /&gt;  &lt;br /&gt; Many of the Public Cloud Providers have an official site that provides the current status of their services and often the status over the previous week or month: &lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://status.aws.amazon.com"&gt;Amazon AWS&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://code.google.com/status/appengine"&gt;Google App Engine&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.microsoft.com/windowsazure/support/status/servicedashboard.aspx"&gt;Microsoft Azure&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://status.apps.rackspace.com/"&gt;Rackspace&lt;/a&gt;  &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://trust.salesforce.com/trust/status"&gt;Salesforce.com&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.gogridstatus.com"&gt;GoGrid System Status Blog&lt;/a&gt;&lt;br /&gt;  &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.cloudstatus.com"&gt;CloudStatus&lt;/a&gt; from Hyperic shows both Amazon App Engine and Amazon EC2 statuses.&lt;br /&gt;&lt;br /&gt;Some sites show the response time and/or performance of a sample application running on the cloud:&lt;br /&gt;  &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.cloudclimate.com"&gt;CloudClimate&lt;/a&gt; shows EC2, S3, GoGrid, NewServers, Opsource, Content Delivery Networks.  &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://cloudsleuth.net"&gt;CloudSleuth&lt;/a&gt; shows  Amazon, GoGrid, Opsource, Rackspace. &lt;br /&gt;&lt;br /&gt;There are also specialized information about particular cloud features of services:&lt;br /&gt;  &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://cloudexchange.org"&gt;CloudExchange&lt;/a&gt; show real-time prices of Amazon EC2 Spot Instances.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If your a google account holder  &lt;a href="https://www.google.com/dashboard"&gt;Google dashboard&lt;/a&gt; shows all your usage of the various google services (Gmail, Blogger etc).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-6486658848222161566?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/6486658848222161566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2010/06/cloud-status-and-real-time-information.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/6486658848222161566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/6486658848222161566'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2010/06/cloud-status-and-real-time-information.html' title='Cloud Status and Real-Time Information'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_TfQFXZiv-Y0/TCS33HIrpKI/AAAAAAAAASg/HQOx_yGgoE0/s72-c/velo_city.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-1853645531107329574</id><published>2010-05-19T07:24:00.000-07:00</published><updated>2011-01-10T06:57:32.459-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Load Balancing and Auto Scaling'/><title type='text'>Load Balancing and Auto Scaling</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_TfQFXZiv-Y0/S_P-GXq_4QI/AAAAAAAAASI/Slw3eqVHERs/s1600/image0109.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 210px; height: 154px;" src="http://2.bp.blogspot.com/_TfQFXZiv-Y0/S_P-GXq_4QI/AAAAAAAAASI/Slw3eqVHERs/s320/image0109.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5472997357572317442" /&gt;&lt;/a&gt;&lt;span style="font-weight:bold;"&gt;Amazon ELB and AutoScaling&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://aws.amazon.com/elasticloadbalancing/"&gt;Amazon Elastic Load Balancer&lt;/a&gt; Service supports HTTP and TCP requests. It now supports sticky sessions via cookies so it should be much more usable as many applications require sessions to be routed to the same server.&lt;br /&gt; HTTPS is supported indirectly via using TCP and port 443. ELB directly forwards the TCP packets to the instance. Because support is at the TCP level, not at the HTTPS level, the ELB will not:&lt;br /&gt;- perform SSL termination&lt;br /&gt;- add an X-Forwarded-For header (which the HTTP listener does)&lt;br /&gt;- optimize connections from your back-end instances using keepalive.&lt;br /&gt;This means, for example, with HTTPS you cannot get the client's IP address from the X-Forwarded-For header as with HTTP&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://aws.amazon.com/autoscaling/"&gt;Amazon Auto Scaling&lt;/a&gt; service uses &lt;a href="http://aws.amazon.com/cloudwatch/"&gt;CloudWatch&lt;/a&gt; as the monitoring mechanism for determining to scale up or down.&lt;br /&gt;&lt;br /&gt;Costs of Elastic Load Balancers are from $0.025 hr ($18.25 mth) and a small cost for GB processed plus Cloudwatch cost per instance $0.015 hr ($10.95 mth). So this is typically cheaper than running load balancing on your instance.    &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Summary:&lt;/span&gt; Cheap, reliable, scalable bare bones scaling solution.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Scalr&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.scalr.net/"&gt;Scalr&lt;/a&gt; is another popular load balancing/scaling solution. It can be run from the &lt;a href="https://www.scalr.net/"&gt;Scalr website&lt;/a&gt; for $99 a month (it is creeping up in price from $50 a month) or you can run your own copy of &lt;a href="http://code.google.com/p/scalr/"&gt;Scalr&lt;/a&gt; as it is open source. The website also provides some management features like scripting and SSH access.&lt;br /&gt;&lt;br /&gt; The Scalr architecture is built around several Amazon Machine Images (Small or Large) and targets multi-tier applications&lt;br /&gt;1. Load Balancer runnning Nginx for the load balancer. They also support HTTPS. It is possible to use other load balancers like Pound.&lt;br /&gt;2. Application Server Image - LAMP/Java Tomcat/RubyOnRails.&lt;br /&gt;3. MySQL Master/slave for the database.&lt;br /&gt;You also need to do administration of Amazon EC2 through the Scalr platform. &lt;br /&gt;&lt;br /&gt;Scalr has some nice features like time based scaling, auto deployment of updated Amazon Machine Images. They have some pre-defined machine images so if your application matches these it will be faster to setup. (NOTE: Currently Amazon's RDS does not support MySQL Master/Slave while Scalr does ) &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Summary:&lt;/span&gt; More features that Amazon Elastic Load Balancer/Auto Scaling. Still relatively cheap and open source so you can always run it yourself although easier to use through their website.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Cloud Foundry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cloudfoundry.com"&gt;Cloud Foundry&lt;/a&gt; is a great platform for deploying and auto scaling java applications. It is specify to Java applications supporting: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Java 1.6  &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Apache 2.2.3 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SpringSource tc Server (Tomcat 6)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MySQL 5.0.45 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CentOS 5.2 &lt;br /&gt;&lt;br /&gt;The Apache HTTP Server load balances over the Tomcat servers and it uses Hyperic to monitor the servers and auto scale the Tomcat servers. It support MySql Master/slave configuration for scaling the database. The database is stored on an Amazon EBS and automatically backed up to S3. (Similar to Amazon RDS). Currently it is in extended beta and free. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Summary:&lt;/span&gt; The fastest way to deploy and run Java your applications. Restricted to their particular java software stack but a great platform if your application matches this stack.&lt;br /&gt; &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Rightscale&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rightscale.com"&gt;RightScale&lt;/a&gt; was the first company to provide load balancing and Scaling of Amazon EC2. They are also the most expensive from $2500 up-front and $500 a month. &lt;br /&gt; They have a powerful scripting and templating system and their platform is more comprehensive than Scalr. The scripting however is also complex and proprietary. They support other clouds like Rackspace etc.&lt;br /&gt;RightScale provide an Apache+HAProxy setup for load balancing and also will automatically setup a MySql Master/Slave database as does Scalr.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Summary:&lt;/span&gt; If you have complex/large scalability requirements and Rightscale have pre-built scripts and templates for your application then they are a good option.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Others&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.makara.com"&gt;Makara&lt;/a&gt; provide scaling, monitoring and deployment of Java and PHP applications. Similar to Cloud Foundry in some ways. Now they are owned by Redhat good for Redhat and CentOS users.    &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cloudkick.com/"&gt;Cloudkick&lt;/a&gt; provide management, auto scaling, monitoring and alerting. Now they have been acquired by Rackspace good for using with Rackspace cloud.    &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;References&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://aws-musings.com/autoscaling-in-10-mins/"&gt;Autoscaling in 10 mins&lt;/a&gt;&lt;br /&gt;&lt;a href="http://serktools.com/2009/05/20/amazon-elastic-load-balancer-setup/"&gt;Amazon Elastic Load Balancer Setup&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.shlomoswidler.com/2010/04/elastic-load-balancing-with-sticky-sessions.html"&gt;Elastic Load Balancing with Sticky Sessions&lt;/a&gt;&lt;br /&gt;&lt;a href="people.apache.org/~azeez/autoscaling-web-services-azeez.pdf"&gt;Autoscaling  Web Services on Amazon EC2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1603"&gt;Auto-Scaling Web Sites Using Amazon EC2 and Scalr&lt;/a&gt;&lt;br /&gt;&lt;a href="http://highscalability.com/blog/2010/3/22/7-secrets-to-successfully-scaling-with-scalr-on-amazon-by-se.html"&gt;7 Secrets to Successfully Scaling with Scalr (on Amazon)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.scalr.net/"&gt;The Official Scalr blog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://stackoverflow.com/questions/366612/any-thoughts-on-rightscale-and-scalr-for-dynamic-ec2-instance-managment"&gt;Any thoughts on Rightscale and Scalr for dynamic ec2 instance managment&lt;/a&gt;&lt;br /&gt;&lt;a href="http://support.rightscale.com/03-Tutorials/02-AWS/02-Website_Edition/How_do_I_set_up_Autoscaling%3F"&gt;RightScale - How do I set up Autoscaling?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://till.klampaeckel.de/blog/archives/64-Thoughts-on-RightScale.html"&gt;Thoughts on RightScale&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-1853645531107329574?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/1853645531107329574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2010/05/load-balancing-and-auto-scaling.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/1853645531107329574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/1853645531107329574'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2010/05/load-balancing-and-auto-scaling.html' title='Load Balancing and Auto Scaling'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_TfQFXZiv-Y0/S_P-GXq_4QI/AAAAAAAAASI/Slw3eqVHERs/s72-c/image0109.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-5143014162790229943</id><published>2010-02-18T07:34:00.001-08:00</published><updated>2011-05-24T07:48:42.221-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Amazon EBS Images'/><title type='text'>Amazon EBS Images</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://aws.amazon.com/about-aws/whats-new/2009/12/03/amazon-ec2-instances-now-can-boot-from-amazon-ebs/"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_TfQFXZiv-Y0/S31eHAqx_HI/AAAAAAAAAR0/PkQMtb8t8I0/s320/spiral.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5439607399464959090" /&gt;&lt;/a&gt;Amazon server instances can now be booted from &lt;a href="http://aws.amazon.com/about-aws/whats-new/2009/12/03/amazon-ec2-instances-now-can-boot-from-amazon-ebs/"&gt;EBS Snapshots&lt;/a&gt; as well as instance stores bundled onto S3.&lt;br /&gt;&lt;br /&gt; This means changes in your server instance are persisted on an EBS volume so you don't lose them when the server shuts down. It should become the default way most people boot up their server images on Amazon EC2.&lt;br /&gt; &lt;br /&gt; This takes Amazon much closer to the VMware approach of running virtual machines from Storage Area Networks. In addition to terminating an instance you can stop and start them which is like a pause. Also you can snapshot them just like on VMware.&lt;br /&gt;&lt;br /&gt; Another benefit is the size of your root partition can be as large as 1 TB overcoming the old instance store limitation of 10GB.   &lt;br /&gt;&lt;br /&gt; EC2Dream fully supports booting amazon instances from EBS images. At the press of a button&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- Instances can be stopped and started.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- Images can be created.  &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- Instance attributes can be modified. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- Additional block storage devices can be specified in the launch profile and automatically attached and mounted.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- Snapshots can be taken of additional block storage devices.&lt;br /&gt;&lt;br /&gt;You can now even &lt;a href="http://alestic.com/2010/05/ec2-move-ebs-boot-instance"&gt;move a running EBS Boot Image to another server&lt;/a&gt;. This is equivalent to VMware VMotion. Eric Hammond has once again come up with the clever information. &lt;br /&gt;&lt;br /&gt;It is important to backup your EBS via snapshots and to S3. &lt;a href="http://www.autosnappy.com"&gt;Auto Snappy&lt;/a&gt; offers clever scheduling of snapshots and rotating the old ones out. &lt;br /&gt;&lt;br /&gt;Finally, performance of EBS can be quite variable. So for an application do alot of disk I/O you may need to load balance more instances or &lt;a href="http://blog.dt.org/index.php/2010/06/amazon-ec2-io-performance-local-emphemeral-disks-vs-raid0-striped-ebs-volumes/"&gt;stripe EBS volumes&lt;/a&gt; together to create a &lt;a href="http://en.wikipedia.org/wiki/RAID"&gt;RAID&lt;/a&gt; device.         &lt;br /&gt;&lt;br /&gt;It is interesting to see Amazon add more enterprise features to its cloud solution while VMware adds more cloud features to its strong Virtualization base vCloud. In the future both Amazon EC2 and vCloud will offer strong cloud solutions. &lt;br /&gt;&lt;br /&gt;References:&lt;br /&gt;&lt;a href="http://www.shlomoswidler.com/2010/01/creating-consistent-snapshots-of-live.html"&gt;Creating Consistent Snapshots of a Live Instance with XFS on a Boot-from-EBS AMI&lt;/a&gt;&lt;br /&gt;&lt;a href="http://alestic.com/2009/12/ec2-ebs-boot-resize"&gt;Increasing Root Disk Size of an EBS Boot AMI on EC2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://alestic.com/2010/02/ec2-resize-running-ebs-root"&gt;Resizing the Root Disk on a Running EBS Boot EC2 Instance&lt;/a&gt;&lt;br /&gt;&lt;a href="http://coderslike.us/2009/12/07/amazon-ec2-boot-from-ebs-and-ami-conversion/"&gt;Amazon EC2 – Boot from EBS and AMI conversion&lt;/a&gt;&lt;br /&gt;&lt;a href="http://perfcap.blogspot.com/2011/03/understanding-and-using-amazon-ebs.html"&gt;Understanding and using Amazon EBS&lt;/a&gt;&lt;br /&gt;&lt;a href="http://lab.redmallorca.com/amazon%E2%80%99s-elastic-block-store-explained/"&gt;Amazon’s Elastic Block Store explained&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-5143014162790229943?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/5143014162790229943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2010/02/amazon-ebs-images.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/5143014162790229943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/5143014162790229943'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2010/02/amazon-ebs-images.html' title='Amazon EBS Images'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_TfQFXZiv-Y0/S31eHAqx_HI/AAAAAAAAAR0/PkQMtb8t8I0/s72-c/spiral.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-7892145716895288067</id><published>2010-01-22T06:07:00.000-08:00</published><updated>2011-09-30T06:50:57.831-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Chef - Automated Infrastructure in the Cloud'/><title type='text'>Chef - Automated Infrastructure in the Cloud</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.opscode.com/chef/"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 150px; height: 148px;" src="http://3.bp.blogspot.com/_TfQFXZiv-Y0/S1m_laGal5I/AAAAAAAAARk/wTNH0oAsJ2o/s320/chef-says-okay.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5429581475154139026" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.opscode.com/chef/"&gt;Chef&lt;/a&gt; is an open source configuration management tool. It is particularly popular for cloud computing. Chef is written in ruby and uses a Ruby DSL (Domain specific language). It consists of the following components:&lt;br /&gt;&lt;br /&gt;Recipes and Cookbooks - you write recipes that describe the configuration of your server. Collections of recipes are cookbooks. There are some recipes already &lt;a href="http://github.com/opscode/cookbooks"&gt;available&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Chef Client - To operate you need a chef client installed on your server.&lt;br /&gt;&lt;br /&gt;Chef Server - The chef client can communicate with the Chef Server which stores recipes in a source control system like &lt;a href="http://git-scm.com/"&gt;git&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Chef-Solo - The simplest way to use chef is to use chef-solo to run local recipes without needing the Chef Server.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Getting Started with Chef-Solo&lt;/span&gt;&lt;br /&gt;In this example we will use chef-solo to configure an ubuntu ec2 server to use apache2. Go into EC2Dream and ....&lt;br /&gt;&lt;br /&gt;1. Create a security group called say App with port 22 and port 80 open and launch a server from a ubuntu ebs image:&lt;br /&gt;&amp;nbsp;&amp;nbsp;063491364108/ubuntu-9.10-karmic-server-i386-20100121 (ami-6743ae0e)&lt;br /&gt;&lt;a href="http://ec2dream.webs.com/gettingstarted/running_an_ebs_instance.html"&gt;See  here for more details&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;NOTE:&lt;/span&gt; Add 2 Block Devices to the launch specification of size 1 GB as devices /dev/sdq2 and /dev/sdq1.&lt;br /&gt;&lt;br /&gt;3. Copy the files from EC2Dream\chef folder to the root user home directory.&lt;br /&gt;To do this click on the App in the EC2Dream tree and in the server click on the WinSCP icom &lt;img border=0 width=20 height=20 src="http://ec2dream.webs.com/gettingstarted/icons/application_put.png"&gt; and a WinSCP session will open (or on Linux or Mac OS X a scp command will display).&lt;br /&gt;Then go to the EC2Dream\chef folder and drag and drop the files.&lt;br /&gt;&lt;br /&gt;&lt;img border=0 width=600 height=325 src="http://ec2dream.webs.com/gettingstarted/images/image28b.jpg"&gt;&lt;br /&gt;&lt;br /&gt;4. Log on to the App server by clicking on the terminal icon &lt;img border=0 width=20 height=20 src="http://ec2dream.webs.com/gettingstarted/icons/monitor.png"&gt; and a PuTTY session will open (or on Linux or Mac OS X a ssh session).&lt;br /&gt;&lt;br /&gt;&lt;img border=0 width=600 height=325 src="http://ec2dream.webs.com/gettingstarted/images/image28a.jpg"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;a. Install chef by running chef-bootstrap.sh&lt;br /&gt;&amp;nbsp;&amp;nbsp;b. Create directories&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/chef&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/etc/chef/recipes&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/etc/chef/recipes/cookbooks&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;c. Copy solo.rb and node.json to /etc/chef&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;e. Untar apache2.tar.gz to /etc/chef/recipes/cookbooks&lt;br /&gt;&lt;br /&gt;5. Run  chef-solo -c /etc/chef/solo.rb -j /etc/chef/node.json&lt;br /&gt;&lt;br /&gt;6. Use  a browser and go to the public IP address eg http://ec2-99-99-99-99.compute-1.amazonaws.com and you should see the following:&lt;br /&gt;&lt;img border=0 width=400 height=200 src="http://ec2dream.webs.com/gettingstarted/images/chef_apache.png"&gt;&lt;br /&gt;&lt;br /&gt;7. If the chef script is put in S3 then it is possible to build a generic process to configure servers using chef. S3 now supports versioning so version can be kept.   &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;NOTE:&lt;/span&gt; Opscode now have some &lt;a href="http://thecloudmarket.com/search?search_term=opscode"&gt;pre-build images&lt;/a&gt; for ubuntu so you don't have to install your chef client. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Multiple Server Architectures&lt;/span&gt;&lt;br /&gt;So what about complex systems that consist of architectures requiring multiple servers. Amazon have a feature &lt;a href="http://docs.amazonwebservices.com/AWSCloudFormation/latest/UserGuide/"&gt;CloudFormation&lt;/a&gt; that make it easy to provision AWS resources and then deploy them the same way every time. This way you can describe the various AWS resources that make up a system and bring it up in a repeatable way as well as deleting resources when shutting down. &lt;br /&gt;&lt;br /&gt; Then Chef can be responsible for application software deployment, configuration and execution on the Amazon EC2 instances. See  &lt;a href="https://s3.amazonaws.com/cloudformation-examples/IntegratingAWSCloudFormationWithOpscodeChef.pdf"&gt;Integrating AWS Cloud Formation With Opscode Chef&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Using Hosted Chef Server on Opscode Platform&lt;/span&gt;&lt;br /&gt;An alternative to using chef solo is to keep the chef scripts in Chef Server. Opscode Platform is a Chef Servers supplied as a service. Go to &lt;a href="http://www.opscode.com/"&gt;Opscode&lt;/a&gt; and register. You get the first 5 nodes &lt;a href="http://www.opscode.com/pricing"&gt;free&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The steps are: &lt;br /&gt;   1. &lt;a href="http://help.opscode.com/faqs/start/system-requirements"&gt;Verifying your system requirements and dependencies are all in order&lt;/a&gt;&lt;br /&gt;   2. &lt;a href="http://help.opscode.com/faqs/start/user-environment"&gt;Setting up your user environment&lt;/a&gt;&lt;br /&gt;   3. &lt;a href="http://help.opscode.com/faqs/start/chef-client"&gt;Setting up and configuring a new Chef Client on the Opscode Platform&lt;/a&gt;&lt;br /&gt;   4. &lt;a href="http://help.opscode.com/faqs/start/working-with-cookbooks"&gt;Creating a cookbooks repository and uploading cookbooks&lt;/a&gt;&lt;br /&gt;   5. &lt;a href="http://help.opscode.com/faqs/start/cooking-with-chef"&gt;Cooking with Chef&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;References&lt;/span&gt;&lt;br /&gt;&lt;a href="http://probablyinteractive.com/2009/3/29/Amazon%20EC2%20+%20Chef%20=%20Mmmmm.html"&gt;Amazon EC2 + Chef = Mmmmm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.opscode.com"&gt;Opscode&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cookbooks.opscode.com/cookbooks/apache2"&gt;Apache2 Cookbook&lt;/a&gt;&lt;br /&gt;&lt;a href="http://brainspl.at/articles/2009/01/31/cooking-with-chef-101"&gt;Cooking with Chef 101&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.slideshare.net/jesserobbins/using-chef-for-automated-infrastructure-in-the-cloud"&gt;Using Chef for Automated Infrastructure in the Cloud&lt;/a&gt;&lt;br /&gt;&lt;a href="http://warwickp.com/2009/12/configuration-management-with-chef-on-debian-part-1/"&gt;Configuration Management with Chef on Debian, Part 1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://wiki.opscode.com/display/chef/Chef+Solo"&gt;Chef Solo&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.ibd.com/scalable-deployment/creating-an-amazon-ami-for-chef-0-8/"&gt;Creating an Amazon EC2 AMI for Opscode Chef 0.8&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.full360.com/blogs/integrating-aws-cloudformation-and-chef"&gt;integrating-aws-cloudformation-and-chef&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-7892145716895288067?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/7892145716895288067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2010/01/chef-automated-infrastructure-in-cloud.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/7892145716895288067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/7892145716895288067'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2010/01/chef-automated-infrastructure-in-cloud.html' title='Chef - Automated Infrastructure in the Cloud'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_TfQFXZiv-Y0/S1m_laGal5I/AAAAAAAAARk/wTNH0oAsJ2o/s72-c/chef-says-okay.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-1141850205950593347</id><published>2010-01-20T03:54:00.000-08:00</published><updated>2010-11-17T07:06:07.105-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spot Instances'/><title type='text'>Spot Instances</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://cloudexchange.org/"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 105px;" src="http://1.bp.blogspot.com/_TfQFXZiv-Y0/S08nsfdSuBI/AAAAAAAAAQM/Q0-fEkz3xrY/s320/cloud_exchange.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5426599721316825106" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://aws.amazon.com/ec2/spot-instances/"&gt;Amazon Spot Instances&lt;/a&gt; enable you to pay a discount price to use spare servers on Amazon EC2. You need to be willing to relinquish them when the spot price exceeds the price you are willing to pay. Currently spot prices are around 40% of on demand price see &lt;a href="http://cloudexchange.org/"&gt;cloudexchange.org&lt;/a&gt;.&lt;br /&gt; As well as the obvious computational tasks spot instances are really useful for test and prototype systems. When setting up systems run them as spot instances and only as on-demand when setup and testing is complete.&lt;br /&gt; EC2Dream lets you link to cloudexchange.org to see current spot prices, enter a price in the launch parameters and launch a server. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_TfQFXZiv-Y0/S08rQ44ThrI/AAAAAAAAAQc/2EyuPIy5HOk/s1600-h/spot.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 121px;" src="http://4.bp.blogspot.com/_TfQFXZiv-Y0/S08rQ44ThrI/AAAAAAAAAQc/2EyuPIy5HOk/s320/spot.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5426603645151184562" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;References&lt;br /&gt;&lt;a href="http://alestic.com/2009/12/ec2-spot-instance-prices"&gt;Listing Recent Prices for EC2 Spot Instances&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cloudexchange.org/"&gt;Cloud Exchange&lt;/a&gt;&lt;br /&gt;&lt;a href="http://thecloudmarket.com/stats#/spot_prices"&gt;The Cloud Market&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-1141850205950593347?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/1141850205950593347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2010/01/spot-instances.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/1141850205950593347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/1141850205950593347'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2010/01/spot-instances.html' title='Spot Instances'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_TfQFXZiv-Y0/S08nsfdSuBI/AAAAAAAAAQM/Q0-fEkz3xrY/s72-c/cloud_exchange.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-3349063247194471872</id><published>2009-11-30T06:16:00.001-08:00</published><updated>2011-05-26T01:18:01.321-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Amazon RDS'/><title type='text'>Amazon RDS</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://aws.amazon.com/rds/"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 167px; height: 86px;" src="http://3.bp.blogspot.com/_TfQFXZiv-Y0/S2bYtXQ92WI/AAAAAAAAARs/gUDTO2mVtAM/s320/powered-by-mysql.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5433268274319972706" /&gt;&lt;/a&gt;&lt;br /&gt;EC2Dream provides the first GUI graphical administration for &lt;a href="http://aws.amazon.com/rds/"&gt;Amazon Relational Database Service (RDS)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Amazon RDS provides MySQL and Oracle as a service:&lt;br /&gt;1. It automatically creates an EC2 MySQL 5.x or Oracle 11g instance with attached EBS storage.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://aws.amazon.com/rds/oracle/?utm_source=OraclePR&amp;utm_medium=RDSLandingPage&amp;utm_campaign=Oracle"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 167px; height: 23px;" src="http://3.bp.blogspot.com/_TfQFXZiv-Y0/TU01RcpCSsI/AAAAAAAAAUk/PLl-mEBuXnk/s200/logo_oracle.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5570166887989529282" /&gt;&lt;/a&gt;&lt;br /&gt;2. It automates the backups using the snapshot mechanism.&lt;br /&gt;3. All configuration is done via web service calls.&lt;br /&gt;4. Existing DBA system administration tools can be used.&lt;br /&gt;&lt;br /&gt;One of the problems of system administration is that all software applications have different configuration files, configuration databases, registries etc.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_TfQFXZiv-Y0/Sx6B76-lfJI/AAAAAAAAAPc/KZvwgNoJKyU/s1600-h/rds.PNG"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 135px;" src="http://1.bp.blogspot.com/_TfQFXZiv-Y0/Sx6B76-lfJI/AAAAAAAAAPc/KZvwgNoJKyU/s320/rds.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5412906668589939858" /&gt;&lt;/a&gt;&lt;br /&gt;If all configuration could be reduced to web services calls then that would be highly significant for system admin. You then don't need to know how the system configuration is stored in the application just the web service call. Then it wouild be possible to automate configuration and the vision of &lt;a href="http://en.wikipedia.org/wiki/Autonomic_Computing"&gt;Autonomic Computing&lt;/a&gt; may start to be realised. If all software applications had web services apis for configuration then intelligent clients could be written to automate configuration etc etc.&lt;br /&gt;&lt;br /&gt; Also alot of the work Amazon have done for snapshotting and configuration could be reused to create other services. When will we see JAS (Java Application Service) for Tomcat????. Jan 2011 - Amazon have annouced this and it is called Amazon Elastic Beanstalk.  &lt;br /&gt;&lt;br /&gt;References&lt;br /&gt;&lt;a href="http://www.webyog.com/blog/2009/11/16/top-10-things-to-know-about-amazon-rds/"&gt;Top 10 things to know about Amazon RDS&lt;/a&gt;&lt;br /&gt;&lt;a href="http://aws.amazon.com/rds/faqs/"&gt;Amazon RDS FAQs&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.1/en/index.html"&gt;MySQL Reference Manual 5.1&lt;/a&gt;&lt;br /&gt;&lt;a href="https://wiki.fourkitchens.com/display/PF/MySQL+configuration+and+tuning"&gt;MySQL Configuration and Tuning&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.munzandmore.com/downloads/Cloud%20Databases.pdf"&gt;Cloud Databases and Oracle&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-3349063247194471872?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/3349063247194471872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/11/amazon-rds.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/3349063247194471872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/3349063247194471872'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/11/amazon-rds.html' title='Amazon RDS'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_TfQFXZiv-Y0/S2bYtXQ92WI/AAAAAAAAARs/gUDTO2mVtAM/s72-c/powered-by-mysql.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-2909438426380672999</id><published>2009-11-04T03:22:00.000-08:00</published><updated>2012-02-22T09:09:50.634-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Install and Run Openbravo on EC2'/><title type='text'>Install and Run Openbravo on EC2</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_TfQFXZiv-Y0/SvFmLgOWOkI/AAAAAAAAANo/ONU3y4Erkdg/s1600-h/OpenbravoLogo.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 80px; height: 80px;" src="http://4.bp.blogspot.com/_TfQFXZiv-Y0/SvFmLgOWOkI/AAAAAAAAANo/ONU3y4Erkdg/s320/OpenbravoLogo.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5400209776008641090" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.openbravo.com/"&gt;Openbravo&lt;/a&gt; is is the leading professional web-based enterprise resource planning solution. &lt;br /&gt;&lt;br /&gt;The EC2Dream graphical environment now has scripts to make setup and management of OpenBravo on Amazon EC2 simple and fast - 30 mins!!! The scripts built a complete system that persists on an EBS-based image. &lt;br /&gt;&lt;br /&gt;See the &lt;a href="http://ec2dream.webs.com/"&gt;Documentation&lt;/a&gt; for more info. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;References&lt;/span&gt;&lt;br /&gt;&lt;a href="http://wiki.openbravo.com/wiki/"&gt;Openbravo Documentation&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-2909438426380672999?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/2909438426380672999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/11/install-and-run-openbravo-on-ec2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/2909438426380672999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/2909438426380672999'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/11/install-and-run-openbravo-on-ec2.html' title='Install and Run Openbravo on EC2'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_TfQFXZiv-Y0/SvFmLgOWOkI/AAAAAAAAANo/ONU3y4Erkdg/s72-c/OpenbravoLogo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-2667875259018171849</id><published>2009-10-07T08:04:00.000-07:00</published><updated>2012-02-22T09:09:17.740-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Install and Run SugarCRM on EC2'/><title type='text'>Install and Run SugarCRM on EC2</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_TfQFXZiv-Y0/SsyvK99z0CI/AAAAAAAAANg/n3DA6JcTqa8/s1600-h/sugarcrm_logo.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 150px; height: 150px;" src="http://1.bp.blogspot.com/_TfQFXZiv-Y0/SsyvK99z0CI/AAAAAAAAANg/n3DA6JcTqa8/s320/sugarcrm_logo.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5389875457023004706" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sugarcrm.com/"&gt;SugarCRM&lt;/a&gt; is the leading Open Source Customer Relationship Management (CRM) System. A complete CRM system for businesses of all sizes. Core CRM functionality includes sales automation, marketing campaigns, support cases, project mgmt, calendaring and more.&lt;br /&gt;&lt;br /&gt;The EC2Dream graphical environment now has scripts to make setup and management of SugarCRM on Amazon EC2 simple and fast - 30 mins!!! The scripts built a complete system from a Ubuntu image. Installing PHP5, Apache, MySql and SugarCRM and persisting data on an EBS. &lt;br /&gt;&lt;br /&gt;See the &lt;a href="http://ec2dream.webs.com/"&gt;Documentation&lt;/a&gt; for more info.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;References&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.sugarforge.org/frs/?group_id=6"&gt;SugarCRM Downloads and docs&lt;/a&gt;&lt;br /&gt;&lt;a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2672"&gt;SugarCRM Community Edition v5.2.0f AMI provided by SugarCRM, Inc.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-2667875259018171849?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/2667875259018171849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/10/install-and-run-sugarcrm-on-ec2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/2667875259018171849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/2667875259018171849'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/10/install-and-run-sugarcrm-on-ec2.html' title='Install and Run SugarCRM on EC2'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_TfQFXZiv-Y0/SsyvK99z0CI/AAAAAAAAANg/n3DA6JcTqa8/s72-c/sugarcrm_logo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-1316053725819977713</id><published>2009-10-06T05:52:00.000-07:00</published><updated>2012-02-22T09:08:53.193-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Install and Run Magento on EC2'/><title type='text'>Install and Run Magento on EC2</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_TfQFXZiv-Y0/SstNeHBZY9I/AAAAAAAAANY/SEmZbccFJNA/s1600-h/magento.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 150px; height: 115px;" src="http://3.bp.blogspot.com/_TfQFXZiv-Y0/SstNeHBZY9I/AAAAAAAAANY/SEmZbccFJNA/s320/magento.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5389486558755251154" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.magentocommerce.com/"&gt;Magento&lt;/a&gt; is a Popular and Growing Open Source eCommerce Platform. Magento provides a huge &lt;a href="http://www.magentocommerce.com/images/uploads/magento-feature-list.pdf"&gt;list of features&lt;/a&gt; as standard. &lt;br /&gt;&lt;br /&gt;The EC2Dream graphical environment now has scripts to make setup and management of Magento on Amazon EC2 simple and fast!!! The scripts built a complete system from an EBS-based Ubuntu image. Installing PHP5, Apache, MySql and Magento and persisting data on an EBS. &lt;br /&gt;&lt;br /&gt;See the &lt;a href="http://ec2dream.webs.com/"&gt;Documentation&lt;/a&gt; for more info.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;References&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.magentocommerce.com/wiki/using_magento_on_amazon_s_ec2"&gt;Using Magento on Amazon EC2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.magentocommerce.com/wiki/welcome_to_the_magento_user_s_guide"&gt;Magento User Guide&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-1316053725819977713?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/1316053725819977713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/10/install-and-run-magento-on-ec2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/1316053725819977713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/1316053725819977713'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/10/install-and-run-magento-on-ec2.html' title='Install and Run Magento on EC2'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_TfQFXZiv-Y0/SstNeHBZY9I/AAAAAAAAANY/SEmZbccFJNA/s72-c/magento.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-2755385412679735012</id><published>2009-09-29T08:09:00.000-07:00</published><updated>2012-02-22T09:07:54.400-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Install and Run Alfresco on Amazon EC2'/><title type='text'>Install and Run Alfresco on Amazon EC2</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_TfQFXZiv-Y0/SsIkhl_szaI/AAAAAAAAAMw/PQz3owFSNg0/s1600-h/alfresco_logo-300x86.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 58px;" src="http://3.bp.blogspot.com/_TfQFXZiv-Y0/SsIkhl_szaI/AAAAAAAAAMw/PQz3owFSNg0/s320/alfresco_logo-300x86.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5386908263842106786" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.alfresco.com"&gt;Alfresco&lt;/a&gt; is a Popular Open Source Enterprise Content Management System. They have an &lt;a href="http://wiki.alfresco.com/wiki/EC2"&gt;official Amazon Machine Image&lt;/a&gt; based on Ubuntu, Tomcat and MySql although curently not EBS-based images. &lt;br /&gt;&lt;br /&gt;The EC2Dream graphical environment now has scripts to make setup and management of Alfresco on Amazon EC2 simple and fast. 15 minutes to create an Alfresco EBS-based Image. If you build in on the Amazon Elastic Beanstalk image then you will automatically have a auto-scaling, production-ready environment!!!   &lt;br /&gt;&lt;br /&gt;See the &lt;a href="http://ec2dream.webs.com/"&gt;Documentation&lt;/a&gt; for more info.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-2755385412679735012?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/2755385412679735012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/09/alfresco-on-amazon-ec2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/2755385412679735012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/2755385412679735012'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/09/alfresco-on-amazon-ec2.html' title='Install and Run Alfresco on Amazon EC2'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_TfQFXZiv-Y0/SsIkhl_szaI/AAAAAAAAAMw/PQz3owFSNg0/s72-c/alfresco_logo-300x86.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-7113303024251452036</id><published>2009-09-26T03:12:00.001-07:00</published><updated>2009-09-26T09:15:41.406-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT as a Service'/><title type='text'>IT as a Service</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_TfQFXZiv-Y0/SlHM8eTYInI/AAAAAAAAAL4/w63DBd4_OBo/s1600-h/cloud_services.png"&gt;&lt;img style="float:right;; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_TfQFXZiv-Y0/SlHM8eTYInI/AAAAAAAAAL4/w63DBd4_OBo/s320/cloud_services.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5355286771218784882" /&gt;&lt;/a&gt;&lt;br /&gt;It is significant that cloud computing is categorizing into&lt;br /&gt;&amp;nbsp;&amp;nbsp;IaaS (Infrastructure as a Service),&lt;br /&gt;&amp;nbsp;&amp;nbsp;PaaS (Platform as a Service) and&lt;br /&gt;&amp;nbsp;&amp;nbsp;SaaS (Software as a Service but really Application as a Service).&lt;br&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Infrastructure as a Service&lt;/span&gt;&lt;br /&gt;IaaS Vendors are now well defined with half a dozen big players (Amazon EC2, VMWare VSphere, GoGrid, Rackspace, AServer). The time for new entrants is closing. The APIs are defined. We will now see incremental improvement, competition on price and services being offered on top on of IaaS.&lt;br /&gt;&amp;nbsp;&amp;nbsp;When running your systems on IaaS you still have to manage the platform (patching, configuring etc) and write the code for your application but it will be most easiest to migrate existing system to cloud computing.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Software as a Service&lt;/span&gt;&lt;br /&gt;This area has been established for some time by the likes of SalesForce.com, NetSuite etc. If you just want to run a well-defined application (ie Accounting, CRM etc) then this is the easiest way to go.      &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Platform as a Service&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Typically these platforms are multi-tenanted so they will be cheaper to run than dedicated servers on IaaS, but existing systems will not be able to be easily migrated, they will have to rewritten.&lt;br /&gt;&amp;nbsp;&amp;nbsp;The first wave of PaaS products came from the SaaS vendors who realised that users wanted to customize the SaaS applications. Typically they are very propretiary so if you are willing to write (lockin) your application to the standard and restrictions of the SaaS vendor platform it will be quicker to develop and you will only have to maintain your code not the platform.&lt;br /&gt;&amp;nbsp;&amp;nbsp;The second wave is more language dependent and not related to a particular SaaS application. Heroku and Engine Yard for Ruby applications, Azure for .NET applications, SpringSource and Wavemaker for java, Google App Engine for python and java. Potential these could develop into more open standards.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;1. Large systems will migrate to IaaS because of the ease of migration and the ability to administer and control the platform.&lt;br /&gt;2. Smaller applications will migrate to PaaS, particularly as more language-specific standards appear. &lt;br /&gt;3. Commodity applications will be best supplied on a SaaS basis.&lt;br /&gt;&lt;br /&gt;References&lt;br /&gt;&lt;a href="http://www.keeneview.com/2009/04/opening-up-platform-as-service-what-is.html"&gt; Opening Up Platform as a Service - What is Open PaaS?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.wavemaker.com/product/cloud.html"&gt;WaveMaker Cloud Edition&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-7113303024251452036?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/7113303024251452036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/09/it-as-service.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/7113303024251452036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/7113303024251452036'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/09/it-as-service.html' title='IT as a Service'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_TfQFXZiv-Y0/SlHM8eTYInI/AAAAAAAAAL4/w63DBd4_OBo/s72-c/cloud_services.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-1810034247062806995</id><published>2009-09-09T08:06:00.000-07:00</published><updated>2011-08-08T08:44:47.200-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell EC2 Interface'/><title type='text'>PowerShell EC2 Interface</title><content type='html'>&lt;a href="http://code.google.com/p/power-ec2dream"&gt;Power-EC2Dream&lt;/a&gt; is a C# interface to Amazon EC2 and S3 (and Eucalyptus) that can be used from Windows &lt;a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx"&gt;PowerShell&lt;/a&gt; to write scripts against Amazon EC2 (and Eucalyptus).&lt;br&gt; &lt;br /&gt;The PowerShell scripting shell and language is the strategic direction for Microsoft Scripting. There are an increasing number of scripts available so it should be the best tool for configurating Windows Servers in Amazon EC2.&lt;table&gt;&lt;tr&gt;&lt;td&gt;API documentation?&lt;/td&gt;&lt;td&gt;&lt;a href="http://ec2dream.webs.com/powerec2dream"&gt;powerec2dream&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Dowload?&lt;/td&gt;&lt;td&gt;&lt;a href="http://power-ec2dream.googlecode.com/files/PowerEC2Dream-v2009-07-15-Beta2.zip"&gt;Version 2009-07-15-Beta2&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Examples&lt;/span&gt;&lt;br /&gt;Show the running instances:&lt;blockquote&gt;&lt;code&gt;&lt;br /&gt;   $ec2 = new-object Amazon.EC2.PowerEC2Dream($env:KEY,$env:SECRET_KEY)&lt;br /&gt;   $res = $ec2.DescribeInstances()&lt;br /&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;For ease of scripting parameters are passed as strings and return values are typically hashtables. Show the attributes of a particular image:&lt;blockquote&gt;&lt;code&gt;&lt;br /&gt;   $ec2 = new-object Amazon.EC2.PowerEC2Dream($env:KEY,$env:SECRET_KEY)&lt;br /&gt;   $res = $ec2.DescribeImages(@("ami-7ac02713"))&lt;br /&gt;   write-host $res[0].Keys&lt;br /&gt;   foreach ($r in $res)&lt;br /&gt;   {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;write-host $r.Values&lt;br /&gt;   }&lt;br /&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Also see &lt;a href="search/label/Scripting%20with%20PowerShell"&gt;Scripting with Powershell&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-1810034247062806995?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/1810034247062806995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/09/powershell-ec2-interface.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/1810034247062806995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/1810034247062806995'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/09/powershell-ec2-interface.html' title='PowerShell EC2 Interface'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-4466854991054470404</id><published>2009-09-07T01:19:00.001-07:00</published><updated>2011-10-28T08:32:40.642-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cloud APIs'/><title type='text'>Cloud APIs</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_TfQFXZiv-Y0/TD7cHQ9zyEI/AAAAAAAAASw/h9iV4yizQsA/s1600/286689_vb_api_calls.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_TfQFXZiv-Y0/TD7cHQ9zyEI/AAAAAAAAASw/h9iV4yizQsA/s320/286689_vb_api_calls.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5494070612809992258" /&gt;&lt;/a&gt;Three main Cloud APis are emerging: &lt;br /&gt;&lt;br /&gt;&lt;a href="http://aws.amazon.com/ec2/"&gt;Amazon EC2&lt;/a&gt; - The most likely de facto standard. Based on a modified Xen hypervisor with Management tools and an API that is the most extensive for cloud computing. Amazon have first mover advantage and it is getting easier to setup servers and amazon EC2 will provide services like monitoring, auto-scaling, VPN etc as part of the service. &lt;a href="http://www.eucalyptus.com/"&gt;Eucalyptus&lt;/a&gt; offer a private cloud compatible with EC2. Other clouds such as &lt;a href="http://myviewofworld.info/2011/05/02/Blog-Comparison_of_AWS_and_OpenStack.html"&gt;Openstack&lt;/a&gt; and CloudStack offer the EC2 API as well as their own proprietary API. All these products also support the VMware hypervisor so the EC2 API can be used to manage all the major hypervsors except Microsoft's Hyper-V.      &lt;br /&gt; &lt;br /&gt;&lt;a href="http://www.vmware.com/"&gt;VMware&lt;/a&gt; - VCloud. Based on the VMware hypervisor with Virtual Infrastructure management tools which allow you to build a private cloud. VMWare are offering their product to companies to use to build public clouds and be a big supporter of hyrid clouds. See &lt;a href="http://communities.vmware.com/community/developer/forums/vcloudapi"&gt;vCloud API&lt;/a&gt;. VCloud API has been open sourced by VMware. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/azure/"&gt;Azure&lt;/a&gt; - Based on HyperV. Microsoft products only. See &lt;a href="http://msdn.microsoft.com/en-us/library/dd179367.aspx"&gt;Windows Azure SDK&lt;/a&gt; and &lt;a href="http://snarfed.org/space/windows%20azure%20details"&gt;Windows Azure Details&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A common API for clouds is not emerging. Attempts like &lt;a href="http://code.google.com/p/jclouds/"&gt;Jclouds&lt;/a&gt; - a lightweight open source multi-cloud framework have been useful for admin tools developers. With backing from VMware it is emerging as the best product for accessing multiple clouds. It is also used by other cloud management products to access multiple clouds as it is a good way to access the smaller cloud vendors like Terremark, GoGrid and Rackspace. &lt;br /&gt;&lt;br /&gt;It looks like Amazon EC2/S3 is becoming the most common API and more cloud products are supporting it in addition to there own APIs. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;References&lt;/span&gt;&lt;br /&gt;&lt;a href="http://myviewofworld.info/2011/05/02/Blog-Comparison_of_AWS_and_OpenStack.html"&gt;Comparison_of_AWS_and_OpenStack&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cloudscaling.com/blog/cloud-computing/vmware-vs-amazon-round-one-fight"&gt;VMware vs. Amazon … ROUND ONE … FIGHT!&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.enterpriseirregulars.com/21742/amazon-web-services-the-de-facto-cloud-api"&gt;Amazon Web Services: The De Facto Cloud API?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cloudscaling.com/blog/cloud-computing/bifurcating-clouds"&gt;Premium vs. Commodity Cloud Computing Providers&lt;/a&gt;&lt;br /&gt;&lt;a href="http://spreadsheets.google.com/ccc?key=pGccO5mv6yH8Y4wV1ZAJrbQ&amp;hl=en"&gt;Cloud APIs&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cloud-standards.org/"&gt;DMTF&lt;/a&gt; Cloud Standards. &lt;br /&gt;&lt;a href="http://www.janakiramm.net/blog/do-we-need-odbc-for-the-cloud?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+JanakiramM+%28Janakiram+MSV%29"&gt;Do We Need ODBC for the Cloud?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://incubator.apache.org/libcloud/"&gt;Apache libCloud (Python)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.theregister.co.uk/2009/05/02/it_power_stations/"&gt;IT utilities, the biggest game in town&lt;/a&gt; - A good summary.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-4466854991054470404?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/4466854991054470404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/09/cloud-apis.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/4466854991054470404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/4466854991054470404'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/09/cloud-apis.html' title='Cloud APIs'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_TfQFXZiv-Y0/TD7cHQ9zyEI/AAAAAAAAASw/h9iV4yizQsA/s72-c/286689_vb_api_calls.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-1218335543516534686</id><published>2009-07-17T07:44:00.000-07:00</published><updated>2012-02-22T09:19:03.618-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Graphical System Admin for Eucalyptus'/><title type='text'>Graphical System Admin for Eucalyptus</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://open.eucalyptus.com/"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 150px; height: 119px;" src="http://2.bp.blogspot.com/_TfQFXZiv-Y0/SmQwy788V3I/AAAAAAAAAMQ/u-T86GT2SwM/s320/Eucalyptus_Logo_small_text_150.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5360463108122630002" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;EC2Dream now supplies Graphical System Administration for Eucalyptus!&lt;/span&gt;. It replaces the command line amazon EC2 tools with a graphical environment that can be installed on your Windows, Linux, or Mac OS X client machines.&lt;br /&gt;* Can operate completely behind your corporate firewall.&lt;br /&gt;* You can even try it out at no cost using the &lt;a href="http://open.eucalyptus.com/CommunityCloud"&gt;Eucalyptus Community Cloud&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;In EC2Dream you can create mutiple environments and switch between them:&lt;br /&gt;1. Private cloud for Eucalyptus&lt;br /&gt;2. Public Cloud for Amazon EC2&lt;br /&gt;3. Hybrid Cloud - Coming soon will be the abililty to move images between the private and public clouds to create the ultimate flexibility. &lt;br /&gt;&lt;br /&gt;For more info see the &lt;a href="http://ec2dream.webs.com/"&gt;documentation&lt;/a&gt;. All the benefits of cloud computing but in your own private cloud.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;References&lt;/span&gt;&lt;br /&gt;&lt;a href="http://highscalability.com/eucalyptus-ready-be-your-private-cloud"&gt;Is Eucalyptus ready to be your private cloud?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.gartner.com/thomas_bittman/2009/02/05/private-cloud-computing-is-real-get-over-it/"&gt;Private Cloud Computing is real get over it&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/virtualization/cloud-computing/privatecloud.mspx"&gt;Microsoft Cloud Computing Infrastructure&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.hypervizor.com/2009/07/vsphere-in-a-box-a-virtual-private-cloud-blueprint/"&gt;vSphere in a Box: A Virtual Private Cloud Blueprint &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-1218335543516534686?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/1218335543516534686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/07/graphical-system-admin-for-eucalyptus.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/1218335543516534686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/1218335543516534686'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/07/graphical-system-admin-for-eucalyptus.html' title='Graphical System Admin for Eucalyptus'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_TfQFXZiv-Y0/SmQwy788V3I/AAAAAAAAAMQ/u-T86GT2SwM/s72-c/Eucalyptus_Logo_small_text_150.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-8481282288938383814</id><published>2009-06-05T03:50:00.000-07:00</published><updated>2012-02-22T09:11:07.424-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EC2Dream - Graphical System Admin Tool'/><title type='text'>EC2Dream - Graphical System Admin Tool</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_TfQFXZiv-Y0/SvHvY2yqBZI/AAAAAAAAAOA/DkFzg_Vz05U/s1600-h/ec2dream.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 236px;" src="http://1.bp.blogspot.com/_TfQFXZiv-Y0/SvHvY2yqBZI/AAAAAAAAAOA/DkFzg_Vz05U/s320/ec2dream.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5400360638497818002" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Support for Amazon EC2 and Eucalyptus.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; Multiple environments based on access key, region and keypair.&lt;br /&gt;&amp;nbsp;&amp;nbsp; A tree view of your servers.&lt;br /&gt;&amp;nbsp;&amp;nbsp; One click SSH, SCP and Remote Desktop access.&lt;br /&gt;&amp;nbsp;&amp;nbsp; Script for one click bundling of an instance.&lt;br /&gt;&amp;nbsp;&amp;nbsp; One click deregister and delete Image.&lt;br /&gt;&amp;nbsp;&amp;nbsp; Launch and terminate EC2 and Eucalyptus Servers&lt;br /&gt;&amp;nbsp;&amp;nbsp; View Server's System log&lt;br /&gt;&amp;nbsp;&amp;nbsp; Save Launch profile&lt;br /&gt;&amp;nbsp;&amp;nbsp; Ability to build and run remote scripts.&lt;br /&gt;&amp;nbsp;&amp;nbsp; Server scripts to provide auto mount of EBS, and synchronisation of dynamic IP address.&lt;br /&gt;&amp;nbsp;&amp;nbsp; Support for Ruby for Linux Servers.&lt;br /&gt;&amp;nbsp;&amp;nbsp; Support for Powershell for Windows 2003 Servers&lt;br /&gt;&amp;nbsp;&amp;nbsp; Create, Delete, Display, Authorize, Revoke Security Groups&lt;br /&gt;&amp;nbsp;&amp;nbsp; Create, Delete, Display, Attach, Detach EBS Volumes&lt;br /&gt;&amp;nbsp;&amp;nbsp; Create, Delete, Display EBS Snapshots&lt;br /&gt;&amp;nbsp;&amp;nbsp; Create, Delete, Display, Associate, Disassociate Elastic IPs&lt;br /&gt;&amp;nbsp;&amp;nbsp; Create, Delete Keypairs&lt;br /&gt;&amp;nbsp;&amp;nbsp; Register, DeRegister Images.&lt;br /&gt;&amp;nbsp;&amp;nbsp; Monitoring Graphs&lt;br /&gt;&amp;nbsp;&amp;nbsp; Scripts for applications&lt;br /&gt;&amp;nbsp;&amp;nbsp; Nicknames for EBS and snapshots&lt;br /&gt;&amp;nbsp;&amp;nbsp; EBS Image creation and selection.&lt;br /&gt;&amp;nbsp;&amp;nbsp; Start, Stop EBS based servers.  &lt;br /&gt;&amp;nbsp;&amp;nbsp; Support for Spot Requests&lt;br /&gt;&amp;nbsp;&amp;nbsp; Links to cloudexchange.org and cloudmarket.com.   &lt;br /&gt;   &lt;br /&gt;&lt;span style="font-style:italic;"&gt;Support for Amazon RDS:&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; Launch and terminate RDS Servers&lt;br /&gt;&amp;nbsp;&amp;nbsp; Create, Delete, Display DB Snapshots&lt;br /&gt;&amp;nbsp;&amp;nbsp; Create, Delete, Modify DB Parameters&lt;br /&gt;&amp;nbsp;&amp;nbsp; Modify DB Instance&lt;br /&gt;&amp;nbsp;&amp;nbsp; View DB Events&lt;br /&gt;&amp;nbsp;&amp;nbsp; Restore DB from Snapshot and to point in time &lt;br /&gt;&amp;nbsp;&amp;nbsp; Once click access to MySQL Administrator GUI&lt;br /&gt;&lt;br /&gt;For more info on using EC2Dream  see the &lt;a href="http://ec2dream.webs.com/"&gt;Documentation&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;EC2Dream is simple to install and replaces multiple tools currently required to administer Amazon EC2. For Eucalyptus it provides a Graphical system admin environment instead of the Amazon EC2 Command line tools!!! It is released under the Apache 2.0 Open Source license.  &lt;br /&gt;&lt;br /&gt; Architecture of EC2Dream System Administration:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_TfQFXZiv-Y0/SvmPIiOvX9I/AAAAAAAAAOg/0WnNSmrcHqs/s1600-h/Elastdream_linux.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 158px;" src="http://1.bp.blogspot.com/_TfQFXZiv-Y0/SvmPIiOvX9I/AAAAAAAAAOg/0WnNSmrcHqs/s320/Elastdream_linux.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5402506604797976530" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_TfQFXZiv-Y0/SvmPTtqjSXI/AAAAAAAAAOo/hZbR60KJ270/s1600-h/Elastdream_windows.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 161px;" src="http://1.bp.blogspot.com/_TfQFXZiv-Y0/SvmPTtqjSXI/AAAAAAAAAOo/hZbR60KJ270/s320/Elastdream_windows.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5402506796845975922" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-8481282288938383814?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/8481282288938383814/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/06/ec2dream-free-amazon-ec2-sysadmin-tool.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/8481282288938383814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/8481282288938383814'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/06/ec2dream-free-amazon-ec2-sysadmin-tool.html' title='EC2Dream - Graphical System Admin Tool'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_TfQFXZiv-Y0/SvHvY2yqBZI/AAAAAAAAAOA/DkFzg_Vz05U/s72-c/ec2dream.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-5681691560166238646</id><published>2009-06-05T03:49:00.002-07:00</published><updated>2012-02-22T09:06:01.384-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EC2Dream Installation'/><title type='text'>EC2Dream Installation</title><content type='html'>EC2Dream is written in &lt;a href="http://www.ruby-lang.org/"&gt;Ruby&lt;/a&gt; and uses the &lt;a href="http://www.fxruby.org/"&gt;FXRuby graphics library&lt;/a&gt; so the installation process is mostly about getting Ruby installed with FXRuby.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;NOTE:&lt;/span&gt; It will continue to use the existing  version of Ruby installed with previous version of EC2Dream.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;NOTE:&lt;/span&gt; To use EC2Dream with CloudStack you need to update the api version in the right_aws ruby gem after installing EC2Dream.&lt;br /&gt;To do this look for file right_ec2.rb (look in the ruby folder that contains the gems and then under folder right_aws-3.0.0/lib/ec2) and change&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;API_VERSION  = "2011-02-28"&lt;br /&gt;to &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;API_VERSION = "2010-11-15"&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;WINDOWS INSTALL&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. Download either the latest Ruby 1.8.7 or Ruby 1.9.2 from &lt;a href="http://rubyinstaller.org/downloads/"&gt;http://rubyinstaller.org/downloads/&lt;/a&gt;&lt;br /&gt;   At time of writing latest Ruby 1.9.2 was: &lt;br /&gt;       &lt;a href="http://rubyforge.org/frs/download.php/75127/rubyinstaller-1.9.2-p290.exe"&gt;http://rubyforge.org/frs/download.php/75127/rubyinstaller-1.9.2-p290.exe&lt;/a&gt;&lt;br /&gt;   an latest Ruby 1.8.7 was: &lt;br /&gt;       &lt;a href="http://rubyforge.org/frs/download.php/75851/rubyinstaller-1.8.7-p358.exe"&gt;http://rubyforge.org/frs/download.php/75851/rubyinstaller-1.8.7-p358.exe&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;2. Run the Ruby installer and install at the default location like C:\Ruby and check add ruby executables to your PATH. Don't use spaces in folder name like "C:\Program File\Ruby"&lt;br /&gt;   &lt;br /&gt;3. Download FXRuby from &lt;a href="http://rubyforge.org/frs/download.php/66849/fxruby-1.6.20-x86-mingw32.gem"&gt;http://rubyforge.org/frs/download.php/66849/fxruby-1.6.20-x86-mingw32.gem&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4. In a Command window install FXRuby by running &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gem install  FXRuby-1.6.20-x86-mingw32.gem&lt;br /&gt;&lt;br /&gt;5. Download and unzip the latest &lt;a href="http://code.google.com/p/ec2dream/downloads/list"&gt;EC2Dream&lt;/a&gt; to a folder on say C: drive and it will create an EC2Dream directory. (No spaces in directory name)&lt;br /&gt;&lt;br /&gt;6. Edit the run.bat file and set the EC2DREAM_HOME to the folder of the EC2Dream install (i.e. C:\ec2dream)&lt;br /&gt;&lt;br /&gt;7. Execute run.bat to start EC2Dream GUI tool&lt;br /&gt;   NOTE: During startup the run.bat will first time automatically install the additional Ruby gems (components). If this fails they can be manually installed via these commands&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gem install &amp;lt;EC2DREAM_HOME folder&amp;gt;\ruby\right_aws-3.0.0.gem&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gem install capistrano&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gem install tzinfo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gem install rubyzip&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gem install gchartrb&lt;br /&gt;&lt;br /&gt;8. Create a shortcut to the run.bat using the ec2dream.ico icon file.&lt;br /&gt;&lt;br /&gt;If you are using Amazon RDS and would like to also use the MySQL GUI Tools &lt;br /&gt;&lt;br /&gt;1. Download MySQL GUI Tools from &lt;a href="http://dev.mysql.com/downloads/gui-tools/5.0.html"&gt;http://dev.mysql.com/downloads/gui-tools/5.0.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2. Install in the default location&lt;br /&gt;&lt;br /&gt;3. It will then be accessible from the Server tab in EC2Dream when using RDS.&lt;br /&gt;&lt;br /&gt;Note: If installed at non-default location set the EC2DREAM_MYSQL_ADMIN environment variable in run.bat using forward slashes. &lt;br /&gt;e.g. SET EC2DREAM_MYSQL_ADMIN=C:/Program Files/MySQL/MySQL Tools for 5.0/MySQLAdministrator.exe&lt;br /&gt;&lt;br /&gt;4. Amazon RDS needs to be set in the Settings tab of EC2Dream. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;MAC OS X INSTALL&lt;/span&gt;&lt;br /&gt;Ruby should be pre-installed on recent MacOS Tiger and Leopard machines.&lt;br /&gt;However FOX toolkit and some additional Ruby gems need to be installed.&lt;br /&gt;&lt;br /&gt;Follow documentation on &lt;a href="http://www.fox-toolkit.net/documentation/building-fox-on-mac-os-x"&gt;http://www.fox-toolkit.net/documentation/building-fox-on-mac-os-x&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;1. Install X11 from &lt;a href="http://www.apple.com/downloads/macosx/apple/macosx_updates/x11formacosx.html"&gt;http://www.apple.com/downloads/macosx/apple/macosx_updates/x11formacosx.html&lt;/a&gt; or the MacOS X install DVD&lt;br /&gt;&lt;br /&gt;2. Install XCode from install DVD.&lt;br /&gt;&lt;br /&gt;3. Install MacPorts as per &lt;a href="http://www.macports.org"&gt;http://www.macports.org&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;4. Install fox:&lt;br /&gt;&amp;nbsp;&amp;nbsp;sudo port install fox&lt;br /&gt;    &lt;br /&gt;5. Install gems (ruby components):&lt;br /&gt;&amp;nbsp;&amp;nbsp;sudo gem install fxruby &lt;br /&gt;&amp;nbsp;&amp;nbsp;sudo gem install &amp;lt;EC2DREAM_HOME directory&amp;gt;/ruby/right_aws-3.0.0.gem&lt;br /&gt;&amp;nbsp;&amp;nbsp;sudo gem install capistrano  (should already be installed)&lt;br /&gt;&amp;nbsp;&amp;nbsp;sudo gem install tzinfo&lt;br /&gt;&amp;nbsp;&amp;nbsp;sudo gem install rubyzip&lt;br /&gt;&amp;nbsp;&amp;nbsp;sudo gem install gchartrb  &lt;br /&gt;&lt;br /&gt;6. Download and unzip the latest &lt;a href="http://code.google.com/p/ec2dream/downloads/list"&gt;EC2Dream&lt;/a&gt; to a directory  say /home/myuser and it will create an EC2Dream directory. &lt;br /&gt;     &lt;br /&gt;7. Edit the run.sh file and set the EC2DREAM_HOME variable to the directory of the EC2Dream install (i.e. /home/myuser/ec2dream)&lt;br /&gt;&lt;br /&gt;8. Give run.sh execute permissions and execute ./run.sh to start EC2DREAM GUI tool&lt;br /&gt;&lt;br /&gt;9. Create a shortcut to the run.sh using the ec2dream.ico icon file&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;FEDORA (11) INSTALL&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. Install Ruby using the package manager of your linux machine&lt;br /&gt;&amp;nbsp;&amp;nbsp;su - &lt;br /&gt;&amp;nbsp;&amp;nbsp;yum install -y ruby gcc gcc-c++ ruby-devel ruby-docs ruby-ri ruby-irb ruby-rdoc rubygems&lt;br /&gt;   &lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="font-weight:bold;"&gt;NOTE:&lt;/span&gt; If no rubygems package found then download and install from the rubygem.org site. See &lt;a href="http://bparanj.blogspot.com/2008/04/rubygems-110-on-centos-5.html"&gt;http://bparanj.blogspot.com/2008/04/rubygems-110-on-centos-5.html&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;2. Find a version of the FOX toolkit for your linux machine from &lt;a href="http://dag.wieers.com/rpm/packages/fox/"&gt;http://dag.wieers.com/rpm/packages/fox/&lt;/a&gt; download and install. &lt;br /&gt;&lt;br /&gt;   In my case i was using fedora 11 on an AMD64 machine so I chose&lt;br /&gt;   &lt;a href="http://ftp.belnet.be/packages/dries.ulyssis.org/fedora/fc10/x86_64/RPMS.dries/"&gt;http://ftp.belnet.be/packages/dries.ulyssis.org/fedora/fc10/x86_64/RPMS.dries/&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;fox-1.6.33-1.fc10.rf.x86_64.rpm &lt;br /&gt;&amp;nbsp;&amp;nbsp;fox-devel-1.6.33-1.fc10.rf.x86_64.rpm &lt;br /&gt;   and then install both using&lt;br /&gt;&amp;nbsp;&amp;nbsp;rpm -ivh fox-1.6.33-1.fc10.rf.x86_64.rpm&lt;br /&gt;&amp;nbsp;&amp;nbsp;rpm -ivh fox-devel-1.6.33-1.fc10.rf.x86_64.rpm &lt;br /&gt;&lt;br /&gt;An alternatively is to download the fox files from http://sourceforge.net/projects/mingw-cross/files/ &lt;br /&gt;   &lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="font-weight:bold;"&gt;NOTE:&lt;/span&gt; The Fox Tool Kit software version must match the FXRuby Version (i.e. currently FXRuby is is 1.6.19 so &lt;br /&gt;  Fox must be 1.6 and 1.6.19 or greater but I would recommend the 1.6.3x versions).  &lt;br /&gt;   &lt;br /&gt;3. Install gems (ruby components):&lt;br /&gt;&amp;nbsp;&amp;nbsp;sudo gem install fxruby &lt;br /&gt;&amp;nbsp;&amp;nbsp;sudo gem install capistrano&lt;br /&gt;&amp;nbsp;&amp;nbsp;sudo gem install &amp;lt;EC2DREAM_HOME directory&amp;gt;/ruby/right_aws-3.0.0.gem&lt;br /&gt;&amp;nbsp;&amp;nbsp;sudo gem install tzinfo&lt;br /&gt;&amp;nbsp;&amp;nbsp;sudo gem install rubyzip&lt;br /&gt;&amp;nbsp;&amp;nbsp;sudo gem install gchartrb &lt;br /&gt;&lt;br /&gt;4. Download and unzip the latest &lt;a href="http://code.google.com/p/ec2dream/downloads/list"&gt;EC2Dream&lt;/a&gt; to a directory  say /home/myuser and it will create an EC2Dream directory.&lt;br /&gt;     &lt;br /&gt;5. Edit the run.sh file and set the EC2DREAM_HOME to the directory of the EC2Dream install (i.e. /home/myuser/ec2dream)&lt;br /&gt;&lt;br /&gt;6. Give run.sh execute permissions and execute ./run.sh to start EC2DREAM GUI tool&lt;br /&gt;&lt;br /&gt;7. Create a shortcut to the run.sh using the ec2dream.ico icon file     &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;LINUX UBUNTU (JAUNTY) INSTALL&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. Install Ruby using the package manager of your linux machine&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;sudo apt-get install -y ruby gcc g++ libxrandr-dev libopenssl-ruby ruby1.8-dev&lt;br /&gt;&lt;br /&gt;2. Install Rubygems&lt;br /&gt;&amp;nbsp;&amp;nbsp;sudo apt-get install ruby-rubygems&lt;br /&gt;&lt;br /&gt;3. Install fox toolkit.    &lt;br /&gt;&amp;nbsp;&amp;nbsp;sudo apt-get install -y libfox-1.6-dev libfox-1.6-0&lt;br /&gt;   &lt;br /&gt;4. Install gems (ruby components):&lt;br /&gt;&amp;nbsp;&amp;nbsp;sudo gem install fxruby &lt;br /&gt;&amp;nbsp;&amp;nbsp;sudo gem install capistrano&lt;br /&gt;&amp;nbsp;&amp;nbsp;sudo gem install &amp;lt;EC2DREAM_HOME directory&amp;gt;/ruby/right_aws-3.0..0.gem&lt;br /&gt;&amp;nbsp;&amp;nbsp;sudo gem install tzinfo&lt;br /&gt;&amp;nbsp;&amp;nbsp;sudo gem install rubyzip&lt;br /&gt;&amp;nbsp;&amp;nbsp;sudo gem install gchartrb  &lt;br /&gt;&lt;br /&gt;5. Download and unzip the latest &lt;a href="http://code.google.com/p/ec2dream/downloads/list"&gt;EC2Dream&lt;/a&gt; to a directory  say /home/myuser and it will create an EC2Dream directory. &lt;br /&gt;     &lt;br /&gt;6. Edit the run.sh file and set the EC2DREAM_HOME to the directory of the EC2Dream install (i.e. /home/myuser/ec2dream)&lt;br /&gt;&lt;br /&gt;7. Give run.sh execute permissions and execute ./run.sh to start EC2DREAM GUI tool&lt;br /&gt;&lt;br /&gt;8. Create a shortcut to the run.sh using the ec2dream.ico icon file. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;UPGRADE&lt;/span&gt;&lt;br /&gt;1. Rename current ec2dream folder to a different name&lt;br /&gt;&lt;br /&gt;2. Unzip the ec2dream zip installation file. &lt;br /&gt;&lt;br /&gt;3. Copy the env directory from old version of EC2Dream to new version EC2Dream.&lt;br /&gt;&lt;br /&gt;4. Edit the run.sh or run.bat and set the EC2DREAM_HOME variable.&lt;br /&gt;&lt;br /&gt;5. Run run.bat or give run.sh execute permissions and execute ./run.sh to start EC2DREAM GUI tool&lt;br /&gt;&lt;br /&gt;6. Create a shortcut to the run.sh using the ec2dream.ico icon file&lt;br /&gt;&lt;br /&gt;7. Uninstall the right_aws software as a new customised version is supplied.&lt;br /&gt;&amp;nbsp;&amp;nbsp;gem uninstall right_aws &lt;br /&gt;&lt;br /&gt;8. If upgrading make sure the following packages are installed:&lt;br /&gt;&amp;nbsp;&amp;nbsp;gem install EC2DREAM_HOME/ruby/right_aws-3.0.0.gem&lt;br /&gt;&amp;nbsp;&amp;nbsp;gem install tzinfo           &lt;br /&gt;&amp;nbsp;&amp;nbsp;gem install rubyzip&lt;br /&gt;&amp;nbsp;&amp;nbsp;gem install gchartrb&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-5681691560166238646?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/5681691560166238646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/06/ec2dream-installation.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/5681691560166238646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/5681691560166238646'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/06/ec2dream-installation.html' title='EC2Dream Installation'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-2594619995207679346</id><published>2009-06-05T03:49:00.001-07:00</published><updated>2012-02-22T09:33:40.381-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EC2Dream User Guide'/><title type='text'>EC2Dream User Guide</title><content type='html'>&lt;a href="http://ec2dream.blogspot.com/search/label/Methodology"&gt;Methodology&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;      &lt;a href="http://ec2dream.blogspot.com/search/label/EC2Dream%20Installation"&gt;Installation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;   &lt;a href="http://www.ec2dream.webs.com/gettingstarted/setting_up_ec2.html"&gt;Setup an Amazon EC2 or Eucalyptus Account&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;   &lt;a href="http://www.ec2dream.webs.com/gettingstarted/create_an_environment.html"&gt;Create an EC2Dream Environment&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;            &amp;nbsp;&amp;nbsp;&lt;a href="http://www.ec2dream.webs.com/running_an_instance/index.html"&gt;Run a Linux Instance&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;            &amp;nbsp;&amp;nbsp;&lt;a href="http://www.ec2dream.webs.com/gettingstarted/building_a_base_image.html"&gt;Build a Linux Base Image&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;            &amp;nbsp;&amp;nbsp;&lt;a href="http://www.ec2dream.webs.com/application/index.html"&gt;Build a  Linux Application Image&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;            &lt;a href="http://www.ec2dream.webs.com/gettingstarted/using_resource_tags.html"&gt;Using Resource Tags&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;      &lt;a href="http://www.ec2dream.webs.com/rds/index.html"&gt;Using Amazon RDS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;      &lt;a href="http://www.ec2dream.webs.com/windows/index.html"&gt;Using Windows Servers&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;      &lt;a href="http://www.ec2dream.webs.com/powerec2dream/"&gt;Power-EC2Dream - Powershell EC2 Interface API Documentation&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-2594619995207679346?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/2594619995207679346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/06/ec2dream-user-guide.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/2594619995207679346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/2594619995207679346'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/06/ec2dream-user-guide.html' title='EC2Dream User Guide'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-3999190392055040256</id><published>2009-05-07T02:23:00.000-07:00</published><updated>2011-08-08T08:47:01.547-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scripting with PowerShell'/><title type='text'>Scripting with PowerShell</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_TfQFXZiv-Y0/SgP70O-NXJI/AAAAAAAAAJg/eMGaBltbB4o/s1600-h/powershell.jpeg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 180px; height: 146px;" src="http://3.bp.blogspot.com/_TfQFXZiv-Y0/SgP70O-NXJI/AAAAAAAAAJg/eMGaBltbB4o/s320/powershell.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5333383258527587474" /&gt;&lt;/a&gt;&lt;br /&gt;The &lt;a href="http://en.wikipedia.org/wiki/Windows_PowerShell"&gt;PowerShell&lt;/a&gt; scripting shell and language is the strategic direction for Microsoft Scripting. There are an increasing number of scripts available so it should be the best tool for configurating Windows Servers in Amazon EC2. PowerShell is a .NET 2.0 application and it uses .NET to achieve virtually everything so the power of .NET is leverage from within PowerShell. You can access EC2 and S3 with the .NET interfaces. &lt;br /&gt;&lt;br /&gt; &lt;a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx"&gt;PowerShell 1.0&lt;/a&gt; supports Windows XP and Windows Server 2003 but has no remote scripting capability. To do configuration of Amazon EC2 Windows instances install the PowerShell 1.0 EC2Dream environment(see below) and either: &lt;br /&gt; 1. Copy configuration scripts to the Windows 2003 Server instance via the Remote Desktop (need to enable drive access in remote desktop to do this) and run them in Remote Desktop.&lt;br /&gt; 2. Use sshd that comes with cygwin (see below)&lt;br /&gt; &lt;br /&gt; &lt;a href="http://blogs.msdn.com/powershell/pages/download-windows-powershell.aspx"&gt;PowerShell 2.0&lt;/a&gt; supports remote scripting but is only available with Vista and Windows Server 2008(currently unsupported by Amazon EC2) and is still a preview release. The latest preview being &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c913aeab-d7b4-4bb1-a958-ee6d7fe307bc&amp;displaylang=en"&gt;CTP3&lt;/a&gt;.&lt;br /&gt; &lt;br /&gt;There are an increasing number of powershell scripts available at sites like the &lt;a href="http://www.microsoft.com/technet/scriptcenter/scripts/default.mspx?mfr=true"&gt;Script Center Script Repository&lt;/a&gt;.  If you want a GUI for Powershell download &lt;a href="http://www.powergui.org/"&gt;PowerGUI&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Architecture of EC2Dream System Administration with Powershell:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_TfQFXZiv-Y0/SvmPuDBuR8I/AAAAAAAAAOw/Et35NxOpDQY/s1600-h/Elastdream_windows.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 161px;" src="http://2.bp.blogspot.com/_TfQFXZiv-Y0/SvmPuDBuR8I/AAAAAAAAAOw/Et35NxOpDQY/s320/Elastdream_windows.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5402507249256908738" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;References - PowerShell&lt;/span&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa830112.aspx"&gt;MSDN Windows Powershell&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa973757(VS.85).aspx"&gt;Windows PowerShell Getting Started Guide&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/powershell/"&gt;  Windows PowerShell Blog&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx"&gt;Scripting with Windows PowerShell&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.captainliteral.net/2007/02/18/powershell-basics-%E2%80%93-net/"&gt;PowerShell basics .NET&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/technet/scriptcenter/topics/winpsh/toolbox.mspx"&gt;The Windows PowerShell Toolbox&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.geekpoet.net/2007/10/powershell-script-to-create-remote.html"&gt;Powershell script to create Remote Desktop connection files&lt;/a&gt; &lt;br /&gt;&lt;a href="http://ec2pssnapin.codeplex.com/"&gt;Windows PowerShell Snap-In for EC2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.cloudberrylab.com/2009/02/how-to-copy-files-between-amazon-s3.html"&gt;How to create a PowerShell batch file&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/technet/scriptcenter/topics/winpsh/manual/run.mspx"&gt;Running Windows PowerShell Scripts&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/technet/scriptcenter/default.mspx"&gt;Microsoft TechNet Script Center&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=DF8ED469-9007-401C-85E7-46649A32D0E0&amp;displaylang=en"&gt;Windows PowerShell Quick Reference&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx"&gt;How to Download Windows PowerShell 1.0&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/powershell/pages/download-windows-powershell.aspx"&gt;Download Windows PowerShell&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/technet/scriptcenter/scripts/default.mspx?mfr=true"&gt;The Script Center Script Repository&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;References - SSH and PowerShell Addons&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.netadmintools.com/art516.html"&gt;Installing an SSH Server on Windows 2003&lt;/a&gt; &lt;br /&gt;&lt;a href="http://www.datacrash.net/howtos/howto/using-powershell-through-ssh.html"&gt;Using PowerShell through ssh&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx"&gt;How to Download Windows PowerShell 1.0&lt;/a&gt;&lt;br /&gt;&lt;a href="http://hivearchive.com/2006/07/03/using-powershell-through-ssh/"&gt;Using PowerShell through ssh&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.itefix.no/i2/node/11910"&gt;copSSH&lt;/a&gt; &lt;br /&gt;&lt;a href="https://cloud-support.engineyard.com/faqs/windows/how-to-setup-cygwin-to-run-nix-commands-in-windows"&gt;How to setup Cygwin to run *nix commands in Windows&lt;/a&gt;&lt;br /&gt;&lt;a href="http://pigtail.net/LRP/printsrv/cygwin-sshd.html"&gt;cygwin sshd&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.shelltools.net/"&gt;Shell Tools&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.idera.com/Products/PowerShell/PowerShell-Plus/"&gt;PowerShell Plus&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.nsoftware.com/PowerShell/"&gt;NetCmdlets&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-3999190392055040256?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/3999190392055040256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/05/scripting-with-powershell.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/3999190392055040256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/3999190392055040256'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/05/scripting-with-powershell.html' title='Scripting with PowerShell'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_TfQFXZiv-Y0/SgP70O-NXJI/AAAAAAAAAJg/eMGaBltbB4o/s72-c/powershell.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-4546502212236769504</id><published>2009-04-22T07:49:00.000-07:00</published><updated>2009-09-30T02:12:53.722-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Provisioning'/><title type='text'>Provisioning</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_TfQFXZiv-Y0/Se81yPvNHxI/AAAAAAAAAIg/PE-iiP4Pz5Y/s1600-h/umbrella.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_TfQFXZiv-Y0/Se81yPvNHxI/AAAAAAAAAIg/PE-iiP4Pz5Y/s320/umbrella.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5327536021536841490" /&gt;&lt;/a&gt;&lt;br /&gt;Many software companies are creating Virtual Machines pre-built for various environments but this seems to me to be a partial solution. I think it is better to have scripts to automatically build applications from a base image. The script would be customizable as well. You also need to script the management of the image, deploying new builds etc. &lt;br /&gt;&lt;br /&gt;Most provisioning tools (&lt;a href="http://reductivelabs.com/"&gt;Puppet&lt;/a&gt;, &lt;a href="http://wiki.opscode.com/display/chef/Home"&gt;Chef&lt;/a&gt; etc) are very complex (well for me, anyway -)). The best tool I have found so far is &lt;a href="http://en.wikipedia.org/wiki/Capistrano"&gt;Capistrano&lt;/a&gt; to do remote execution of ruby scripts. Also &lt;a href="http://github.com/crafterm/sprinkle/tree/master"&gt;Sprinkle&lt;/a&gt; looks interesting as it uses simple declarative ruby scripts but it is a very young development. &lt;br /&gt;&lt;br /&gt;So the Methodology to build Application Image should be:&lt;br /&gt;1. Build Base Image manually.&lt;br /&gt;2. Create a script for Application.&lt;br /&gt;3. Build Application Image with script to Instance and EBS.&lt;br /&gt;4. Bundle Application Image and snapshot EBS.&lt;br /&gt;&lt;br /&gt;To Scale: &lt;br /&gt;1. Create EBS from snapshot.&lt;br /&gt;2. Start Application Image with new EBS.&lt;br /&gt;3. Minimal script to change runtime parameters as required.&lt;br /&gt;&lt;br /&gt;If there were a library of pre-built scripts then it would be really easy to build lots of different servers. This approach has alot of potential for cloud environments.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;References&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.capify.org/"&gt;Capistrano&lt;/a&gt;&lt;br /&gt;&lt;a href="http://niblets.wordpress.com/2007/02/12/capistrano-ec2-sitting-in-a-tree-k-i-s-s-i-n-g/"&gt;Capistrano and EC2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://redartisan.com/2008/5/27/sprinkle-intro"&gt;Sprinkle Intro&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.37signals.com/svn/posts/1440-using-the-ec2-environment-for-fewer-moving-parts"&gt;Using the EC2 environment for fewer moving parts&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-4546502212236769504?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/4546502212236769504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/04/provisioning.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/4546502212236769504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/4546502212236769504'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/04/provisioning.html' title='Provisioning'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_TfQFXZiv-Y0/Se81yPvNHxI/AAAAAAAAAIg/PE-iiP4Pz5Y/s72-c/umbrella.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-8058940825423568294</id><published>2009-04-17T07:24:00.000-07:00</published><updated>2011-09-30T08:34:24.411-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Methodology'/><title type='text'>Methodology</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_TfQFXZiv-Y0/Ser4-oyvadI/AAAAAAAAAII/LTBP54eu8HM/s1600-h/sphere.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 150px; height: 150px;" src="http://2.bp.blogspot.com/_TfQFXZiv-Y0/Ser4-oyvadI/AAAAAAAAAII/LTBP54eu8HM/s320/sphere.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5326343264304851410" /&gt;&lt;/a&gt;&lt;span style="font-weight:bold;"&gt;Simple Systems&lt;/span&gt;&lt;br /&gt;For running a system of a dozen or so servers that do not have large performance requirements adopt a simple approach: &lt;br /&gt; &lt;br /&gt;1. For Each Server(or group of scaled servers) create a unique security group for identification.&lt;br /&gt;&lt;br /&gt;2. Use images are already tailored for Amazon and can be trusted.&lt;br /&gt; For Linux use &lt;a href="http://thecloudmarket.com/search?search_term=rightscale+centos"&gt;RightScale CentOS&lt;/a&gt;, &lt;a href="http://alestic.com/"&gt;Alestic Ubuntu&lt;/a&gt; or &lt;a href="http://aws.typepad.com/aws/2010/09/introducing-amazon-linux-ami.html"&gt;Amazon Linux Centos&lt;/a&gt; images. For Windows use &lt;a href="http://blog.rightscale.com/2010/08/17/windows-in-the-cloud-with-rightscale/"&gt;Rightscale Windows&lt;/a&gt; images. &lt;br /&gt;&lt;br /&gt;3. Use scripts to configure the servers for an application for &lt;a href="search/label/Networking%20Multi-Tier%20Applications"&gt;networking multi-tier applications&lt;/a&gt;, &lt;a href="search/label//S3 for Backing up log files"&gt;backup&lt;/a&gt;, initialisation using either &lt;a href="search/label/Scripting%20with%20Ruby"&gt;Ruby&lt;/a&gt; and Bash for linux or &lt;a href="search/label/Scripting%20with%20PowerShell"&gt;PowerShell&lt;/a&gt; for Windows.&lt;br /&gt;&lt;br /&gt;4. It is better to use EBS-based images.&lt;br /&gt;(For the the older instance-store images create an &lt;a href="search/label/EBS"&gt;Elastic Block Store (EBS)&lt;/a&gt; for each server to persist application changes which can be auto-mounted at startup).   &lt;br /&gt;&lt;br /&gt;5. Create a standard build script to build a base image to be the basis of all application images. Optionally create, or bundle, an image.&lt;br /&gt;&lt;br /&gt;6. Build Applications images from the Base image or with the build script.&lt;br /&gt;(For the older instance-store images install as much of the application as possible on the EBS to minimize change to the Base image and maximize sharing of an Application image).&lt;br /&gt;&lt;br /&gt;7. Create an image for EBS-based images using a naming convention containing the date. i.e. securityGroup-YYMMDD&lt;br /&gt;(For the older instance-store images use a script to bundle the application image following the conventions for storing images and backups on &lt;a href="search/label/Amazon%20S3"&gt;S3&lt;/a&gt; ). &lt;br /&gt;&lt;br /&gt;8. &lt;a href="search/label/EC2Dream%20-%20Graphical%20System%20Admin%20Tool"&gt;EC2Dream System Admin&lt;/a&gt; has been designed to support this methodology.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Complex Systems&lt;/span&gt;&lt;br /&gt;For running larger, more complex, high performing systems then it is worth investing in developing &lt;a href="search/label/Developing%20Chef%20Cookbooks"&gt;Chef Cookbooks&lt;/a&gt; to config the Servers. In this approach:&lt;br /&gt;1. You start the server telling it what sort of server it is.&lt;br /&gt;2. It configures itself automatically from scripts from the Chef Server.&lt;br /&gt;3. Use all the disciplines of development (version control, automatic deployment of code etc) in the configuring of servers. &lt;br /&gt;&lt;br /&gt;I would recommend using a combination of &lt;a href="http://docs.amazonwebservices.com/AWSCloudFormation/latest/UserGuide/"&gt;CloudFormation&lt;/a&gt; to provision the AWS resources (Instances, Disk, Users etc) and Chef for application software deployment and configuration of the instances. See  &lt;a href="https://s3.amazonaws.com/cloudformation-examples/IntegratingAWSCloudFormationWithOpscodeChef.pdf"&gt;Integrating AWS Cloud Formation With Opscode Chef&lt;/a&gt;  &lt;br /&gt;&lt;br /&gt;Also look to &lt;a href="search/label/Amazon%20Elastic%20Beanstalk"&gt;Amazon BeanStalk&lt;/a&gt;, &lt;a href="search/label/Amazon%20CloudFormation"&gt;Cloud Formation&lt;/a&gt; and &lt;a href="http://ec2dream.blogspot.com/2011/04/cloudfoundry-open-paas-this-is-future.html"&gt;Cloud Foundry&lt;/a&gt; for further automated infrastructure.   &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;References&lt;/span&gt;&lt;br /&gt;&lt;a href="http://wikis.sun.com/download/attachments/116065636/Practical-Cloud-Patterns-S311528.pdf"&gt;Practical Cloud Computing Patterns&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-8058940825423568294?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/8058940825423568294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/04/methodology-for-building-ec2-servers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/8058940825423568294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/8058940825423568294'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/04/methodology-for-building-ec2-servers.html' title='Methodology'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_TfQFXZiv-Y0/Ser4-oyvadI/AAAAAAAAAII/LTBP54eu8HM/s72-c/sphere.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-8966374462942380972</id><published>2009-04-09T05:37:00.000-07:00</published><updated>2009-09-30T02:32:17.444-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Snapshots'/><title type='text'>Snapshots</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_TfQFXZiv-Y0/Sd34M2xQQbI/AAAAAAAAAHw/X1kgeKno2P4/s1600-h/camera.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 145px; height: 200px;" src="http://3.bp.blogspot.com/_TfQFXZiv-Y0/Sd34M2xQQbI/AAAAAAAAAHw/X1kgeKno2P4/s320/camera.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5322683234366013874" /&gt;&lt;/a&gt;&lt;br /&gt;Snapshots are a way of backing up an Elastic Block Store (EBS). An EBS can also be created from a snapshot so this is a way of restoring an EBS or cloning an EBS. Snapshots are stored on S3 although they are not currently accessible via a bucket so you cannot make a backup copy of the snapshot (for example an off-site backup).&lt;br /&gt; Snapshots are not useful for backing up volatile data that needs consistency (e.g SQL databases). In this case you need to either:&lt;br /&gt;&amp;nbsp;&amp;nbsp;- Use a backup utility of the product that can do a backup in a consistent fashion.&lt;br /&gt;&amp;nbsp;&amp;nbsp;- Have a a slave copy of that can be frozen to do a backup.&lt;br /&gt;Once a backup is taken it can be either:&lt;br /&gt;&amp;nbsp;&amp;nbsp;- Copied to S3&lt;br /&gt;&amp;nbsp;&amp;nbsp;- If the backup is on an EBS then a snapshot could be taken of the backup.  &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Ruby scripts can be used to manage snapshots&lt;/span&gt;&lt;br /&gt;First a script to create a snapshot of a volume. The script gets the volume id  from the user data or you can hard code the volume. It can be run regularly via cron on linux or similar on Windows (ie AT command).  &lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;#!/usr/bin/ruby&lt;br /&gt;# script to create a snapshot  &lt;br /&gt;&lt;br /&gt;require 'rubygems'&lt;br /&gt;require 'right_aws'&lt;br /&gt;require 'net/http'&lt;br /&gt;&lt;br /&gt;AMAZON_PUBLIC_KEY=&amp;lt;public key&amp;gt;&lt;br /&gt;AMAZON_PRIVATE_KEY=&amp;lt;private key&amp;gt;&lt;br /&gt;url_user_data = 'http://169.254.169.254/latest/user-data'&lt;br /&gt;# switch between the next 2 lines to either use user data or &lt;br /&gt;# a hard coded volume &lt;br /&gt;ec2_vol = Net::HTTP.get_response(URI.parse(url_user_data)).body&lt;br /&gt;# ec2_vol ='vol-xxxxx'&lt;br /&gt;&lt;br /&gt;print "Create Snapshot ",ec2_vol," ",DateTime.now,"\n"&lt;br /&gt;# remove last parameter if not in the EU zone&lt;br /&gt;ec2 = RightAws::Ec2.new(AMAZON_PUBLIC_KEY, AMAZON_PRIVATE_KEY,:endpoint_url =&gt; 'https://eu-west-1.ec2.amazonaws.com/')&lt;br /&gt;&lt;br /&gt;print "snapshot ",vol,"\n"&lt;br /&gt;vol = ec2.create_snapshot(ec2_vol)&lt;br /&gt;print "result ",vol,"\n"&lt;br /&gt;print "Snapshot Complete ",ec2_vol," ",DateTime.now,"\n"&lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Snapshots - How they work&lt;/span&gt;&lt;br /&gt;When you take a series of snapshots for a volume, each unique piece of information is stored once, regardless of how many snapshots need that piece of data. (So each snapshot just has the differences between the other snapshots). &lt;br /&gt;For example:&lt;br /&gt;a. Say you have a 3GB volume that you put 1GB on and take a snapshot, S1. &lt;br /&gt;b. Then you put an additional 1GB on it (so that you're using 2GB) and take another snapshot, S2.&lt;br /&gt;c. Internally Amazon is storing 2GB (less after compression) of total unique data.&lt;br /&gt;d. If you deleted S1, it will still be storing 2GB, because all that data was still needed by S2.&lt;br /&gt;e. If instead you deleted S2, the amount of data stored goes down to 1GB, the amount that was needed for S1.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Charges for Snapshots&lt;/span&gt;&lt;br /&gt;Charges aren't tracked per snapshot. Amazon looks at the total amount of unique data for all the snapshots you have. &lt;br /&gt;So if you have a volume, V1, take a snapshot of it, S1, create a new volume, V2, from the snapshot and then create a snapshot, S2, of V2, you will not be charged twice for the data shared between S1 and S2.&lt;br /&gt;Charging is for the total amount of unique data needed by all your undeleted snapshots.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Delete Snapshots&lt;/span&gt;&lt;br /&gt;The following script can also be run to delete snapshots when they reach a certain age. I tested restoring from a snapshot after deleting an old one so the snapshot are not dependent on one another. &lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;#!/usr/bin/ruby&lt;br /&gt;&lt;br /&gt;require 'rubygems'&lt;br /&gt;require 'right_aws'&lt;br /&gt;require 'net/http'&lt;br /&gt;require 'date'&lt;br /&gt;&lt;br /&gt;AMAZON_PUBLIC_KEY=&amp;lt;public key&amp;gt;&lt;br /&gt;AMAZON_PRIVATE_KEY=&amp;lt;private key&amp;gt;&lt;br /&gt;# switch between the next 2 lines to either use user data or &lt;br /&gt;# a hard coded volume &lt;br /&gt;url_user_data = 'http://169.254.169.254/2008-02-01/user-data'&lt;br /&gt;ec2_vol = Net::HTTP.get_response(URI.parse(url_user_data)).body&lt;br /&gt;# ec2_vol ='vol-xxxxx'&lt;br /&gt;# remove last parameter if not in the EU zone&lt;br /&gt;ec2 = RightAws::Ec2.new(AMAZON_PUBLIC_KEY, AMAZON_PRIVATE_KEY,:endpoint_url =&gt; 'https://eu-west-1.ec2.amazonaws.com/')&lt;br /&gt;# delete snapshots 30 days old&lt;br /&gt;age = 30&lt;br /&gt;print "delete snapshots for vol  ",ec2_vol,"\n"&lt;br /&gt;sa  = ec2.describe_snapshots()       &lt;br /&gt;sa.each do |s|&lt;br /&gt;&amp;nbsp;&amp;nbsp;aws_volume_id = s[:aws_volume_id]&lt;br /&gt;&amp;nbsp;&amp;nbsp;if aws_volume_id == ec2_vol then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;days_old = Integer((Time.now - s[:aws_started_at]) / (60*60*24))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if days_old &gt; age then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ec2.delete_snapshot(s[:aws_id])&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print  "snapshot ",s[:aws_id]," ",days_old," days old for vol ",s[:aws_volume_id]," deleted \n"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print  "snapshot ",s[:aws_id]," ",days_old," days old for vol ",s[:aws_volume_id],"\n"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end &lt;br /&gt;&amp;nbsp;&amp;nbsp;end            &lt;br /&gt;end&lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;EC2 snapshot performance&lt;/span&gt;&lt;br /&gt; A volume created from a snapshot will be available for use immediately, but will be populated lazily from S3 in the background.  However, if your application is hitting regions of the volume that are not yet pulled from S3, then performance can be impacted waiting for the data from S3 (it will be fetched immediately, but the path to S3 is slower than the path to the EBS volume).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Sharing a Snapshot&lt;/span&gt;&lt;br /&gt; By default only your account can access a snapshot, however you can share it with a list of EC2 accounts, or share it publicly. You do this via the Modify Snapshot Attribute function. This is useful to allow data to be access by multiple accounts and to provide a public pre-build snapshot image for an EBS that could complement a public Amazon Machine Image.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;In linux to see performance of disk use&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;iostat -x&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-8966374462942380972?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/8966374462942380972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/04/snapshots.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/8966374462942380972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/8966374462942380972'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/04/snapshots.html' title='Snapshots'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_TfQFXZiv-Y0/Sd34M2xQQbI/AAAAAAAAAHw/X1kgeKno2P4/s72-c/camera.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-7559205151091267571</id><published>2009-04-08T07:06:00.000-07:00</published><updated>2011-11-10T04:48:56.136-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><title type='text'>Security</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_TfQFXZiv-Y0/Sdyx_kWX99I/AAAAAAAAAHg/JrG7p8SdQ7c/s1600-h/lock.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 129px;" src="http://4.bp.blogspot.com/_TfQFXZiv-Y0/Sdyx_kWX99I/AAAAAAAAAHg/JrG7p8SdQ7c/s320/lock.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5322324565292480466" /&gt;&lt;/a&gt;&lt;br /&gt;Security on Amazon EC2 is basically at 2 levels:&lt;br /&gt;1. Amazon provides various security features. &lt;br /&gt;2. Various security features need to be configured in the instance you are running.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;First, the Amazon features.  &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Amazon have an &lt;a href="http://s3.amazonaws.com/aws_blog/AWS_Security_Whitepaper_2008_09.pdf"&gt;AWS Security WhitePaper&lt;/a&gt; that documents EC2s security environment. &lt;br /&gt;&lt;br /&gt;a. Amazon promise that the Xen-based hypervisor provides instance isolation. &lt;br /&gt;b. Amazon force you to use certificates and keys to access your instance via ssh.  &lt;br /&gt;c. The Amazon firewall (via security groups) by default denys all inbound traffic. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Secondly, configuring for security in the instance&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;a. Select an Amazon Machine Image - only use Amazon AMIs or Community AMIs from well know suppliers e.g. Rightscale or RPath. Also follow the guidelines on &lt;a href="http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/index.html?AESDG-chapter-sharingamis.html"&gt;Sharing AMIs Safely&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;b. The primary means of securing access to an Machine is security groups. &lt;br /&gt;&amp;nbsp;- Currently I create a security for each instance as this helps identify them in AWS Management console. &lt;br /&gt;&amp;nbsp;- Create a ssh connection but restrict it to the IP address of your client. &lt;br /&gt;&amp;nbsp;- As well as specifying open ports you can specify other security groups that have access but currently cannot limit this by port number.&lt;br /&gt;&amp;nbsp;- Configure the minimum number of open ports&lt;br /&gt;&lt;br /&gt;c. Configure security in your instance.&lt;br /&gt;&amp;nbsp;- Consider using the firewall of your instance as an additional firewall. &lt;br /&gt;&amp;nbsp;- Some application like databases allow you to configure IP addresses for clients.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;For other topics such as VPN, Encryption, Securing Resources see:&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.databasecolumn.com/2009/03/securing-your-data-in-the-cloud.html"&gt;Securing your data in the Cloud&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.databasecolumn.com/images/2009/SecuringYourDataintheCloudSlides.pdf"&gt;Securing your data in the Cloud Slides&lt;/a&gt;&lt;br /&gt;&lt;a href="http://broadcast.oreilly.com/2008/11/20-rules-for-amazon-cloud-security.html"&gt;20 Rules for Amazon Cloud Security&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linux.com/feature/44818"&gt;Three tools to help you configure iptables&lt;/a&gt;&lt;br /&gt;&lt;a href="http://developer.amazonwebservices.com/connect/entry!default.jspa?categoryID=152&amp;externalID=1697"&gt;Amazon Web Services: Overview of Security Processes&lt;/a&gt; &lt;br /&gt;&lt;a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1233&amp;categoryID=100"&gt; Tips for Securing Your EC2 Instance&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cloudiquity.com/2009/02/securing-distributed-applications-on-ec2/"&gt;Securing n-tier and distributed applications on EC2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/index.html?AESDG-chapter-sharingamis.html"&gt;Sharing AMIs Safely&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-7559205151091267571?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/7559205151091267571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/04/security.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/7559205151091267571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/7559205151091267571'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/04/security.html' title='Security'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_TfQFXZiv-Y0/Sdyx_kWX99I/AAAAAAAAAHg/JrG7p8SdQ7c/s72-c/lock.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-7159142691637842591</id><published>2009-04-02T03:05:00.000-07:00</published><updated>2011-06-20T06:46:31.343-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking Multi-Tier Applications'/><title type='text'>Networking Multi-Tier Applications</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_TfQFXZiv-Y0/SdSTwfcQSlI/AAAAAAAAAHQ/fe2JwIGP-_g/s1600-h/boxes.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 155px;" src="http://4.bp.blogspot.com/_TfQFXZiv-Y0/SdSTwfcQSlI/AAAAAAAAAHQ/fe2JwIGP-_g/s320/boxes.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5320039521114409554" /&gt;&lt;/a&gt;&lt;br /&gt;Consider a &lt;a href="http://en.wikipedia.org/wiki/Multitier_architecture"&gt;multi-tier application&lt;/a&gt; that consists of &lt;br /&gt;&amp;nbsp;&amp;nbsp;1. Web First Tier         e.g. Apache&lt;br /&gt;&amp;nbsp;&amp;nbsp;2. Clustered Middle Tier e.g. JBoss cluster&lt;br /&gt;&amp;nbsp;&amp;nbsp;3. Data Tier              e.g. MySQL, Postgres SQL etc &lt;br /&gt;&lt;br /&gt;Amazon uses dynamic IP addresses so running multi-tier applcations has some challenges. &lt;br /&gt;Amazon instances have 2 IP address: &lt;br /&gt;&amp;nbsp;&amp;nbsp;1. A Public Address accessible from the internet. &lt;br /&gt;&amp;nbsp;&amp;nbsp;2. A Private Address accessible within Amazon that is used when instances communicate with each other.&lt;br /&gt;An instance can have an Elastic IP Address so the address is static however there is a limit of 5 IP addresses available. These can be increase via this &lt;a href="http://www.amazon.com/gp/html-forms-controller/eip_limit_request"&gt;form&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;Typically the web first tier has a static IP address and the DNS provider maps this static IP address to the domain name of the application. &lt;br /&gt;&amp;nbsp;&amp;nbsp;To handle the dynamic IP Addresses it is best to use hostnames and build a local hosts file from EC2 meta-data. Amazon hostnames are IP-&amp;lt;private IP Address&amp;gt; in the Rightscale Centos Images. &lt;br /&gt;&amp;nbsp;&amp;nbsp;The following ruby script called syncHost.rb builds a local hosts file from EC2 meta-data. It takes a prefix parameter so you can have test and production setup. (ie name all test servers test-xxx, and production say live-xxx and the script only builds a local host files for hosts that match the prefix and it uses the name without the prefix in the host file!). &lt;br /&gt;The script also creates a file called local_hostname.sh that sets env variable LOCAL_HOSTNAME to the machine name that can be used by other scripts. (ie . ./local_hostname.sh) &lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;#!/usr/bin/ruby&lt;br /&gt;#&lt;br /&gt;# fetch hosts from amazon EC2 meta-data&lt;br /&gt;# Use the security group name as host name until tagging available&lt;br /&gt;# Optional first parameter with hostname prefix&lt;br /&gt;# To cope with dynamic scaling do this every x mins add to crontab&lt;br /&gt;# Based on http://dysinger.net/2008/10/13/using-amazon-ec2-metadata-as-a-simple-dns&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;require 'rubygems'&lt;br /&gt;require 'right_aws'&lt;br /&gt;require 'net/http'&lt;br /&gt;require 'resolv'&lt;br /&gt;require '/root/settings'&lt;br /&gt;&lt;br /&gt;# set if hosts must have a particular prefix this is an optional first argument&lt;br /&gt;hostPrefix = ""&lt;br /&gt;if ARGV[0] != nil&lt;br /&gt;&amp;nbsp;&amp;nbsp;hostPrefix = ARGV[0]&lt;br /&gt;&amp;nbsp;&amp;nbsp;puts "Matching hosts with prefix #{hostPrefix}" &lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;url = 'http://169.254.169.254/latest/meta-data/instance-id'&lt;br /&gt;instance_id = Net::HTTP.get_response(URI.parse(url)).body&lt;br /&gt;&lt;br /&gt;# switch between the next 2 lines to either use vol-id passed as user data or &lt;br /&gt;# a hard coded volume &lt;br /&gt;url_user_data = 'http://169.254.169.254/latest/user-data'&lt;br /&gt;ec2_vol = Net::HTTP.get_response(URI.parse(url_user_data)).body&lt;br /&gt;# ec2_vol ='vol-xxxxx'&lt;br /&gt;&lt;br /&gt;print "sync Hosts file\n"&lt;br /&gt;&lt;br /&gt;ec2 = RightAws::Ec2.new(Settings.AMAZON_PUBLIC_KEY, Settings.AMAZON_PRIVATE_KEY,:endpoint_url =&gt; Settings.REGION)&lt;br /&gt; &lt;br /&gt;original_hosts = File.open("/etc/hosts")&lt;br /&gt;File.open("/etc/hosts.bak", "w") {|f| f.write original_hosts }&lt;br /&gt; &lt;br /&gt;hosts = "127.0.0.1  localhost\n"&lt;br /&gt;ec2.describe_instances.each do |r|&lt;br /&gt;&amp;nbsp;hostname = r[:aws_groups]&lt;br /&gt;&amp;nbsp;h = hostname[0]&lt;br /&gt;&amp;nbsp;if r[:aws_state] == 'running'&lt;br /&gt;&amp;nbsp;&amp;nbsp;# if host prefix then match the prefix and host is after prefix&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if hostPrefix.length &gt; 0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if hostPrefix.length &lt; h.length and h[0,hostPrefix.length]==hostPrefix  &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ip_address = Resolv::DNS.new.getaddress(r[:private_dns_name]).to_s &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hosts &lt;&lt; ip_address+"     #{h[hostPrefix.length,h.length]}\n"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ip_address = Resolv::DNS.new.getaddress(r[:private_dns_name]).to_s &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hosts &lt;&lt; ip_address+"     #{h}\n"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&lt;br /&gt;&amp;nbsp;&amp;nbsp;end&lt;br /&gt;end&lt;br /&gt;File.open("/etc/hosts", "w") {|f| f.write hosts }&lt;br /&gt;&lt;br /&gt;# create local_hostname shell script&lt;br /&gt;ip_address = %x(hostname -i) &lt;br /&gt;print "ip address " + ip_address&lt;br /&gt;ip_address[ip_address.length-1] = ""&lt;br /&gt;hostFile = "/etc/hosts" &lt;br /&gt;hostFound = false&lt;br /&gt;File.open(hostFile).each_line{ |s|&lt;br /&gt;&amp;nbsp;a = s.split(' ')&lt;br /&gt;&amp;nbsp;&amp;nbsp;if a[0] == ip_address&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;hostFound = true  &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;print "hostname is " + a[1] + "\n"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;File.open('/mnt/local_hostname.sh', 'w') {|f| f.write("export LOCAL_HOSTNAME="+a[1]) }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;system('chmod 700 /mnt/local_hostname.sh') &lt;br /&gt;&amp;nbsp;&amp;nbsp;end&lt;br /&gt;}&lt;br /&gt;if hostFound == false  &lt;br /&gt;&amp;nbsp;if hostPrefix.length &gt; 0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;puts "ERROR: No hostname found for this server's IP address with hostname prefix #{ hostPrefix}"&lt;br /&gt;&amp;nbsp;else&lt;br /&gt;&amp;nbsp;&amp;nbsp;puts "ERROR: No hostname found for this server's IP address"&lt;br /&gt;&amp;nbsp;end&lt;br /&gt;end&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Then to start your multi-tier application:&lt;br /&gt;1. Start all instances of the multi-tier application either via the AWS Management Console or a script that uses the RunInstances API call. Pass the EBS vol id as user data.&lt;br /&gt;2. Logon to each machine and run &lt;br /&gt;&amp;nbsp;&amp;nbsp;ruby syncHost.rb &lt;br /&gt;   and then start the application service (e.g the database )&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Security:&lt;/span&gt; There is a good article on &lt;a href="http://www.cloudiquity.com/2009/02/securing-distributed-applications-on-ec2/"&gt;Securing n-tier and distributed applications on EC2&lt;/a&gt;. I have a similar setup for security as mentioned in this article.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Multi-Casting:&lt;/span&gt; Amazon does not support multi-casting (I guess to preserve bandwidth). If your application uses multi-casting (e.g JBoss Cache, monitoring tools) they will need to be reconfigured to use unicasting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-7159142691637842591?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/7159142691637842591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/04/networking-multi-tier-applications.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/7159142691637842591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/7159142691637842591'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/04/networking-multi-tier-applications.html' title='Networking Multi-Tier Applications'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_TfQFXZiv-Y0/SdSTwfcQSlI/AAAAAAAAAHQ/fe2JwIGP-_g/s72-c/boxes.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-3825820477866802806</id><published>2009-03-30T06:25:00.000-07:00</published><updated>2011-06-20T06:45:48.242-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='S3 for Backing up log files'/><title type='text'>S3 for Backing up log files</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_TfQFXZiv-Y0/SdEhwc-WsvI/AAAAAAAAAG4/01c4E7SMWC4/s1600-h/backup.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 134px;" src="http://3.bp.blogspot.com/_TfQFXZiv-Y0/SdEhwc-WsvI/AAAAAAAAAG4/01c4E7SMWC4/s320/backup.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5319069751196431090" /&gt;&lt;/a&gt;&lt;br /&gt;In situations where you cannot logon via ssh to a machine to see what is happening it is very useful to be able to view the application logs. Also if your application is not installed on an EBS then the log files will be lost when the machine is shut down.&lt;br /&gt;&lt;br /&gt;There is a good utility &lt;a href="http://s3sync.net"&gt;s3sync&lt;/a&gt; that can rsync the log directory of you application. There are some other ways of doing this documented in the Userful Links.&lt;br /&gt;&lt;br /&gt;Prerequisite is: Ruby AWS. &lt;br /&gt;&lt;br /&gt;1. Download and untar the latest s3sync from &lt;a href="http://s3sync.net"&gt;s3sync&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;$ wget http://s3.amazonaws.com/ServEdge_pub/s3sync/s3sync.tar.gz&lt;br /&gt;$ tar xvzf s3sync.tar.gz&lt;br /&gt;&lt;br /&gt;2. Make directory for ssl certificates and download some (important, read README for info about these SSL certs)&lt;br /&gt;&lt;br /&gt;$ mkdir certs&lt;br /&gt;$ cd certs&lt;br /&gt;$ wget http://mirbsd.mirsolutions.de/cvs.cgi/~checkout~/src/etc/ssl.certs.shar&lt;br /&gt;&lt;br /&gt;run this shell archive&lt;br /&gt;&lt;br /&gt;$ sh ssl.certs.shar&lt;br /&gt;&lt;br /&gt;get back into main s3sync dir&lt;br /&gt;&lt;br /&gt;$ cd ..&lt;br /&gt;&lt;br /&gt;3. create backupLogs.sh &lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;#!/bin/bash&lt;br /&gt;#&lt;br /&gt;# Backup application logs&lt;br /&gt;# change /logDirectory/ to application log folder&lt;br /&gt;# NOTE: This script assumes that the environment variable LOCAL_HOSTNAME has been&lt;br /&gt;# set with the hostname of the machine&lt;br /&gt;#&lt;br /&gt;export AWS_ACCESS_KEY_ID=&lt;access key&gt;&lt;br /&gt;export AWS_SECRET_ACCESS_KEY=&lt;secret key&gt;&lt;br /&gt;export SSL_CERT_DIR=/root/s3sync/certs&lt;br /&gt;# If using the EU domain uncomment next 2 lines&lt;br /&gt;#export AWS_CALLING_FORMAT=SUBDOMAIN&lt;br /&gt;#export EC2_URL=https://eu-west-1.ec2.amazonaws.com/&lt;br /&gt;if [ -z "$LOCAL_HOSTNAME" ] then&lt;br /&gt;&amp;nbsp;echo "ERROR: env variable LOCAL_HOSTNAME is not set"&lt;br /&gt;else&lt;br /&gt;&amp;nbsp;echo "host is" $LOCAL_HOSTNAME&lt;br /&gt;&amp;nbsp;echo date&lt;br /&gt;&amp;nbsp;echo "backup log folder to S3 bucket &lt;bucket&gt;:"$LOCAL_HOSTNAME&lt;br /&gt;&amp;nbsp;ruby /root/s3sync/s3sync.rb  -r --delete --ssl /logDirectory/ &lt;bucket&gt;:/$LOCAL_HOSTNAME&lt;br /&gt;fi&lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;4. In &lt;a href="http://cloudberrylab.com/"&gt;CloudBerry&lt;/a&gt; &lt;span style="font-style:italic;"&gt;(which I recommend)&lt;/span&gt; , &lt;a href="http://s3browser.com/"&gt;S3browser&lt;/a&gt; or S3fox, create the bucket. &lt;br /&gt;&lt;br /&gt;5.Set up cronjob to run backup script every hour.&lt;br /&gt;&lt;br /&gt;To backup at 10 past every hour&lt;br /&gt;&lt;br /&gt;$ crontab -e&lt;br /&gt;&lt;br /&gt;add the following line.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;10 * * * * /path/to/backupLogs.sh&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Note&lt;/span&gt;&lt;br /&gt; to get SSL to work with latest Right AWS (version 1.10) I had to modify&lt;br /&gt;s3sync_mod.rb s3sync script&lt;br /&gt;&lt;br /&gt;# added the following line to bypass ssl problem&lt;br /&gt;   &lt;blockquote&gt;http.verify_mode = OpenSSL::SSL::VERIFY_NONE&lt;/blockquote&gt;&lt;br /&gt;before   &lt;br /&gt;         &lt;blockquote&gt;http.start&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Useful Links&lt;/span&gt;&lt;br /&gt;&lt;a href="http://s3.amazonaws.com/ServEdge_pub/s3sync/README.txt"&gt;s3sync readme&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.eberly.org/2006/10/09/how-automate-your-backup-to-amazon-s3-using-s3sync/"&gt;S3Sync&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.eberly.org/2008/10/27/how-i-automated-my-backups-to-amazon-s3-using-rsync/"&gt;s3fs&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.nongnu.org/duplicity/"&gt;Duplicity has s3 support&lt;/a&gt;&lt;br /&gt;&lt;a href="http://jeremy.zawodny.com/blog/archives/007641.html"&gt;A List of Amazon S3 Backup Tools&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.s3rsync.com/index.php/Rsync_to_Amazon_S3"&gt;Rsync to Amazon S3&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.subcloud.com/"&gt;SubCloud&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-3825820477866802806?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/3825820477866802806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/03/backup-log-files-to-s3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/3825820477866802806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/3825820477866802806'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/03/backup-log-files-to-s3.html' title='S3 for Backing up log files'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_TfQFXZiv-Y0/SdEhwc-WsvI/AAAAAAAAAG4/01c4E7SMWC4/s72-c/backup.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-1839262929506413390</id><published>2009-03-26T05:58:00.000-07:00</published><updated>2011-06-20T06:45:10.312-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking in EC2'/><title type='text'>Networking in EC2</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_TfQFXZiv-Y0/Sct-l7qDQiI/AAAAAAAAAGw/3NFcNBIdxNM/s1600-h/network.GIF"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 144px;" src="http://4.bp.blogspot.com/_TfQFXZiv-Y0/Sct-l7qDQiI/AAAAAAAAAGw/3NFcNBIdxNM/s320/network.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5317482975175328290" /&gt;&lt;/a&gt;&lt;br /&gt;Instances running in EC2 have both a Public and Private DNS. Amazon allocates addresses dynamically when an instance starts.  &lt;br /&gt;&lt;br /&gt;Access from outside EC2 (eg HTTP and ssh) is via the Public DNS IP address. This can be set to a static address by using an Elastic IP address.&lt;br /&gt;&lt;br /&gt;Security Groups provide a system wide firewall to restrict access to the machines. &lt;br /&gt;Second level protection can be provided by a firewall on the instance or configuration of IP addresses in some applications.  &lt;br /&gt;&lt;br /&gt;Access between machines is via the Private DSN. As IP addresses are dynamic the best way is to create a hosts file and then do configuration via hostname. Then when an IP address changes the host file just needs to be updated. &lt;br /&gt;&lt;br /&gt;A script can be written to use Amazon EC2 Metadata as a simple dns (see below).&lt;br /&gt;Currently this examples uses the security group as the machine name. When Amazon introduces tagging (Coming Soon!) then the tag name can be used as the machine name. This script can be run every couple of minutes via a cron job for no cost. &lt;br /&gt;&lt;br /&gt;In my experience of running multi-tiered applications you need to:&lt;br /&gt;1. Start all Amazon instances for an application.&lt;br /&gt;2. Update the local hosts file.&lt;br /&gt;3. Start the applications in order (ie database first)&lt;br /&gt; &lt;br /&gt;Amazon say that &lt;span style="font-style:italic;"&gt;"bandwidth is at least 250Mbps, and gets as high as 1000Mb depending on your instance size and that this should be more than enough for most servers"&lt;/span&gt;. Bandwidth is higher on the large machine instances compared to the small machine instances.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight:bold;"&gt;Use Amazon EC2 Metadata as a simple dns&lt;/span&gt;&lt;br&gt;I use the amazon metadata for creating /etc/hosts and do this on a cron schedule. This does everything I need. Instead of fancy DynDNS tricks or having to run and manage an internal DNS server I just have a ruby script that looks at the metadata ec2 to build /etc/hosts. It's easy. To set it up yourself and try it all you need are 3 easy steps.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt; Step 1&lt;/span&gt; - Start each of your instances with unique security group that matches what you want their internal hostname to be. Such as "onion" or "potato" or whatever you want to call them.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt; Step 2&lt;/span&gt; - Make sure you have ruby, rubygems and amazon-ec2 (rubygem) installed. Then create a ruby script in /usr/local/sbin/hosts that has the following:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;#!/usr/bin/env ruby&lt;br /&gt;%w(optparse rubygems EC2 resolv pp).each { l require l }&lt;br /&gt;options = {}&lt;br /&gt;parser = OptionParser.new do p&lt;br /&gt;  p.banner = "Usage: hosts [options]"&lt;br /&gt;  p.on("-a", "--access-key USER", "The user's AWS access key ID.") do aki&lt;br /&gt;    options[:access_key_id] = aki&lt;br /&gt;  end&lt;br /&gt;  p.on("-s",&lt;br /&gt;       "--secret-key PASSWORD",&lt;br /&gt;       "The user's AWS secret access key.") do sak&lt;br /&gt;    options[:secret_access_key] = sak&lt;br /&gt;  end&lt;br /&gt;  p.on_tail("-h", "--help", "Show this message") {&lt;br /&gt;    puts(p)&lt;br /&gt;    exit&lt;br /&gt;  }&lt;br /&gt;  p.parse!(ARGV) rescue puts(p)&lt;br /&gt;end&lt;br /&gt;if options.key?(:access_key_id) and options.key?(:secret_access_key)&lt;br /&gt;  puts "127.0.0.1 localhost"&lt;br /&gt;  EC2::Base.new(options).describe_instances.each do |r|&lt;br /&gt;    hostname = r[:aws_groups]&lt;br /&gt;    if r[:aws_state] == 'running'&lt;br /&gt;      ip_address = Resolv::DNS.new.getaddress(r[:private_dns_name]).to_s &lt;br /&gt;      puts(ip_address+"     #{hostname}\n")&lt;br /&gt;    end&lt;br /&gt;  end&lt;br /&gt;else&lt;br /&gt;  puts(parser)&lt;br /&gt;  exit(1)&lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Step 3&lt;/span&gt; - Setup a cron job to update /etc/hosts as often as you like. I do it once per hour on all my machines&lt;br /&gt;&lt;br /&gt;0 * * * * /usr/local/sbin/hosts -a myaccess -s mysecret &gt;/etc/hosts&lt;br /&gt;&lt;br /&gt;All my machines have this ec2 security key + script + cron approach. I do not have to run dyndns or any private dns servers to keep track of all my internal server ip addresses. My /etc/hosts looks like the following on the three machines in the test cluster:&lt;br /&gt; 127.0.0.1 localhost&lt;br /&gt; 10.252.202.221 oahu.ec2 oahu&lt;br /&gt; 10.253.115.175 maui.ec2 maui&lt;br /&gt; 10.253.114.190 hawaii.ec2 hawaii&lt;br /&gt;(from http://tim.dysinger.net/2008/10/13/using-amazon-ec2-metadata-as-a-simple-dns)&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-1839262929506413390?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/1839262929506413390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/03/networking-in-ec2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/1839262929506413390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/1839262929506413390'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/03/networking-in-ec2.html' title='Networking in EC2'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_TfQFXZiv-Y0/Sct-l7qDQiI/AAAAAAAAAGw/3NFcNBIdxNM/s72-c/network.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-1432467780038229727</id><published>2009-03-26T02:13:00.001-07:00</published><updated>2012-01-27T03:53:01.463-08:00</updated><title type='text'>Cloud Management Suppliers</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_TfQFXZiv-Y0/SctMX6L-4pI/AAAAAAAAAGo/Xf0t9GgPSik/s1600-h/high_riser.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_TfQFXZiv-Y0/SctMX6L-4pI/AAAAAAAAAGo/Xf0t9GgPSik/s320/high_riser.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5317427758681219730" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.rightscale.com"&gt;RightScale&lt;/a&gt; - The Big Daddy of Cloud Management. Limited free developer account. Expensive $500 a month but powerful scripting functionality if they support the systems you use - Centos/Ubuntu, MySQL, Tomcat, PHP.   &lt;br /&gt;&lt;br /&gt;&lt;a href="https://scalr.net"&gt;Scalr&lt;/a&gt; - a fully redundant, self-curing and self-scaling hosting environment. Cheap at $50 a month but not as much functionality as rightscale. There is also an &lt;a href="http://code.google.com/p/scalr"&gt;Open Source&lt;/a&gt; version you can run yourself if you want to. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.enstratus.com/"&gt;enStratus&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.kaavo.com/"&gt;Kaavo&lt;/a&gt; - application-centric management solution. New to market.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cacti.net/"&gt;Cacti&lt;/a&gt; - Open source free complete network graphing solution. Have a prebuilt image. Simple PHP/MySQL solution.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hyperic.com/products/amazon-monitoring.html"&gt;Hyperic&lt;/a&gt; HQ for Amazon Web Services. Free support for only 4 EC2 instances. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.zenoss.com/"&gt;Zenoss&lt;/a&gt; - Commercial Open Source Application, Systems &amp; Network Monitoring. Core free product has limited functionality.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tapinsystems.com/"&gt;Tapinsystems&lt;/a&gt; - system management in the cloud. New to market. &lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.cloudkick.com/"&gt;Cloudkick&lt;/a&gt; - free (currently) monitoring with email alerts. Over time the &lt;a href="https://console.aws.amazon.com/"&gt;Amazon AWS Management Console&lt;/a&gt; should have more of the monitoring functions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-1432467780038229727?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/1432467780038229727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/03/cloud-management-suppliers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/1432467780038229727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/1432467780038229727'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/03/cloud-management-suppliers.html' title='Cloud Management Suppliers'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_TfQFXZiv-Y0/SctMX6L-4pI/AAAAAAAAAGo/Xf0t9GgPSik/s72-c/high_riser.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-4330597577443319116</id><published>2009-03-20T06:50:00.000-07:00</published><updated>2011-06-20T06:43:15.721-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scripting with Ruby'/><title type='text'>Scripting with Ruby</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_TfQFXZiv-Y0/Scoqa6SgLgI/AAAAAAAAAGA/_Gt_R98TLZw/s1600-h/Ruby.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 105px; height: 119px;" src="http://4.bp.blogspot.com/_TfQFXZiv-Y0/Scoqa6SgLgI/AAAAAAAAAGA/_Gt_R98TLZw/s320/Ruby.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5317108951876120066" /&gt;&lt;/a&gt;&lt;br /&gt;It is possible to write scripts with Amazon EC2 in many scripting languages: bash, python, perl. &lt;br /&gt;&lt;br /&gt;However Ruby seems to be a good choice: &lt;br /&gt;- Ruby code is much more readable than perl or python and fully object orientated.&lt;br /&gt;- Rightscale provide a good and frequently updated Amazon AWS interface called Right_AWS.  &lt;br /&gt;- Ruby runs efficiently on all Operating Systems. &lt;br /&gt;&lt;br /&gt;Ruby AWS Gems&lt;br /&gt; Two interfaces to AWS from Ruby: &lt;br /&gt;  a. &lt;a href="http://github.com/grempe/amazon-ec2/tree/master"&gt;Amazon EC2&lt;/a&gt;&lt;br /&gt;  b. &lt;a href="http://rightscale.rubyforge.org/"&gt;Right AWS&lt;/a&gt;&lt;br /&gt; I am using the Right AWS gem from RightScale&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;1. Ruby Language Documentation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href="http://www.rubycentral.com/pickaxe"&gt;The Pragmatic Programmer's Guide&lt;/a&gt; &lt;br /&gt; &lt;a href="http://books.google.co.uk/books?id=_0YaSjsLDvkC&amp;printsec=frontcover&amp;dq=Ruby+Programming+for+the+Absolute+Beginner&amp;ei=2MbDSdWtOZy8zgT28djlBw#PPA18,M1"&gt;Ruby Programming for the Absolute Beginner&lt;/a&gt;&lt;br /&gt; &lt;a href="http://ec2dream.webs.com/ruby/ruby_course_slides.pdf"&gt;The Ruby Course Slides&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.tutorialspoint.com/ruby/index.htm"&gt;Quick links for Ruby Programmers&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.tutorialspoint.com/ruby/ruby_overview.htm"&gt;Ruby Tutorial&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ruby-doc.org/core/"&gt;Ruby API Doc&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.techotopia.com/index.php/Ruby_Essentials"&gt;Techotopia Ruby_Essentials&lt;/a&gt;&lt;br /&gt;&lt;a href="http://rubylearning.com/satishtalim/tutorial.html"&gt;Ruby Tutorial&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ruby-forum.com/forum/4"&gt;Ruby Forum&lt;/a&gt;  &lt;br /&gt; &lt;br /&gt;&lt;a href="http://rightaws.rubyforge.org/right_aws_gem_doc/"&gt;Right AWS Documentation &lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.rightscale.com/"&gt;RightScale AWS Forums&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2. Installing Ruby and AWS. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you use a rightscale image then java and ruby will already be installed. I have found you just need to update existing gems and install the rightscale AWS interface.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;gem update&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;gem  install right_aws&lt;br /&gt;&lt;br /&gt;Otherwise you need to install &lt;br /&gt;a. Java 1.5 or higher  (For CentOS see http://wiki.centos.org/HowTos/JavaOnCentOS)&lt;br /&gt;b. The &lt;a href="http://docs.amazonwebservices.com/AWSEC2/latest/GettingStartedGuide/index.html?setting-up-your-tools.html2"&gt;Amazon Tools&lt;/a&gt; &lt;br /&gt;c. Ruby&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;yum install -y ruby&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;yum install -y ruby-devel ruby-docs ruby-ri ruby-irb ruby-rdoc&lt;br /&gt;d. AWS Interface for Ruby&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;gem install right_aws&lt;br /&gt;&lt;br /&gt;To install the very latest version of RightAWS &lt;br /&gt;a. download from http://rubyforge.org/projects/rightscale&lt;br /&gt;b. install from the file:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;gem install right_aws-1.10.0.gem&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;3. Coding ruby scripts for AWS &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Two parts to coding ruby for Amazon EC2:&lt;br /&gt; &lt;br /&gt;a. Acessing metadata &lt;br /&gt;  The metadata is documented in &lt;a href="http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/index.html?AESDG-chapter-instancedata.html"&gt;Instance Metadata&lt;/a&gt; &lt;br /&gt; and an example of accessing user-data is:  &lt;br /&gt;&lt;blockquote&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;url_user_data = 'http://169.254.169.254/2008-02-01/user-data'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;parameter = Net::HTTP.get_response(URI.parse(url_user_data)).body&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;b. Using the API&lt;br /&gt;Ruby AWS follows the API so you can read the standard API docs see &lt;a href="http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/index.html?query-operations.html"&gt;Amazon EC2 Query API&lt;/a&gt;&lt;br /&gt;Typical first connect to EC2:&lt;br /&gt;&lt;blockquote&gt;AMAZON_PUBLIC_KEY=&amp;lt;public key&amp;gt;&lt;br /&gt;AMAZON_PRIVATE_KEY=&amp;lt;private key&amp;gt;&lt;br /&gt;ec2 = RightAws::Ec2.new(AMAZON_PUBLIC_KEY, AMAZON_PRIVATE_KEY)&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;then issue commands (For example attach a volume): &lt;br /&gt;&lt;blockquote&gt;vol = ec2.attach_volume(ec2_vol, instance_id, '/dev/sdf')&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Some comands return values in hash objects that can be accessed as follows:&lt;br /&gt;&lt;blockquote&gt;sa  = ec2.describe_instances()&lt;br /&gt;sa.each do |s|&lt;br /&gt;&amp;nbsp;&amp;nbsp;aws_image_id = s[:aws_image_id]&lt;br /&gt;&amp;nbsp;&amp;nbsp;aws_instance_id = s[:aws_instance_id] &lt;br /&gt;&amp;nbsp;&amp;nbsp;aws_state = s[:aws_state]&lt;br /&gt;&amp;nbsp;&amp;nbsp;print  "image ",aws_image_id," instance ",aws_instance_id," State ",aws_state,"\n"&lt;br /&gt;end&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;4. Scripts to do backup to S3&lt;/span&gt;&lt;br /&gt;See &lt;a href="http://s3sync.net"&gt;s3sync.net&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-4330597577443319116?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/4330597577443319116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/03/scripting-with-ruby.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/4330597577443319116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/4330597577443319116'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/03/scripting-with-ruby.html' title='Scripting with Ruby'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_TfQFXZiv-Y0/Scoqa6SgLgI/AAAAAAAAAGA/_Gt_R98TLZw/s72-c/Ruby.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-5877046563270913349</id><published>2009-03-18T06:47:00.000-07:00</published><updated>2010-11-17T06:46:03.557-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Monitoring EC2 Instances'/><title type='text'>Monitoring EC2 Instances</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_TfQFXZiv-Y0/SsMt2F5iLNI/AAAAAAAAAM4/nGxtXPw8AQg/s1600-h/mon.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 144px;" src="http://4.bp.blogspot.com/_TfQFXZiv-Y0/SsMt2F5iLNI/AAAAAAAAAM4/nGxtXPw8AQg/s320/mon.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5387199986584923346" /&gt;&lt;/a&gt;&lt;br /&gt;EC2Dream will create graphs based on &lt;a href="http://aws.amazon.com/cloudwatch/Amazon"&gt;Amazon CloudWatch&lt;/a&gt;. Amazon has a monitoring facility that can easily be switch on and off without any configuration on your server The service costs 1.5 cents per hour per EC2 instance (of any size) which comes out to $10.95 per month for an instance running 24x7.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://monitorcloud.com/monitorcloud"&gt;Monitis&lt;/a&gt; and similar fee-based monitoring services.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://munin.projects.linpro.no/"&gt;Munin&lt;/a&gt; open source monitoring.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nagios.org/"&gt;Nagios&lt;/a&gt; open source monitoring. A popular alerting system where you can monitor things like diskspace and set thresholds. An agent must be installed on the server and a Nagios server run. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cacti.net/"&gt;Cacti&lt;/a&gt; is a popular open-source network monitoring tool. In Amazon EC2 there are pre-built images so it is easy to run. The following are the steps required to setup a simple test server and use &lt;a href="http://en.wikipedia.org/wiki/Cacti_(software)"&gt;cacti&lt;/a&gt; to monitor it. &lt;br /&gt;&lt;br /&gt;1. Go to the AWS Management console and setup a cacti security group with SSH port 22, HTTP port 80.   &lt;br /&gt;&lt;br /&gt;2. Launch a prebuild cacti ami. ( In the AWS management console go to AMIs in navigation menu and search for cacti.) &lt;br /&gt;  Instance: ami-5e638737  Manifest: rbuilder-online/cacti-appliance-1.1.0-x86_19912.img.manifest.xml&lt;br /&gt;&lt;br /&gt;3. In Amazon EC2 create a security group called testServer with SSH port 22, HTTP port 80 and custom udp port 161. &lt;br /&gt;&lt;br /&gt;4. Find an image to use as a test server and launch it. In my case I am starting a CentOS image:&lt;br /&gt;   Instance: ami-cb52b6a2  Manifest: rightscale-us/CentOS5_2V4_1_10.manifest.xml&lt;br /&gt;&lt;br /&gt;5. Login with to the test server instance with ssh (or putty) and setup &lt;a href="http://www.net-snmp.org/"&gt;SNMP&lt;/a&gt; &lt;br /&gt;   a. Install SNMP&lt;br /&gt;&amp;nbsp;&amp;nbsp;yum install net-snmp net-snmp-utils net-snmp-devel -y&lt;br /&gt;   b. Save original snmpd config.&lt;br /&gt;&amp;nbsp;&amp;nbsp;Go to /etc/snmp and cp snmpd.conf snmpd.conf.orig&lt;br /&gt;   c. edit snmpd.conf and set to&lt;br /&gt;&amp;nbsp;&amp;nbsp;com2sec local     127.0.0.1       private&lt;br /&gt;&amp;nbsp;&amp;nbsp;com2sec mynetwork x.x.x.x      testServer&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;where x.x.x.x is internal IP address of cacti instance.&lt;br /&gt;   d. Start snmp service &lt;br /&gt;&amp;nbsp;&amp;nbsp;service snmpd start&lt;br /&gt;&amp;nbsp;&amp;nbsp;chkconfig snmpd on&lt;br /&gt;&lt;br /&gt;6. Use the public DNS of the cacti instance and go to that address in your browser.&lt;br /&gt; ie  http://ec2-72-44-36-84.compute-1.amazonaws.com/&lt;br /&gt;&lt;br /&gt;7. Login as user admin, password admin and cacti will force a change of password.&lt;br /&gt;&lt;br /&gt;8. Create device testServer in Cacti&lt;br /&gt;    a. Select Devices. &lt;br /&gt;    b. Click Add on the far right of the screen.&lt;br /&gt;    c. Enter:&lt;blockquote&gt;Description:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;    testServer&lt;br /&gt;         Hostname:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;       enter Private IP address of testServer i.e. 10.250.138.211&lt;br /&gt;         Host template:&amp;nbsp;  ucd/net SNMP host. &lt;br /&gt;         SNMP Version:&amp;nbsp;&amp;nbsp;    Version 2&lt;br /&gt;         SNMP Comunity:&amp;nbsp;&amp;nbsp;testServer&lt;/blockquote&gt;Press Create.&lt;br /&gt;    e. It will should a screen with a number of ncd/net graphs listed. Press Save  &lt;br /&gt;&lt;br /&gt;9. Create the Graphs for testServer.&lt;blockquote&gt;     a. Select New Graphs in the Menu. &lt;br /&gt;     b. Select host testServer.&lt;br /&gt;     c. Check all the graph names. &lt;br /&gt;     d. Press create. &lt;/blockquote&gt;&lt;br /&gt;10. Setup Graph Reporting Tree.&lt;blockquote&gt;a. Click on Graph Trees in the Menu.&lt;br /&gt;    b. Click on Default Tree.&lt;br /&gt;    c. Click on Add in the far right.&lt;br /&gt;&amp;nbsp;&amp;nbsp;select tree item type host&lt;br /&gt;&amp;nbsp;&amp;nbsp;select testServer and press create.&lt;br /&gt;    d. testserver will appear on a page in a list. Press Save.&lt;/blockquote&gt;&lt;span style="font-weight:bold;"&gt;Note:&lt;/span&gt; Whenever graphs are changed for a device, the tree host must be saved &lt;br /&gt;    to refresh the Graph Tree.&lt;br /&gt;   &lt;br /&gt;11. Display Graphs.&lt;br /&gt;    a. Click on the "graphs" tab on the top of the screen. &lt;br /&gt;    b. Click on testServer in the tree on the left hand side of the page. &lt;br /&gt;    c. Also under localhost are graphs for the Cacti server itself. &lt;br /&gt;&lt;br /&gt;12. Add Interface Traffic Graphs.&lt;blockquote&gt;a. Click Device from menu and then click testServer and the settings for the testServer device are shown. &lt;br /&gt;b. In the Associated Data Queries section, in the Add Data Query pulldown select &lt;span style="font-style:italic;"&gt;"SNMP - Interface Statistics"&lt;/span&gt; and click &lt;span style="font-style:italic;"&gt;"add"&lt;/span&gt;. &lt;br /&gt;c. Click &lt;span style="font-style:italic;"&gt;"save"&lt;/span&gt; to save the device. &lt;br /&gt;d. In the Menu select &lt;span style="font-style:italic;"&gt;"New Graphs"&lt;/span&gt; and then select &lt;span style="font-style:italic;"&gt;"testServer"&lt;/span&gt; from the pulldown. &lt;br /&gt;e. You should now see a &lt;span style="font-style:italic;"&gt;"Data Query [SNMP - Interface Statistics]"&lt;/span&gt; section. &lt;br /&gt;f. Check all ther checkboxes and press &lt;span style="font-style:italic;"&gt;"create"&lt;/span&gt;. &lt;br /&gt;g. From the Menu select &lt;span style="font-style:italic;"&gt;"Graph Trees"&lt;/span&gt; and click on &lt;span style="font-style:italic;"&gt;"Default Tree"&lt;/span&gt;. &lt;br /&gt;h. Click on ther host &lt;span style="font-style:italic;"&gt;"testServer"&lt;/span&gt; and press &lt;span style="font-style:italic;"&gt;"save"&lt;/span&gt;. This updates the graph page to add the new "Interface Statistics" graphs.&lt;br /&gt;i. Finally select &lt;span style="font-style:italic;"&gt;"graphs"&lt;/span&gt; from the tab on the top right and after a few minutes you should see Interface Statistcs if there is network activty on testServer. (You will see an empty graph if cacti have successful connected to testServer and got some statistics).&lt;/blockquote&gt; &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Improving security of Cacti and SNMP&lt;/span&gt;&lt;br /&gt;1. Change security group for the testServer for custom port 161 so it only supports the IP Address of the Cacti machine.&lt;br /&gt;2. Change security group for cacti so http port 80 only comes from an IP address. &lt;br /&gt;3. Set up SNMP V3 security   &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;More Info&lt;/span&gt; &lt;br /&gt; &lt;a href="http://www.cacti.net"&gt;Cacti&lt;/a&gt;&lt;br /&gt; &lt;a href="http://www.cacti.net/documentation.php"&gt;Cacti Documentation&lt;/a&gt;&lt;br /&gt; &lt;a href="http://cactiusers.org/index.php"&gt;Cacti User Group&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.solidhost.com/showthread.php?p=1619"&gt;How to install on CentOS SNMP&lt;/a&gt; &lt;br /&gt;&lt;a href="http://www.comsoc.org/livepubs/surveys/public/4q98issue/stallings.html"&gt;SNMPv3: A Security Enhancement for SNMP&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;TroubleShooting&lt;/span&gt;&lt;br /&gt;1. On the cacti instance take a look at the cacti log at /srv/cacti/log/cacti.log&lt;br /&gt;2. Run snmpwalk. For example is the testServer is IP address 10.250.59.80 to see all the  entries for cpu run the following: &lt;br /&gt;&amp;nbsp;&amp;nbsp;snmpwalk -v 2c -c testServer 10.250.59.80 | grep -i cpu&lt;br /&gt;Check if the values are empty or if there are any errors. &lt;br /&gt;3. Check the system log of the testServer machine for SNMP messages. If CentOS look at /var/log/messages.&lt;br /&gt;4. Force a poll for snmp data. Go to /usr/share/cacti/ and enter php pooler.php&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Useful Links&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.haughin.com/2009/04/15/monitor-your-servers-and-ec2-instances-with-cacti/"&gt;Monitor your servers and ec2 instances with cacti&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch22_:_Monitoring_Server_Performance"&gt;Monitoring Linux Server Performance&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.net-snmp.org/wiki/index.php/TUT:snmpwalk"&gt;snmpwalk&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.hackinglinuxexposed.com/articles/20020226.html"&gt;SNMP Ready, Set, Patch!&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.server-world.info/en/note?os=ce5&amp;p=cacti&amp;f=3"&gt;Cacti Basic Howto&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-5877046563270913349?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/5877046563270913349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/03/monitoring-of-ec2-instances.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/5877046563270913349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/5877046563270913349'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/03/monitoring-of-ec2-instances.html' title='Monitoring EC2 Instances'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_TfQFXZiv-Y0/SsMt2F5iLNI/AAAAAAAAAM4/nGxtXPw8AQg/s72-c/mon.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-5709780297388999021</id><published>2009-03-18T04:28:00.001-07:00</published><updated>2012-02-22T13:34:09.041-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Contact'/><title type='text'>Contact</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/-s-dnLdHqvis/TyF1tv9lk3I/AAAAAAAAAbs/mcX7k_zNiDo/s1600/nt3.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 161px; height: 200px;" src="http://3.bp.blogspot.com/-s-dnLdHqvis/TyF1tv9lk3I/AAAAAAAAAbs/mcX7k_zNiDo/s200/nt3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5701968032057103218" /&gt;&lt;/a&gt;I'm a consultant and system admin in the area of Cloud and Grid Computing as well as a Certified Java and Ruby Developer.&lt;br /&gt;&lt;br /&gt;In the last few years I been self-employed and have setup systems for a number of clients on Amazon AWS as well used my expertise in Grid Computing using &lt;a href="http://www.tibco.com/products/soa/grid-computing/gridserver/default.jsp"&gt;TIBCO GridServer&lt;/a&gt; or &lt;a href="http://www.platform.com/workload-management/SOA-grid-computing"&gt;Platform Symphony&lt;/a&gt; at investment banks in the City of London.&lt;br /&gt;&lt;br /&gt;I have a wealth of experience in the full technology stack including SQL Databases, Application Servers, Development tools and frameworks.&lt;br /&gt;&lt;br /&gt;I have worked in many roles at software companies including technical consultant, software engineer, support, training and pre-sales consulting.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;If I can help you please contact me at&lt;br /&gt; &lt;span style="font-weight:bold;"&gt;neillwturner-at-gmail.com&lt;/span&gt;. &lt;a href="http://www.linkedin.com/in/neillturner" &gt;&lt;br /&gt;&lt;img src="http://www.linkedin.com/img/webpromo/btn_profile_greytxt_80x15.gif" width="80" height="15" border="0" alt="View Neill Turner's profile on LinkedIn"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cardcloud.com/neillturner"&gt;http://cardcloud.com/neillturner&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-5709780297388999021?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/5709780297388999021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/03/contact.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/5709780297388999021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/5709780297388999021'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/03/contact.html' title='Contact'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-s-dnLdHqvis/TyF1tv9lk3I/AAAAAAAAAbs/mcX7k_zNiDo/s72-c/nt3.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-3992824561391928118</id><published>2009-03-12T02:36:00.000-07:00</published><updated>2010-11-19T05:31:44.661-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Benefits'/><title type='text'>Benefits</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_TfQFXZiv-Y0/ScooCjYqthI/AAAAAAAAAFo/bidB9L87BZU/s1600-h/payphone.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 300px; height: 198px;" src="http://1.bp.blogspot.com/_TfQFXZiv-Y0/ScooCjYqthI/AAAAAAAAAFo/bidB9L87BZU/s320/payphone.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5317106334387844626" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;span style="font-weight:bold;"&gt;"I’ll argue that non-differentiated services -- services that need to be good but aren’t the company’s competitive advantage -- are much more economically hosted in very high-scale cloud computing environments."&lt;/span&gt;&lt;/span&gt; James Hamilton, Amazon Web Services Vice President and Distinguished Engineer.&lt;br&gt;&lt;br&gt;&lt;br&gt;  &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;*  The Pay-As-You-Go Model.&lt;/span&gt; There are significant advantages to this model for efficiency as one only pays for those resources one has actually consumed. If the application scales along the right revenue generating dimensions these costs will be in line with the revenue being generated.&lt;br&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;    * Managing Peak Capacity.&lt;/span&gt; Many IT organizations need to maintain extra capacity for anticipated peak loads, capacity that sits idle for most of the time.&lt;br&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;    * Higher reliability at lower cost.&lt;/span&gt; Negotiating several contracts with different datacenter and network providers to make sure the IT tasks can survive complex failure scenarios is a difficult task and many organizations find it hard to achieve this in a cost efficient manner. Amazon EC2 with its Regions and Availability Zones gives its customers access to several high-end datacenters with highly redundant networking capabilities at a single pricing model, without any negotiations.&lt;br /&gt;&lt;br /&gt;References&lt;br /&gt;&lt;a href="http://www.microsoft.com/presspass/presskits/cloud/docs/The-Economics-of-the-Cloud.pdf"&gt;The Economics of the Cloud&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-3992824561391928118?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/3992824561391928118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/3992824561391928118'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/03/benefits.html' title='Benefits'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_TfQFXZiv-Y0/ScooCjYqthI/AAAAAAAAAFo/bidB9L87BZU/s72-c/payphone.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-1940314661761418536</id><published>2009-03-11T09:08:00.000-07:00</published><updated>2009-09-02T08:06:57.851-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Amazon EC2 Overview'/><title type='text'>Amazon EC2 Overview</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_TfQFXZiv-Y0/ScotW0f-nOI/AAAAAAAAAGg/4uhs8MYNmxU/s1600-h/payphone.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 220px; height: 148px;" src="http://2.bp.blogspot.com/_TfQFXZiv-Y0/ScotW0f-nOI/AAAAAAAAAGg/4uhs8MYNmxU/s320/payphone.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5317112180137434338" /&gt;&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://d1smfj0g31qzek.cloudfront.net/abovetheclouds.pdf"&gt;Above the Clouds: A Berkeley View of Cloud Computing&lt;/a&gt; - A very good overview of Cloud Computing.&lt;br /&gt;* &lt;a href="http://aws.amazon.com/what-is-aws/"&gt;What is Amazon Web Services?&lt;/a&gt;&lt;br /&gt;    * &lt;a href="http://www.kcjava.org/media/Using_Amazon_Web_Services.pdf"&gt;Using Amazon Web Services&lt;/a&gt;&lt;br /&gt;    * &lt;a href="http://joung.im.ntu.edu.tw/teaching/EMBADIS/2008EMBA/presentations/amazon_ec2_Joyce.pdf"&gt;Amazon Elastic Compute Cloud Introduction&lt;/a&gt;&lt;br /&gt;    * &lt;a href="http://spruce.uchicago.edu/workshop/talks/BuhrCulver.pdf"&gt;Web Scale Computing&lt;/a&gt;&lt;br /&gt;    * &lt;a href="http://download.boulder.ibm.com/ibmdl/pub/software/dw/architecture/ar-cloudaws1/ar-cloudaws1-pdf.pdf"&gt;Cloud computing with Amazon Web Services&lt;/a&gt;&lt;br /&gt;    * &lt;a href="http://people.apache.org/%7Eazeez/autoscaling-web-services-azeez.pdf"&gt;Autoscaling Web Services on Amazon EC2&lt;/a&gt;&lt;br /&gt;    * &lt;a href="http://blogs.sun.com/VirtualGuru/entry/amazon_aws_ec2_s3_environment"&gt;Amazon AWS (EC2,S3) environment Overview&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://httpdyn.cs.huji.ac.il/moodles/cs08/mod/resource/view.php?id=2581"&gt;Cloud Computing from a Developer’s Perspective&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://www.ibm.com/developerworks/spaces/cloud"&gt;IBM developerWorks Cloud Computing&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;See &lt;a href="http://docs.amazonwebservices.com/AWSEC2/latest/CommandLineReference/"&gt;Amazon EC2 Command Line Tools Reference&lt;/a&gt; for technical info.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-1940314661761418536?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/1940314661761418536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/03/overview-of-amazon-ec2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/1940314661761418536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/1940314661761418536'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/03/overview-of-amazon-ec2.html' title='Amazon EC2 Overview'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_TfQFXZiv-Y0/ScotW0f-nOI/AAAAAAAAAGg/4uhs8MYNmxU/s72-c/payphone.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-3359150172303227705</id><published>2009-03-11T08:59:00.000-07:00</published><updated>2009-12-11T08:35:42.111-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EBS'/><title type='text'>Elastic Block Storage</title><content type='html'>The best detail explanation on EBS is at&lt;br /&gt;&lt;a href="http://blog.rightscale.com/2008/08/20/amazon-ebs-explained/"&gt;http://blog.rightscale.com/2008/08/20/amazon-ebs-explained/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The important feature of an EBS is that it allow changes to be persisted between&lt;br /&gt;instance starts.  &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Main difference between EBS and S3:&lt;/span&gt;&lt;br /&gt;1. EBS cannot be shared between instances&lt;br /&gt;2. EBS is much faster than S3&lt;br /&gt;&lt;br /&gt;See EBS Tutorial #3 in &lt;a href="http://ec2dream.webs.com/AWS-Management-Console.pdf"&gt;Getting Started with AWS Management Console&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;To automatically mount an EBS at Linux machine startup &lt;/span&gt;&lt;br /&gt;1. Add the following mountebs.rb script to /root inserting your private and public key and make sure it has execute privilege. &lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;#!/usr/bin/ruby&lt;br /&gt;# script to auto mount ebs at startup &lt;br /&gt;&lt;br /&gt;require 'rubygems'&lt;br /&gt;require 'right_aws'&lt;br /&gt;require 'net/http'&lt;br /&gt;&lt;br /&gt;url = 'http://169.254.169.254/latest/meta-data/instance-id'&lt;br /&gt;instance_id = Net::HTTP.get_response(URI.parse(url)).body&lt;br /&gt;&lt;br /&gt;# set the following keys &lt;br /&gt;AMAZON_PUBLIC_KEY='&amp;lt;public key&amp;gt;'&lt;br /&gt;AMAZON_PRIVATE_KEY='&amp;lt;private key&amp;gt;'&lt;br /&gt;&lt;br /&gt;# switch between the next 2 lines to either use vol-id passed as user data or &lt;br /&gt;# a hard coded volume &lt;br /&gt;url_user_data = 'http://169.254.169.254/latest/user-data'&lt;br /&gt;ec2_vol = Net::HTTP.get_response(URI.parse(url_user_data)).body&lt;br /&gt;# ec2_vol ='vol-xxxxx'&lt;br /&gt;&lt;br /&gt;print "auto mounting ",ec2_vol,"\n"&lt;br /&gt;&lt;br /&gt;# remove the last parameter if not in EU region&lt;br /&gt;ec2 = RightAws::Ec2.new(AMAZON_PUBLIC_KEY, AMAZON_PRIVATE_KEY,:endpoint_url =&gt; 'https://eu-west-1.ec2.amazonaws.com/')&lt;br /&gt;&lt;br /&gt;print "attach ",ec2_vol,"\n"&lt;br /&gt;vol = ec2.attach_volume(ec2_vol, instance_id, '/dev/sdf')&lt;br /&gt;print "result ",vol,"\n"&lt;br /&gt;&lt;br /&gt;# It can take a few seconds for the volume to become ready.&lt;br /&gt;# This is just to make sure it is ready before mounting it.&lt;br /&gt;# sleep for up to 5 minutes waiting for it to be attached &lt;br /&gt;aws_attachment_status = ""&lt;br /&gt;max_sleep = 300&lt;br /&gt;current_sleep = 0&lt;br /&gt;while (aws_attachment_status != "attached") and (current_sleep&amp;lt;max_sleep) &lt;br /&gt;&amp;nbsp;&amp;nbsp;sleep 5&lt;br /&gt;&amp;nbsp;&amp;nbsp;current_sleep = current_sleep + 5 &lt;br /&gt;&amp;nbsp;&amp;nbsp;sa = ec2.describe_volumes(ec2_vol)&lt;br /&gt;&amp;nbsp;&amp;nbsp;sa.each do |s|&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aws_attachment_status = s[:aws_attachment_status]&lt;br /&gt;&amp;nbsp;&amp;nbsp;end&lt;br /&gt;end   &lt;br /&gt;if aws_attachment_status == "attached"&lt;br /&gt;&amp;nbsp;&amp;nbsp;message = "vol "+ec2_vol+" attached\n"&lt;br /&gt;&amp;nbsp;&amp;nbsp;print message&lt;br /&gt;&amp;nbsp;&amp;nbsp;system('logger '+message)&lt;br /&gt;&amp;nbsp;&amp;nbsp;print "mount /dev/sdf /mnt/data01\n"&lt;br /&gt;&amp;nbsp;&amp;nbsp;system('mkdir /mnt/data01')&lt;br /&gt;&amp;nbsp;&amp;nbsp;system('mount /dev/sdf /mnt/data01')&lt;br /&gt;else &lt;br /&gt;&amp;nbsp;&amp;nbsp;message = "vol "+ec2_vol+" did not attach\n"&lt;br /&gt;&amp;nbsp;&amp;nbsp;print message&lt;br /&gt;&amp;nbsp;&amp;nbsp;system('logger ',message)&lt;br /&gt;end &lt;br /&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;2. In /etc/rc.local  add 'ruby /root/mountebs.rb'&lt;br /&gt;3. In AWS Management Console when launching an instance show the advanced options &lt;br /&gt;and enter in the user data the volume id&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Note:&lt;/span&gt; for the script to work ruby, ruby_gems, and right_aws must be installed. &lt;br /&gt;(i.e. gem install  right_aws)&lt;br /&gt;These are available in the RightScale public images. &lt;br /&gt;&lt;br /&gt;Also the script will not mount an unformated EBS. The very first time you need to: &lt;br /&gt;&lt;blockquote&gt;mkfs -t ext3 /dev/sdf&lt;br /&gt;mkdir /mnt/data01&lt;br /&gt;mount /dev/sdf /mnt/data01&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Tip&lt;/span&gt;: To share an EBS put on and instance with an NFS server and mount the NFS on the other instances. &lt;br /&gt;&lt;br /&gt;Also see &lt;a href="http://developer.amazonwebservices.com/connect/entry.jspa?categoryID=100&amp;externalID=1663"&gt;Running MySQL on Amazon EC2 with Elastic Block Store&lt;/a&gt;&lt;br /&gt;&lt;a href="http://agiletesting.blogspot.com/2008/09/experiences-with-amazon-ec2-and-ebs.html"&gt;Experiences with Amazon EC2 and EBS&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Performance:&lt;/span&gt; Amazon say that disk performance of EBS should be similar to instance data performance. &lt;a href="http://af-design.com/blog/2009/02/27/amazon-ec2-disk-performance/"&gt;Some people&lt;/a&gt; report performance similar to instance data performance except for small images where performance is 13% less because of the lower bandwidth of small images. Other people report performance 5% less that instance data for all image sizes.&lt;br /&gt;For more info see &lt;a href="http://orion.heroku.com/past/2009/7/29/io_performance_on_ebs/"&gt;IO Performance on EBS.&lt;/a&gt;&lt;br /&gt;&lt;a href="http://stu.mp/2009/12/disk-io-and-throughput-benchmarks-on-amazons-ec2.html"&gt;Disk IO and throughput benchmarks on Amazon EC2.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Increasing the size of an EBS&lt;/span&gt;&lt;br /&gt;reszing cannot be done "on the fly" however you can create a larger EBs with minimum down time see &lt;a href="http://blog.edoceo.com/2009/02/amazon-ebs-how-to-grow-storage.html"&gt;Amazon EBS - How to Grow the Storage&lt;/a&gt;. So it is best to create an EBS with a good amount of storage for your application. &lt;br /&gt;Rightscale show how to use their scripts to increase the size of the EBS on a MySQL Slave and then promote it to Master. See &lt;a href="http://wiki.rightscale.com/2._References/02-Cloud_Infrastructures/01-Amazon_Web_Services_(AWS)/02-Amazon_EC2/EBS/Grow_the_Size_of_an_EBS_Volume"&gt;Grow the Size of an EBS Volume&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Finally, you are limited to 20 open EBS but can incease this with this &lt;a href="http://aws.amazon.com/contact-us/ebs_volume_limit_request/"&gt;form&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-3359150172303227705?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/3359150172303227705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/3359150172303227705'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/03/elastic-block-storage.html' title='Elastic Block Storage'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-1932475346833181214</id><published>2009-03-11T08:33:00.000-07:00</published><updated>2011-08-08T08:53:02.109-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>Tools</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_TfQFXZiv-Y0/SlHVQjnivuI/AAAAAAAAAMA/3sn253DloCo/s1600-h/pocket_and_tools.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 133px;" src="http://4.bp.blogspot.com/_TfQFXZiv-Y0/SlHVQjnivuI/AAAAAAAAAMA/3sn253DloCo/s320/pocket_and_tools.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5355295912335949538" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="search/label/EC2Dream%20-%20Graphical%20System%20Admin%20Tool"&gt;EC2Dream Graphical System Admin&lt;/a&gt; is a single install for a number of tools necessary for Amazon EC2 System admin. This saves installing the tools separately and the tools are all configured to work together. &lt;br /&gt; &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The EC2Dream System Admin installs on Windows, Linux or MacOS X with the following tools:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="search/label/Scripting%20with%20Ruby"&gt;Ruby&lt;/a&gt;&lt;/span&gt; - scripting tool. Also &lt;a href="http://rubyforge.org/projects/rightaws"&gt;Right AWS&lt;/a&gt;, &lt;a href="http://www.capify.org/"&gt;Capistrano&lt;/a&gt; and other Ruby Packages. EC2Dream is itself written in Ruby. &lt;br /&gt; &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/"&gt;PuTTY&lt;/a&gt;&lt;/span&gt;  - Windows SSH client for terminal access to linux servers. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://winscp.net/"&gt;WinSCP&lt;/a&gt;&lt;/span&gt; - Windows SCP client to copy files to linux servers. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.remkoweijnen.nl/blog/2007/10/17/launch-rdp-from-commandline/"&gt;LaunchRDP&lt;/a&gt;&lt;/span&gt; - Launch Windows Remote Desktop from commandline.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://s3sync.net/wiki"&gt;S3Sync&lt;/a&gt;&lt;/span&gt;  - command line and rsync for Amazon S3.&lt;br /&gt; &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Windows_PowerShell"&gt;PowerShell&lt;/a&gt;&lt;/span&gt; - Windows scripting shell and language. &lt;a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx"&gt;PowerShell 1.0&lt;/a&gt;, used by Windows XP and Windows Server 2003, does not support remote scripting so use Remote Desktop to run the scripts on the windows server. &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=c913aeab-d7b4-4bb1-a958-ee6d7fe307bc"&gt;PowerShell 2.0&lt;/a&gt; supports remote scripting but is only available with Vista, Windows 7 and Windows Server 2008. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.codeplex.com/Pscx"&gt;PowerShell Community Extensions&lt;/a&gt;&lt;/span&gt; provides very useful &lt;a href="http://pscx.codeplex.com/Wiki/View.aspx?title=PSCX%201.1.1%20Features"&gt;extra commands&lt;/a&gt; &lt;br /&gt;               &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://code.google.com/p/power-ec2dream/"&gt;Power-EC2Dream&lt;/a&gt;&lt;/span&gt; - a C# interface to Amazon EC2 and S3 (and Eucalyptus) that can be used from PowerShell to write scripts against Amazon EC2 (and Eucalyptus). It includes the &lt;span style="font-weight:bold;"&gt;&lt;a href="http://threesharp.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=25475"&gt;ThreeSharp&lt;/a&gt;&lt;/span&gt; - S3 .Net Interface. &lt;br /&gt;&lt;a href="http://www.cloudberrylab.com/?page=cloudberry-explorer-amazon-s3"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 80px; height: 80px;" src="http://images.cloudberrylab.com/free/100_blue.jpg"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;For a Windows Client It is also recommended to install the following additional tools:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://cloudberrylab.com/"&gt;CloudBerry&lt;/a&gt;, &lt;a href="http://s3browser.com/"&gt;S3browser&lt;/a&gt; or &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/3247"&gt;S3Fox&lt;/a&gt;&lt;/span&gt; - console for S3. Cloudberry seems to have the most functionality and I would recommend it. I could not get S3Fox to recognise folders so I didn't find it that useful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-1932475346833181214?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/1932475346833181214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/03/tools.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/1932475346833181214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/1932475346833181214'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/03/tools.html' title='Tools'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_TfQFXZiv-Y0/SlHVQjnivuI/AAAAAAAAAMA/3sn253DloCo/s72-c/pocket_and_tools.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-272136133034588431</id><published>2009-03-11T08:22:00.000-07:00</published><updated>2011-08-08T08:53:30.273-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Amazon S3'/><title type='text'>Amazon S3</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_TfQFXZiv-Y0/Scoo9Xu-mXI/AAAAAAAAAF4/eMgYto8e4kk/s1600-h/barrels.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 134px;" src="http://4.bp.blogspot.com/_TfQFXZiv-Y0/Scoo9Xu-mXI/AAAAAAAAAF4/eMgYto8e4kk/s320/barrels.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5317107344872479090" /&gt;&lt;/a&gt;&lt;br /&gt;Amazon Simple Storage Service (S3) is a way to store unlimited amounts of data that can be shared by your amazon instances or accessed from your client machine. &lt;br /&gt;It is important because all images of your amazon ec2 instance need to be stored in S3. &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;NOTE:&lt;/span&gt; S3 has no concept of folders. It is purely an object store with a key. You can simulate folders by using a / in the key and Cloudberry and S3Browser supports this convention. &lt;br /&gt;&lt;a href="http://www.cloudberrylab.com/?page=cloudberry-explorer-amazon-s3"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 80px; height: 80px;" src="http://images.cloudberrylab.com/free/100_blue.jpg"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Console for S3&lt;/span&gt;&lt;br /&gt;Currently the AWS Management console does not support S3 so you need to install: &lt;br /&gt;a. &lt;a href="http://cloudberrylab.com/"&gt;CloudBerry&lt;/a&gt; - Windows Only (requires .NET 2.0) but better support for simulating folders with slashes. This has the more functionality than S3Browser and this is what &lt;span style="font-style:italic;"&gt;I would recommend&lt;/span&gt;. The user interface is similar to the winscp browser and even supports moving data between one amazon user and another without incuring charges plus using &lt;a href="http://aws.amazon.com/cloudfront/"&gt;Cloudfront&lt;/a&gt;.&lt;br /&gt;b. &lt;a href=" &lt;br /&gt;http://s3browser.com/"&gt;S3Browser&lt;/a&gt; - Windows Only (requires .NET 2.0) but better support for simulating folders with slashes.&lt;br /&gt;c. &lt;a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=771"&gt;S3Fox&lt;/a&gt; - Firefox Plugin to provide access to S3 from a browser.&lt;br /&gt;d. &lt;a href=" http://s3hub.com/"&gt;S3Hub&lt;/a&gt; - MacOS Only.&lt;br /&gt; &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;S3CMD&lt;/span&gt;&lt;br /&gt;To provide a command line access to S3 install the S3cmd tool from &lt;a href="http://s3tools.org/s3cmd"&gt;http://s3tools.org/s3cmd&lt;/a&gt;&lt;br /&gt;Note: This requires python to be installed and for windows don't use the PGP security option.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Best Practices&lt;/span&gt;&lt;br /&gt;There is a good best practices on using Amazon S3 &lt;a href="http://www.google.co.uk/url?sa=t&amp;source=web&amp;ct=res&amp;cd=2&amp;url=http%3A%2F%2Fdeveloper.amazonwebservices.com%2Fconnect%2Fservlet%2FJiveServlet%2Fdownload%2F24-26225-106834-2124%2Fbest%2520practices%2520for%2520using%2520amazon%2520s3%2520(11-10-2008).pdf&amp;ei=FterSeajJNnHjAeo_YjXDw&amp;usg=AFQjCNHcjtYPORAZ2-hiWXnCLyD4UclOUw&amp;sig2=2QTMA-F1xhMyl71L8SkrRQ"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Also see the &lt;a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1904"&gt;amazon tutorial&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Convention for storing AMIs&lt;/span&gt;&lt;br /&gt;In the EC2Dream Sys Admin tool by default we use a bucket to store your AMIs in called &lt;environment&gt;-ami. &lt;br /&gt;When an ami is bundled I would store in a folder called machine-YYMMDD.&lt;br /&gt;ie So the database machine bundled on the 10 March 2009 would go to &lt;br /&gt;           &lt;environment&gt;-ami/DB-090310/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-272136133034588431?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/272136133034588431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/03/amazon-s3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/272136133034588431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/272136133034588431'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/03/amazon-s3.html' title='Amazon S3'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_TfQFXZiv-Y0/Scoo9Xu-mXI/AAAAAAAAAF4/eMgYto8e4kk/s72-c/barrels.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8182851079738630242.post-203129945159111459</id><published>2009-03-11T06:41:00.000-07:00</published><updated>2012-02-22T09:12:52.392-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Getting Started'/><title type='text'>Getting Started</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_TfQFXZiv-Y0/SkD-Uu83HWI/AAAAAAAAAK8/ADyeIhpNVhI/s1600-h/maze.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 220px; height: 155px;" src="http://4.bp.blogspot.com/_TfQFXZiv-Y0/SkD-Uu83HWI/AAAAAAAAAK8/ADyeIhpNVhI/s320/maze.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5350555989470289250" /&gt;&lt;/a&gt;&lt;br /&gt;Four possible ways to get started with Amazon EC2 depending on what admin tool you use:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1. &lt;a href="search/label/EC2Dream%20-%20Graphical%20System%20Admin%20Tool"&gt;EC2Dream System Admin&lt;/a&gt;&lt;/span&gt; A client app for admin. Follow the &lt;a href="http://ec2dream.webs.com/"&gt;Documentation&lt;/a&gt;. It has the following sections:&lt;br /&gt;&amp;nbsp;&amp;nbsp;1. Setting Up&lt;br /&gt;&amp;nbsp;&amp;nbsp;2. Creating an Environment &lt;br /&gt;&amp;nbsp;&amp;nbsp;3: Running an Instance&lt;br /&gt;&amp;nbsp;&amp;nbsp;4: Building a Base Image&lt;br /&gt;&amp;nbsp;&amp;nbsp;5: Building an Application Image&lt;br /&gt;&lt;br /&gt;Also see the &lt;a href="http://www.slideshare.net/cpurrington/getting-started-on-aws"&gt;Slides on Slideshare&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. &lt;a href="https://console.aws.amazon.com/"&gt;AWS Management Console&lt;/a&gt;&lt;/span&gt; - a web console from any browser. Follow the &lt;a href="http://ec2dream.webs.com/AWS-Management-Console.pdf"&gt;AWS Management Console Tutorial document&lt;/a&gt; or the &lt;a href="http://docs.amazonwebservices.com/AWSEC2/latest/GettingStartedGuide/"&gt;Amazon Getting Started Guide&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Amazon also have a video presentation of the console &lt;a href="http://media.amazonwebservices.com/console/AwsConsole.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;3. &lt;a href="http://developer.amazonwebservices.com/connect/entry.jspa?entryID=609"&gt;Elasticfox&lt;/a&gt;&lt;/span&gt; -  a plug in for Firefox.&lt;br /&gt;Install and follow &lt;a href="http://ec2-downloads.s3.amazonaws.com/elasticfox-owners-manual.pdf"&gt;Elasticfox Getting Started Guide&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4. &lt;a href="http://aws.amazon.com/developertools/351"&gt;Amazon EC2 Command Line Tools&lt;/a&gt;&lt;/span&gt; however this uses line commands so it is not user friendly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8182851079738630242-203129945159111459?l=ec2dream.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ec2dream.blogspot.com/feeds/203129945159111459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ec2dream.blogspot.com/2009/03/getting-started.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/203129945159111459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8182851079738630242/posts/default/203129945159111459'/><link rel='alternate' type='text/html' href='http://ec2dream.blogspot.com/2009/03/getting-started.html' title='Getting Started'/><author><name>Neill Turner</name><uri>http://www.blogger.com/profile/11967096487210910865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/-V3epQp9IHFI/TyF7TakifII/AAAAAAAAAb4/6oLxZ1sayk8/s220/nt3.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_TfQFXZiv-Y0/SkD-Uu83HWI/AAAAAAAAAK8/ADyeIhpNVhI/s72-c/maze.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
