Shomi's Journey to Chef: Lessons Learned on Implementing Chef

  • View
    107

  • Download
    0

Embed Size (px)

Text of Shomi's Journey to Chef: Lessons Learned on Implementing Chef

Save the thunder

shomi's journey to chef: lessons learned on implementing chefAugusto Rosa Head of Video & Network InfrastructurePierre Durretedevops Engineer (aka chef master)

1

who is shomi_?shomi by numberswhere we startedevolutionlessons learnedagenda

#

who is shomi_shomi is a new kind of instant streaming video subscription service created for entertainment lovers by entertainment lovers that makes discovering entertainment nearly as enjoyable as watching it.

#

who is shomi_

#

Node.js, C# back end application, Angular front end.SOA archicture to microservice. 25 M.S. and counting in 9 months.29 billions requests in Q1 2016400+ serversGB/s like traffic at peaksPetabytes of storage requiredshomi behind the scene

#

Manual layout infrastructure at AWS and Physical (no automation)Servers are treated like pets, not cattleImplemented chef hosted on windows and linuxNo local testingNo version lockingCookbooks not environment agnosticAttributes reside in multiple places (cookbooks, environments, roles)No naming conventionsForking of community cookbooks blocking us from upstream fixeswhere we started

#

demo

Environments dev, stage and production layout the same way. Same automation.Moved to berkshef cookbooksRun testkitchen locally

#

evolutionEnvironments dev, stage and production layout the same way. Same automation.Use the Berkshelf Way, Environment Cookbook Pattern:Environment cookbookApplication cookbookWrapper cookbookCommunity cookbookshomi-baseEnvironments per application (Environment Cookbook Pattern), including one application cookbook per software repoImplement testkitchen. Run test locally first.

#

Follow best practicesEnvironment Cookbook Pattern Chef in a Continuous integration systemVersion control and version locking

Limit powers of who can create environments, build, deployChef hosted can be a challenge as compared to locally. Feature comparison not the sameNot highly available

lessons learned

#

Do you have questions?

We are hiring at the moment Developers (node.js, front end, C++, .net)Devops Enginners(chef, terraform,)Site Reliability Enginners (sumologic, Newrelic, Datadog, trend analysis)Video Processing Engineers (workflow developers)open for questions

#