Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Let's go Nix-ing!
Search
Jérôme Vieilledent
December 11, 2023
Technology
0
75
Let's go Nix-ing!
Jérôme Vieilledent
December 11, 2023
Tweet
Share
More Decks by Jérôme Vieilledent
See All by Jérôme Vieilledent
Observability.tools.pdf
lolautruche
0
50
Architecture Inutile ?
lolautruche
2
2k
Other Decks in Technology
See All in Technology
エンジニア採用から始まる技術広報と組織づくり/202506lt
nishiuma
8
1.7k
TerraformをSaaSで使うとAzureの運用がこんなに楽ちん!HCP Terraformって何?
mnakabayashi
0
130
新卒3年目の後悔〜機械学習モデルジョブの運用を頑張った話〜
kameitomohiro
0
260
比起獨自升級 我更喜歡 DevOps 文化 <3
line_developers_tw
PRO
0
160
IIWレポートからみるID業界で話題のMCP
fujie
0
280
マルチテナント+マルチプロダクト SaaS への AI Agent の組み込み方
kworkdev
PRO
2
340
Workflows から Agents へ ~ 生成 AI アプリの成長過程とアプローチ~
belongadmin
3
150
新規プロダクト開発、AIでどう変わった? #デザインエンジニアMeetup
bengo4com
0
450
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.6k
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
360
活きてなかったデータを活かしてみた話 / Shirokane Kougyou vol 19
sansan_randd
1
310
技術職じゃない私がVibe Codingで感じた、AGIが身近になる未来
blueb
0
120
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Agile that works and the tools we love
rasmusluckow
329
21k
A designer walks into a library…
pauljervisheath
206
24k
RailsConf 2023
tenderlove
30
1.1k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
The Invisible Side of Design
smashingmag
299
51k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Transcript
Let’s go Nix-ing! Taming container environment maintenance
Who am I? Jérôme Vieilledent He/him Product Manager @jvieilledent https://connect.symfony
.com/profile/lolautruche
Containers on Platform.sh
• Yes, we’re using containers! • LXC based • Industrialized
orchestration (Manufacture) • Debian ❤ Platform.sh containers facts
71 images for applications • PHP (11) • Golang (12)
• Java (10) • NodeJS (9) • Python (8) • DotNet (7) • Ruby (6) • Elixir (5) • Lisp (2) • Rust (1) Platform.sh containers facts
95 images for services • PostgreSQL (8) • MariaDB/MySQL (11)
• Headless Chrome (10) • Elasticsearch/OpenSearch (17) • InfluxDB (5) • Kafka (9) • Memcached (2) • MongoDB Enterprise (5) • RabbitMQ (8) • Redis (8) • Solr (12) • Varnish (5) • … Platform.sh containers facts
166 images to maintain 🤯
What about the packages you need?
Let’s add a few packages 📦 My list for 🎅
• PHP 8.3 • Python 2.7 (old build script) • ImageMagick 6 (breaking changes in v7 I’m too lazy to look at) • LibreOffice (because, why not?)
Let’s add a few packages 📦 Credits: XKCD - https://xkcd.com/1579
My list for 🎅 • PHP 8.3 • Some eerie PHP extension • Python 2.7 (old build script) • ImageMagick v6 (breaking changes in v7 I’m too lazy to look at) • LibreOffice (because, why not?)
What’s Nix-t?
• Functional package manager • Packages are treated like values
+ Built in total isolation + No undeclared dependencies + If it works on a machine, it will also work on another machine What’s Nix?
• Every package lies in the Nix store • Each
package has its files in the Nix store + /nix/store/wyywjj50…-php-8.3.0 + The hash is a unique identifier capturing the package and all its dependencies • Makes it seamless to have several versions of the same package /nix/store
• Supported by a functional language + Nix Expressions •
80,000+ packages available /nix/store
/nix/store
Let’s try again (demo) 📦 My list for 🎅 •
PHP 8.3 • Some eerie PHP extension • Python 2.7 (old build script) • ImageMagick v6 (breaking changes in v7 I’m too lazy to look at) • LibreOffice (because, why not?)
166 images to maintain 🤯 1(ish) composable image to maintain
😎
Thank you! Jérôme Vieilledent Product Manager
[email protected]
None