{"id":3206,"date":"2016-04-11T23:32:15","date_gmt":"2016-04-11T15:32:15","guid":{"rendered":"http:\/\/www.bytebot.net\/blog\/?p=3206"},"modified":"2016-04-11T23:33:30","modified_gmt":"2016-04-11T15:33:30","slug":"notes-from-config-management-camp-2016","status":"publish","type":"post","link":"https:\/\/www.bytebot.net\/blog\/archives\/2016\/04\/11\/notes-from-config-management-camp-2016","title":{"rendered":"Notes from Config Management Camp 2016"},"content":{"rendered":"<p><a href=\"http:\/\/cfgmgmtcamp.eu\/\">Config Management Camp<\/a> is becoming a great addition to the post-FOSDEM crowd. Short train ride away from Brussels to Ghent, lots of good content for an overnighter in a hotel (2d\/1n). It routinely sells out (the cost is unbeatable, free ;)), so go early. Some quick notes:<\/p>\n<h3>Jonathan Boulle &#8211; CoreOS &#8211; etcd @baronboulle<\/h3>\n<ul>\n<li>\/etc but distributed with a clustered key-value store with GET\/SET operations<\/li>\n<li>Support SkyDNS, Kubernetes, etc.<\/li>\n<li>CoreOS mission is to &#8220;secure the internet&#8221; and they like to provide automatic updates. Updates = rebooting. They didn&#8217;t like ZooKeeper so much. <\/li>\n<li>etcd: strong consistency guarantees, simple\/fast HTTP API, OSS<\/li>\n<li>Uses the Raft consensus algorithm (replicated log to model a state machine; append only log). Concepts: leaders, elections, terms<\/li>\n<li>Written in Go, statically linked &#8211; etcd daemon and etcdctl cli<\/li>\n<\/ul>\n<h3>Service discovery using SmartStack &#8211; John Billings &#8211; billings@yelp.com<\/h3>\n<ul>\n<li>http:\/\/nerds.airbnb.com\/smartstack-service-discovery-cloud\/<\/li>\n<li>Load balancing was done via something called create-lb-config and it was a lot of manual stuff which was deployed via puppet. Very labour intensive.<\/li>\n<li>They created something called PaasTa as a Paas (https:\/\/github.com\/Yelp\/paasta). And they found out about AirBnB&#8217;s SmartStack <\/li>\n<li>HAProxy allows you to re-dispatch on connection failures and easy to add connection logging as well. Each HAProxy instance also has a status page <\/li>\n<li>http:\/\/engineeringblog.yelp.com\/2015\/04\/true-zero-downtime-haproxy-reloads.html<\/li>\n<li>Originally Nerve &amp; Synapse made a Zookeper connection per service so it would make Zookeeper slow. Modify Nerve\/Synapse to multiplex all operations over a single Zookeeper connection<\/li>\n<li>Use Zookeeper + AWS without issue for service discovery<\/li>\n<li>etcd would probably also work and supported by SmartStack but they already know Zookeper. SmartStack is conceptually similar to consul\/consul-template<\/li>\n<\/ul>\n<h3>Platform Orchestration with Kubernetes and Docker<\/h3>\n<ul>\n<li>Julian Strobl &#8211; julian@endocode.com &#8211; experts in linux\/OSS dev, trainers, consultants located in berlin<\/li>\n<li>They have a 4-node Raspberry Pi cluster that one of them made<\/li>\n<li>There used to be a Master\/Minion relationship, but now its a Master\/Worker relationship when you are dealing in the Kubernetes world<\/li>\n<li>https:\/\/github.com\/saturnism\/gcp-live-k8s-visualizer<\/li>\n<\/ul>\n<h3>How CoreOS is built, modified and updated &#8211; Brian &#8220;redbeard&#8221; Harrington, Principal Architect, CoreOS<\/h3>\n<ul>\n<li>@brianredbeard \/ brianredbeard.com <\/li>\n<li>repo sync &#8211; allows for managing many git repos at once<\/li>\n<li>cros sdk is used to build Chromium OS, but its truly an SDK (lots of bash scripts that do things the way you want them)<\/li>\n<li>OMAHA protocol created by Google to handle updates to desktop applications (eg. ChromeOS, Browser, etc.). There are OSS bindings provided by CoreOS in Go.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Config Management Camp is becoming a great addition to the post-FOSDEM crowd. Short train ride away from Brussels to Ghent, lots of good content for an overnighter in a hotel (2d\/1n). It routinely sells out (the cost is unbeatable, free ;)), so go early. Some quick notes: Jonathan Boulle &#8211; CoreOS &#8211; etcd @baronboulle \/etc [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1503],"tags":[1819,242,1820,1823,1822,1821],"class_list":["post-3206","post","type-post","status-publish","format-standard","hentry","category-tech","tag-cfgmtmgcamp","tag-conference","tag-coreos","tag-docker","tag-kubernetes","tag-smartstack"],"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/p4vJD-PI","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/posts\/3206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/comments?post=3206"}],"version-history":[{"count":1,"href":"https:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/posts\/3206\/revisions"}],"predecessor-version":[{"id":3207,"href":"https:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/posts\/3206\/revisions\/3207"}],"wp:attachment":[{"href":"https:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/media?parent=3206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/categories?post=3206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/tags?post=3206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}