Virtualization at Gilt - Rangarajan Radhakrishnan


Published on

Rangarajan discusses the evolution of virtualization at Gilt

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Virtualization at Gilt - Rangarajan Radhakrishnan

  1. 1. O’REILLYVirtualization at GiltRangarajan Radhakrishnan, ranga@gilt.comInfrastructure EngineeringJun 6, 2013
  2. 2. O’REILLYWhat is Gilt Groupe?> Founded in 2007, Gilt provides a curated,personalized experience featuring products by today’s top designer labels, at up to 60% off retail> Products across four stores: Men, Women, Home,and Baby & Kids
  3. 3. O’REILLYGilt Tech:> The engine behind the Gilt experienceInfrastructure Eng:> Tasked with improving efficiency and reliability
  4. 4. O’REILLYTech at GiltOffices: NYC, Dublin and PortlandInfra Eng: NYC and DublinArchitecture: NYC, Portland and DublinEngineering: NYC, Portland and Dublin
  5. 5. O’REILLYGilt Tech History> 2007: Small Debian footprint with Ruby on Rails> 2008: Migrated to OpenSolaris (from RoR toJava services)> 2010: Migrated to CentOS (from Java services toScala services)=> =>
  6. 6. O’REILLYCurrent Technology at Gilt
  7. 7. O’REILLYTechnology> Databases: PostgreSQL, MongoDB> Search: Solr, Splunk> Frameworks: Play> Languages: Scala, Java, Ruby, Node.js> Config mgmt: Puppet> Continuous integration: Jenkins> Messaging: RabbitMQ
  8. 8. O’REILLYVirtualization Goals> Build on what is available> Avoid a one-size-fits-all approach> Offer seamless integration with existingapplication stack> Use lightweight containers that offer greatperformance
  9. 9. O’REILLYAdditional Virtualization Goals> Automate provisioning as much as possible> Feature immutable containers -- avoiduncertainties as a result of changes over time> Avoid repeated enforcement of configmanagement policies
  10. 10. O’REILLYVirtualization History at Gilt:The Past> Bare metal: Debian (2007 - 2008)> OpenSolaris zones (2008 - 2010)> Migration to CentOS (201
  11. 11. O’REILLYVirtualization History at Gilt:The Present> Xen VMs (since 2010)> LXC (since 2012): strong performance, lowoverhead> EC2 (off and on since 2008), with varyingdegree of prod/non-prod use (mostly spillovertraffic)> Apache CloudStack (since 2013): to increaseutilization and maximize efficiency
  12. 12. O’REILLYWhy CloudStack forVirtualization?> open source> support for multiplehypervisors (KVM, Xenserver and, recently, LXC)> great web UI and Rest API> increasingly active community> committer in-house
  13. 13. O’REILLYVirtualization at Gilt withCloudstack and Galactica> CloudStack primarily for use with LXC containers> CloudStack integration with Galactica (in-house)> Galactica implements a meta-data model> Galactica integrates with Puppet/LDAP etc.
  14. 14. O’REILLYGalactica ...> is a family of services> allocates containers (via CloudStack)> allows for provisioning of other services> implements a meta-data model for:>> HW/SW provisioning/management>> User access provisioning/management>> IP address/DNS provisioning/management
  15. 15. O’REILLY> maintains desired state of services> provides DNS updates for services, especiallywhen provisioning or decommissioning> updates load balancer config> integrates with monitoring system/audit> integrates with ioncannon (automated andcontinuous deployment)Galactica also:
  16. 16. O’REILLYWhy LXC?> lightweight: minimal performance overhead> tested in staging with good results> proof of concept with live traffic showed goodperformance> significant work to support LXC in cloudstack"LXC will be implemented as a hypervisor in CloudStack and will be afirst class citizen similar to other hypervisors ..."- Phong Nguyen, Gilt (CloudStack committer)
  17. 17. O’REILLYOther Key Pieces> config management system: Puppet 3.1(for first-time run on container, then turned off)> Cobbler 2.2.3 for kickstarting bare metal servers(with both Ubuntu and CentOS profiles)> Jenkins: used for continuous integration andtesting
  18. 18. O’REILLYRecent and Ongoing Work> Testing provisioning LXC containers withdifferent libvirt versions>> Up to 1.0.5 on CentOS 6.3 and 0.9.8 onUbuntu> Testing entire application stack on CentOS 6.4LXC container on Ubuntu host>> Trying to avoid libvirt issues that came upwith CentOS host
  19. 19. O’REILLYRecent and Ongoing Work(cont.)> Testing entire application stack on Ubuntu 12.04LTS LXC container on Ubuntu host>> Challenge: requires different packagingmechanism> Provisioning LXC with and without libvirt toidentify issues with libvirt
  20. 20. O’REILLYFor More Info:> Gilt Tech blog:> Gilt Twitter: @gilttech> Gilt Facebook:> Work for us: to:> CloudStack community> Gilt Tech team> NYCDevOps