Agile DevOps - architecture, technical practices, and culture

Use Cloud and DevOps to build infrastructure by rapid agile iterative development using collaborative open source tools:
-chef cookbooks, puppet modules or ansible playbooks to build servers.
-Test Kitchen to deploy and test them.
-EC2Dream a graphic user interface that provides a 'single pane of glass' to do agile devops primarily on cloud servers.
-Cloud Formation or Terraform using cfndsl Ruby or Troposphere DSL for easy orchestration.
-Amazon AWS, Azure, Google Compute Engine, Softlayer, Openstack, Local and Hosted servers.

Amazon EBS Images

Amazon server instances can now be booted from EBS Snapshots as well as instance stores bundled onto S3.

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.

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.

Another benefit is the size of your root partition can be as large as 1 TB overcoming the old instance store limitation of 10GB.

You can now even move a running EBS Boot Image to another server. This is equivalent to VMware VMotion. Eric Hammond has once again come up with the clever information.

It is important to backup your EBS via snapshots and to S3.

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 stripe EBS volumes together to create a RAID device.

References:
Creating Consistent Snapshots of a Live Instance with XFS on a Boot-from-EBS AMI
Increasing Root Disk Size of an EBS Boot AMI on EC2
Resizing the Root Disk on a Running EBS Boot EC2 Instance
Amazon EC2 – Boot from EBS and AMI conversion
Understanding and using Amazon EBS
Amazon’s Elastic Block Store explained

2 comments:

Dave said...

Thanks for all your posts on the subject. Unfortunetly I am still having trouble understanding Amazons model and or vocabulary.

I am trying to do what I think should be easy and in fact the whole point of EC2. I am trying to load up my apps on an EBS AMI instance, then save a backup copy of that instance. That way if my running instance gets rooted or something I can terminate it and simply re-launch from my backup image and have all everything in the state it was when I created the backup image.

I tried this by right-clicking a running EBS backed instance and selecting "create image (EBS AMI)". That sure sounded like what I wanted to do. But when I then launched an instance from that new AMI none of my apps were installed, it was a fresh image. What keyt concept am I missing?

I also tried creating a snapshot from the volume that I thoght was baking my EBS instance but I have no idea how to launch that snapshot.

I feel like I am missing some key concept in thier model.

Any light you can shed would be very appreciated.

Dave

Dave said...

Nevermind. I loaded up the command line tools and did the same thing and it just worked.

To clarify in case anyone else runs into this. When I insstalled some apps on a running instance and then right-clicked on that instance and choose "Create Image (EBS AMI)" the resulting image didn't seem to retain the apps I installed.

However, when I used the command line tool and ran the command "ec2-create-image" it seemed to work as I expected.

Oh happy day!

Post a Comment