Agile DevOps - People and Process then Automation!!!

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

Elastic Block Storage

The best detail explanation on EBS is at

The important feature of an EBS is that it allow changes to be persisted between
instance starts.

Main difference between EBS and S3:

1. EBS cannot be shared between instances
2. EBS is much faster than S3
3. EBS are not redundantly backed up like S3

See EBS Tutorial #3 in Getting Started with AWS Management Console
To automatically mount an EBS at Linux machine startup see the method process_ebs in the cloud_init.rb script. The cloud_init.rb program can be added to the rc_local scripts to run at startup so that EBS can be auto mounted at startup from parameters in the user data.

Tip: To share an EBS put on and instance with an NFS server and mount the NFS on the other instances.

Also see Running MySQL on Amazon EC2 with Elastic Block Store
Experiences with Amazon EC2 and EBS

Performance: Amazon say that disk performance of EBS should be similar to instance local data performance. Some people report performance similar to instance local 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.
For more info see IO Performance on EBS.
Disk IO and throughput benchmarks on Amazon EC2.

Provisioned IOPS You can improve performance of an EBS by creating it as type ipos and specifying the IO per second requirement. This is useful for database servers but cost a extra premuim. See EBS provisioned iops some interesting resources and Putting Amazon’s Provisioned IOPs to the test for details

Increasing the size of an EBS
reszing cannot be done "on the fly" however you can create a larger EBs with minimum down time see Amazon EBS - How to Grow the Storage. So it is best to create an EBS with a good amount of storage for your application.
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 Grow the Size of an EBS Volume

Finally, you are limited to 20 open EBS but can incease this with this form

Post a Comment