Amazon Web Services: an introduction

This post is an introduction to Amazon Web Services, as I’ll be
writing a series of posts in the following weeks elaborating on the stuff I’ve been working on
this year.

Amazon Web Services, AWS, is a platform for infrastructure services in the cloud at very competitive prices. AWS is revolutionizing the IT services in all sorts of companies. No more
dealing with hardware, no need to have people available 24/7 to monitor
servers, no more trips to the data center, no need for the developers
to wait for days/weeks until IT can get you a specific server
platform,…

AWS is composed of

S3 is a  like a virtually infinite storage service. You can store files and pay per storage and data transfer ($0.15 per GB-month)

EC2 provides a way to have a virtual server running in a matter
of minutes. It takes an AMI (Amazon Image) stored in S3 and starts it,
giving you a public address where you can ssh to and you have your
server ready. There are many publicly available images from Amazon and
third parties, with several *nix flavors CentOS, Ubuntu, OpenSolaris… and Windows images
coming this fall. There are also images with stacks already installed, mysql, apache, ruby on rails,… If you need you can customize your running server and later capture an image to launch as many instances of it as you want, and
also considering that the image provided storage is not persistent, if
your image is stopped or dies, everything changed in the server since
you started it is lost. There are three types of servers, small, large, extra large,… with different amount of space, cpu, memory,… You pay per
type of instance, time running and data transfer, starting at $0.10 per hour.

EBS is an EC2 service that allows you to attach a virtual drive to EC2 instances, with high availability and high reliability, and size up to 1TB, providing persistent storage to the instance. The drive can be backed up to S3 too. You pay $0.15 per GB-month allocated.

SQS is a simple and scalable message queue, paying for the number of messages and data transfer (1$ gives you up to 500.000 messages)

SimpleDB is a web service for running queries on structured data in real time. Haven’t tried it at all but seems suitable if you have a huge structured database and need it to scale.

Now, why should you care about cloud computing and particularly about Amazon Web Services? well if you are in one of this cases you should definitely check it out:

  • I need a server for a few hours only: with AWS you pay per hour
  • I’m running a startup and dont have the cash up front to setup a huge infrastructure (and I don’t know if the company will go under in few months): you don’t have upfront costs, just pay for the time you use it
  • I need huge storage space requirements: you can allocate TB of space
  • I run a task that needs 24 hours to complete, but could be distributed in 24+ servers and take less than 1 hour: it will cost pretty much the same to have 1 server running 24 hours than having 24 servers running 1 hour
  • I need to scale fast: you can add servers in a matter of minutes, storage space,…
  • I need high availability and geographical distribution: Amazon provides availabilty zones, so far three for EC2 in the US East coast, and two for S3, US and Europe, most likely the possibilities will grow in the future

The next post will be about the tooling that can be used to easily manage all these services.

Next entry: Amazon Web Services: habemus Windows

Interview in JavaHispano

JavaHispano, the portal for the Spanish speaking Java community has published a podcast (in Spanish if you haven’t figured out yet ;) ) where Abraham Otero interviews me, covering a little bit of my past, how I got involved with open source, the Apache Software Foundation, Eclipse, and other projects, how do they work, my personal view on the status of open source, the job market and a comparison of the USA vs Spain in many aspects for people working in the technology world.

Q4E and Eclipse IAM news and talks

Q4E, the Maven plugin for Eclipse, is in the process of moving to the Eclipse Foundation infrastructure as Eclipse IAM (Eclipse Integration for Apache Maven). We are going through the IP verification process, which is quite strict at Eclipse, so it takes some time to move the bits and pieces over. We are doing it slowly to prevent disruptions while the development still continues and to have a smooth transition. There will be some time while some things are still hosted at the Q4E site and some at IAM.

And in the next weeks the project will be present at two important conferences where Abel Muiño and myself will be talking about the project features, status, future direction,…

ApacheCon US, New Orleans, November 6th
Carlos Sanchez: Q4E and Eclipse IAM, Maven integration for Eclipse
“Q for Eclipse”, now Eclipse IAM (Eclipse Integration for Apache
Maven), is a new Open Source project that integrates Apache Maven and
the Eclipse IDE for faster, more agile, and more productive
development. The plugin allows you to run Maven from the IDE, import
existing Maven projects without intermediate steps, create new projects
using Maven archetypes, synchronize dependency management, search
artifact repositories for dependencies that are automatically
downloaded, view a graph of dependencies and more! Join us to discover
how to take advantage of all these features, as well as how they can
help you to improve your development process.

Eclipse Summit Europe, Ludwigsburg, Germany, November 20th
Abel Mui�o: IAM new & noteworthy
Eclipse IAM (Integration for Apache Maven) is a new eclipse technology
project in the eclipse incubator providing integration of maven in
eclipse.
In this talk we will review what features are already present on
Eclipse IAM, what is on the roadmap and how users and adopters can
configure and extend it.
Abel Muino is the project lead for Eclipse IAM (Integration of Apache
Maven) and principal architect for Berggi Inc.
For the past 5 years, he has worked as java developer and architect in
Data Integration, Security and Services for Mobile Devices.