Hi, all. I'm building a high performance AMI construction and distribution system (currently focused on EBS-backed AMIs). While working on this I came across this blog post:
http://techblog.netflix.com/2013/03/ami-creation-with-aminator.htmlWhile I was already aware of Aminator, what drew my attention was the description of the Bakery and how Aminator dropped one of it's core techniques: using a volume pool. The system I'm building is based on a similar concept to improve performance. The blog post states that volume pools were dropped for agility and manageability. I have two basic questions for the Aminator team:
1) what were the agility and manageability issues experienced with Bakery?
2) what was the degree of performance benefit that was sacrificed by giving up volume pools?
Similar to the Bakery, the system I'm building can produce encrypted AMIs which are globally available in different accounts and regions from a (optionally compressed) tarfile of the OS in under 5 minutes. Unlike the Bakery, however, content construction is performed just once rather than in each account/region, which yields guaranteed identical image contents across accounts/regions and also supports building content on-premises (I work at Symantec where we're more comfortable with keeping source code and sensitive key materials on-premises). It also ties in more closely with a system to perform image-based live patching of running systems, which avoids some of the issues with frequent re-launching of instances.
BTW: based on my experience, the time to create snapshots from volumes is the dominant factor in how long it takes to build AMIs, and using volume pools can halve that time from ~6 minutes to ~3 minutes.
Regards,
Richard....