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, IBM, Openstack, Local and Hosted servers.

Sizing Amazon Server Instances

Amazon size their server instances in EC2 Compute Units.

 If you have an existing system running on known hardware often you want an indicative price on how much it would cost to run in Amazon.

 PassMark have published benchmarks for multiple CPU Servers Amazon specify that one EC2 Compute Unit provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor. This is also the equivalent to an early-2006 1.7 GHz Xeon processor referenced in their original documentation. This means an an ECU is roughly equivalent to a PassMark-CPU Mark score of 400.

 If your application ran on say a Dual CPU Intel Xeon E5520 @ 2.27GHz which has a pass mark of 9,020. Each CPU would be 4510 and because it is hyperthreaded each core would be 2255. Each core would require 4 to 5 EC2 Compute Units. This is roughly equivalent to a Standard Large Instance per core. So 4 Large instances are needed to provide similar CPU.

 However if your application had a usage pattern of say 8% overnight 30% on a normal day and 60% on a peak day then you will not need 4 large instances all the time:
                                                                          
PatternLarge Instances required
Overnight1
Normal2
Peak3
 you could also reduce costs by paying for one reserved large instance.

 EBS Disk Performance
  EBS Disk requirements can also impact instance choices. Most applications are going to use attached EBS disks for application data and probably for the root disk as well. EBS disk access is over the same network as all other networking in Amazon. There is no separate network attached storage.

 A small instance get less resources from the physical machine and it shares the  physical machine and its network with more virtual machines than a large instance. So large instance can get more bandwidth for its EBS disks.

Typically EBS disks can handle a base load of 100 I/O per sec, although they can peak for short periods up to 1000 I/O per sec. If your I/O requirements are more than this then you need to run the disk on multiple EBS using striping software.

 Once you have figured out your instance, disk and networking requirements you can use the Amazon Monthly Calculator.  

References
  PassMark CPU Benchmarks Multiple CPU Systems
  What is ECU - CPU benchmarking in cloud
  Amazon's Physical Hardware and EC2 Compute Unit

0 comments:

Post a Comment