Your SlideShare is downloading. ×
Virtualization at Gilt - Rangarajan Radhakrishnan
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Virtualization at Gilt - Rangarajan Radhakrishnan


Published on

Rangarajan discusses the evolution of virtualization at Gilt

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

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. O’REILLYVirtualization at GiltRangarajan Radhakrishnan, ranga@gilt.comInfrastructure EngineeringJun 6, 2013
  • 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. O’REILLYGilt Tech:> The engine behind the Gilt experienceInfrastructure Eng:> Tasked with improving efficiency and reliability
  • 4. O’REILLYTech at GiltOffices: NYC, Dublin and PortlandInfra Eng: NYC and DublinArchitecture: NYC, Portland and DublinEngineering: NYC, Portland and Dublin
  • 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. O’REILLYCurrent Technology at Gilt
  • 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. 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. 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. O’REILLYVirtualization History at Gilt:The Past> Bare metal: Debian (2007 - 2008)> OpenSolaris zones (2008 - 2010)> Migration to CentOS (201
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. O’REILLYFor More Info:> Gilt Tech blog:> Gilt Twitter: @gilttech> Gilt Facebook:> Work for us: to:> CloudStack community> Gilt Tech team> NYCDevOps