AWS releases new SSD-Backed EBS

Yesterday, Amazon Web Services announced New SSD-Backed Elastic Block Storage. This is cool in many ways, but one really nice feature is the “Boot Boost” which means:

Each newly created SSD-backed volume receives an initial burst allocation that provides up to 3,000 IOPS for 30 minutes.

In other words, boot times can decrease dramatically (especially for Windows images).

At SmartySteets this is good news for us since we are using AWS EC2 technology for many of our services.

To take advantage of this using the Console was easily taken care of the first time we launched a new instance today.

However, the fun part was getting our API-based launch scripts to use the new feature. The main gist of the change is the specification of a volume type of “gp2″. We interact with AWS through boto, so I had to add “block device” specifications to the script as follows:


block_device_type = boto.ec2.blockdevicemapping.BlockDeviceType()
block_device_type.volume_type='gp2'
block_device_type.delete_on_termination='true'
block_device_mapping = boto.ec2.blockdevicemapping.BlockDeviceMapping()
block_device_mapping['/dev/sda1'] = block_device_type

new_image_id = ec2Connection.create_image(
instance_id=INSTANCE_ID,
name='{0}'.format(SERVICE_NAME),
description='',
block_device_mapping=block_device_mapping,
)

Here is the full script for reference in case you need an example of usage.

Be EXCITED About Your Dreams

Today I learned that, being EXCITED about my goals and dreams is a vital ingredient in bringing my dreams to fruition.

All too often I hesitate about being excited about my dreams. What if I fail? What if my dreams do not come true? If I allow myself to get excited, if I allow myself to put my whole heart into my goals/dreams/relationships, I might fail and my heart may be decimated. Would it not be better to just put half of my heart into whatever I am trying to accomplish? That way, if the endeavor fails, I still have half my heart.

Brad Barton failed over and over again, but he kept getting back up, and finally reached his goal of breaking a world record in running.

I just listened to this episode of Live On Purpose radio: Getting Better at Getting Better. Dr. Paul? talks with Brad about the struggles he had while pursuing his dream.

Network Redirection: UDP/TCP to a File

I just learned a cool bash trick. Redirecting network traffic to a file.

Open two bash terminal windows.

t1$ nc -l 7777 >> TESTFILE
t2$ exec 3<>/dev/tcp/127.0.0.1/7777
t2$ echo 'Hello World!' >&3
t1$ cat TESTFILE

Your TESTFILE now has Hello World! in it.

There are quite a few ways to do this and similar operations, easy found on the Googles.

*Note: Other shells may work, I used bash. Your shell may or may not have redirection capabilities built into it.

AWS IAM Roles

As I have been developing and testing on Amazon Web Services (AWS) hosting I have made much use of the Identity and Access Management (IAM) feature. In particular, I have found the IAM Roles to be extremely helpful. I can assign a role to a specific instance or even a launch group of instances. When those instances are launched they have all the permissions of the role that I have specified for them. This means that if an instance needs to access files that are on S3, I just add that permission to the role and the instance is able to access S3 files. This is extremely useful for system admin scripts as well as other programming tasks.
Continue reading

To be a Friend to my Children

Over the past little while I have taken up the practice of looking at my children and thinking of them as I would think of one of my very best friends.

I can tell you that it has been an eye opening experience for me.

For some reason that I have yet to comprehend, I am very selfish and prideful when it comes to interacting with my children.

Viewing my children as I view my best friends has helped me see them from a different perspective.
Continue reading

AWS 101

An intro to AWS.

I guess I should explain the learning curve bit. When I started learning AWS, I did not really have a mentor and the documentation was either too vague and filled with propaganda for other services or too verbose and not at the level that I needed. An AWS admin can interface with their products through the web console, CLI, or through their API. There are tons of products out there that use their API to make different aspect of interfacing with their products easier. For the most part, most of my interactions with AWS is done through their web console. The learning curve and their new way of thinking is in how they have taken all the aspects of hosting and split them up into different categories and products. They all work together very well, but understanding what is available and how they go together takes some time. Also, using the products is sometimes a different kind of intuitive. In a way, it is like moving from Windows to a Mac. On windows most things are done in a counter-intuitive way. So when you use a Mac and things are done in an intuitive way you are not used to it so it throws you off. There are also tons of options. It can be overwhelming.
Continue reading

The certified opinions of Jonathan