Mitchell Hashimoto, HashiCorp
-
Upload
ontico -
Category
Technology
-
view
5.364 -
download
2
description
Transcript of Mitchell Hashimoto, HashiCorp
![Page 1: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/1.jpg)
Towards FutureOps: Stable, repeatable, environments from dev to prod.
![Page 2: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/2.jpg)
I’m Mitchell HashimotoAlso known as @mitchellh
![Page 3: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/3.jpg)
I build toolshttp://hashicorp.com
![Page 4: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/4.jpg)
Vagranthttp://www.vagrantup.com
Packerhttp://www.packer.io
SERFhttp://www.serfdom.io
![Page 5: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/5.jpg)
History of OpsOr, the history of pretending that anything works.
![Page 6: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/6.jpg)
Single Dedicated Server
![Page 7: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/7.jpg)
Single Dedicated Server• Manually setup
![Page 8: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/8.jpg)
Single Dedicated Server• Manually setup • Expensive to replace
(time and money)
![Page 9: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/9.jpg)
Single Dedicated Server• Manually setup • Expensive to replace
(time and money) • Professionals, usually
![Page 10: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/10.jpg)
What is hard/slow/expensive?• Acquiring hardware • Manual setup • Expertise • Downtime, Failures
![Page 11: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/11.jpg)
Multiple Dedicated Servers
![Page 12: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/12.jpg)
Multiple Dedicated Servers• Golden images
![Page 13: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/13.jpg)
Multiple Dedicated Servers• Golden images • Manually made
![Page 14: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/14.jpg)
Multiple Dedicated Servers• Golden images • Manually made • Slow to change,
expensive to grow
![Page 15: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/15.jpg)
Multiple Dedicated Servers• Eventually: config
management (CFEngine, Puppet, Chef)
![Page 16: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/16.jpg)
What is hard/slow/expensive?• Acquiring hardware • Making images • Expertise • Downtime, Failures
![Page 17: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/17.jpg)
The Low-Cost VPS Server
![Page 18: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/18.jpg)
The VPS Server• Manually made (cargo
cult, usually)
![Page 19: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/19.jpg)
The VPS Server• Manually made (cargo
cult, usually) • Cheaper to replace
![Page 20: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/20.jpg)
The VPS Server• Manually made (cargo
cult, usually) • Cheaper to replace • Hobbyist, startup
![Page 21: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/21.jpg)
What is hard/slow/expensive?• Expertise • Downtime, Failures • Rebuilding it
![Page 22: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/22.jpg)
The Cloud
![Page 23: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/23.jpg)
The Cloud• Many cheap servers
![Page 24: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/24.jpg)
The Cloud• Many cheap servers • Seconds to create
![Page 25: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/25.jpg)
The Cloud• Many cheap servers • Seconds to create • Configuration
management
![Page 26: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/26.jpg)
• Configuration mgmt • Portability • Repeatability • Can be expensive
What is hard/slow/expensive?
![Page 27: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/27.jpg)
The Ops of TomorrowBetter, faster, stronger
![Page 28: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/28.jpg)
Immutable Infrastructure
![Page 29: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/29.jpg)
Immutable InfrastructureInstead of modifying or maintaining a server, replace it with a new one.
![Page 30: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/30.jpg)
Immutable InfrastructureServers don’t change anymore, they’re pre-built, static images that are tested/verified.
![Page 31: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/31.jpg)
Immutable Wins• Super fast server deployment • Failure expected, not a big deal • Testable, more stable
![Page 32: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/32.jpg)
Automation Critical• Machine Images • Software install/configure • Failure detection, recovery • etc…
![Page 33: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/33.jpg)
Machine ImagesEasily build machine images for multiple platforms with Packer.
![Page 34: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/34.jpg)
Machine image: A single deployable unit that contains a pre-configured OS and software.
![Page 35: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/35.jpg)
Ew... Images.The anti-image stigma
![Page 36: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/36.jpg)
DevOps has historically been against machine images.
![Page 37: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/37.jpg)
Important to understand why DevOps has historically been against machine images.
![Page 38: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/38.jpg)
Golden images used to be the way.
![Page 39: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/39.jpg)
Quarterly, unchanged, blessed image.
![Page 40: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/40.jpg)
Getting any changes (ops or dev) in was slow and frustrating.
![Page 41: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/41.jpg)
Necessary evil while tooling wasn’t as good as it is today.
![Page 42: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/42.jpg)
With modern config management, easy to simply ignore images.
![Page 43: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/43.jpg)
Machine images also have a ton of benefits.
![Page 44: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/44.jpg)
Super fast infrastructure deployment.
![Page 45: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/45.jpg)
Multi-cloud portability
![Page 46: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/46.jpg)
Stability and Testability
![Page 47: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/47.jpg)
Analogy: Ops without machine images is like applications without binaries
![Page 48: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/48.jpg)
Put it another way: There is no promise of reproducible builds in ops, and no binary-like snapshots
![Page 49: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/49.jpg)
Source Code Binary
![Page 50: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/50.jpg)
Source Code Binary
libA 1.0 libB 1.0 libC 1.0
![Page 51: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/51.jpg)
Source Code Binary
libA 2.0 libB 1.0 libC 1.0
![Page 52: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/52.jpg)
Source Code COMPILE FAILED
libA 2.0 libB 1.0 libC 1.0
![Page 53: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/53.jpg)
New Server Ready Server
Chef, Puppet, Scripts, etc.
![Page 54: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/54.jpg)
New Server Ready Server
Packages NetworkChef/Puppet
Changes
Chef, Puppet, Scripts, etc.
![Page 55: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/55.jpg)
New Server
NetworkChef/Puppet
Changes
Chef, Puppet, Scripts, etc.
Package Changes
SERVER SETUP FAILED
![Page 56: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/56.jpg)
New Server
PackagesChef/Puppet
Changes
Chef, Puppet, Scripts, etc.
Network Unreliable
SERVER SETUP FAILED
![Page 57: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/57.jpg)
New Server
Packages Network
Chef, Puppet, Scripts, etc.
Chef/Puppet Changed
SERVER SETUP FAILED
![Page 58: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/58.jpg)
New Server Ready Server
Machine Image
![Page 59: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/59.jpg)
New Server Ready Server
Machine Image
![Page 60: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/60.jpg)
PackerEmbraces modern best practices and automates building images
![Page 61: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/61.jpg)
Takes template input and repeatably produces image output.
![Page 62: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/62.jpg)
$ packer build \! -var ‘aws_access_key=YOUR KEY’ \! -var ‘aws_secret_key=YOUR SECRET’ \! template.json!...
![Page 63: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/63.jpg)
Automated, repeatable, fast, uses Chef/Puppet/Shell/etc. Gets rid of old downsides.
![Page 64: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/64.jpg)
Can also produce Vagrant boxes for development, at the same time.
![Page 65: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/65.jpg)
WorkflowsWhat does this look like in practice?
![Page 66: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/66.jpg)
Ops Push
Packer Build
Machine Image(s)
Ops
![Page 67: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/67.jpg)
Ops Push
Packer Build
Machine Image(s)
Ops
Setup users, install software, configure software, configure
services. No orchestration.
![Page 68: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/68.jpg)
Request Server
Running Server
Server Deploy
![Page 69: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/69.jpg)
Request Server
Running Server
Server Deploy• Server started with Packer-
built image
• Running server has all pre-installed software
• Service orchestration runs now
![Page 70: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/70.jpg)
“vagrant up”
Ready to work
Development
![Page 71: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/71.jpg)
“vagrant up”
Ready to work
Development• Vagrant downloads the latest
machine image created by Packer
• “vagrant up” takes seconds to minutes and runs, nearly identical to production
![Page 72: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/72.jpg)
Packer Wins• Automated, repeatable images • Fast deployment from dev to prod • Testable, very stable • Embraces configuration mgmt
![Page 73: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/73.jpg)
SERFService orchestration, discovery, failure detection.
![Page 74: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/74.jpg)
Remember, Chef/Puppet/etc. aren’t doing service orchestration for the image.
![Page 75: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/75.jpg)
Service Discovery: Web servers in a load balancer, Memcache in a cluster, MySQL master/slave, etc.
![Page 76: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/76.jpg)
Service Orchestration: Add this node to your cluster, deploy this application, restart, etc.
![Page 77: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/77.jpg)
Serf is a decentralized, highly available, fault tolerant, and lightweight solution to service orchestration and discovery.
![Page 78: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/78.jpg)
ExampleWeb servers in a load balancer
![Page 79: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/79.jpg)
Run the Agent$ serf agent \!! -event-handler=“handle.sh”!…
![Page 80: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/80.jpg)
Join a Cluster$ serf join 10.0.1.5!…
![Page 81: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/81.jpg)
Serf Agent
Handle.sh
Serf Events
Add or Remove Node from LB
![Page 82: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/82.jpg)
Serf Agent
handle.sh
Serf Events
Add or Remove Node from LB
Serf invokes event handlers for any event: member-join, member-leave, member-failed, user.
![Page 83: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/83.jpg)
How?How does Serf do what it does?
![Page 84: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/84.jpg)
GOSSIP-BASED MEMBERSHIP
![Page 85: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/85.jpg)
FAILURE DETECTION
![Page 86: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/86.jpg)
CUSTOM EVENTS
![Page 87: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/87.jpg)
Chef/Puppet Run
Configure Serf Agent Services
Config Management
Don’t start Serf. Serf starts on boot.
![Page 88: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/88.jpg)
Chef/Puppet Run
Configure Serf agent init script
Config Management
Don’t start Serf. Serf starts on boot.
Chef and Puppet just configure the Serf init script to start the agent.
![Page 89: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/89.jpg)
Serf Wins• No orchestration in image build • Fast membership detection, don’t
wait for Chef/Puppet • Easily and infinitely extensible
![Page 90: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/90.jpg)
The Future is ImmutableBig wins, little downsides.
![Page 91: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/91.jpg)
As servers become cheaper, more on-demand, and infrastructures become more distributed, immutable infrastructure will win.
![Page 92: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/92.jpg)
Important to remember:You don’t have to go all in on immutable. You can start with certain servers. Example: databases are hard, just ignore that for awhile.
![Page 93: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/93.jpg)
Mostly ImmutableThere are still big benefits for going mostly immutable. Things like quick config changes and deploys can still be mutable. Serf is good for this.
![Page 94: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/94.jpg)
The Wins• Super fast deployment • Repeatability • High failure tolerance • Improved stability and testability • Versioning
![Page 95: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/95.jpg)
The Downsides• Requires proper mindset • Tooling is new • Deploys, simple config changes
![Page 96: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/96.jpg)
Thank you!
![Page 97: Mitchell Hashimoto, HashiCorp](https://reader034.fdocuments.in/reader034/viewer/2022050804/54c4e1d84a7959ca6c8b45e7/html5/thumbnails/97.jpg)
Vagranthttp://www.vagrantup.com
Packerhttp://www.packer.io
SERFhttp://www.serfdom.io