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
86
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Let's go Nix-ing!
Jérôme Vieilledent
December 11, 2023
More Decks by Jérôme Vieilledent
See All by Jérôme Vieilledent
Observability.tools.pdf
lolautruche
0
85
Architecture Inutile ?
lolautruche
2
2k
Other Decks in Technology
See All in Technology
今こそ聞きたいソフトウェア設計 ドメイン駆動設計再入門
masuda220
PRO
7
2.2k
QAタスクをスキル化したいときに考えること
aomoriringo
0
160
データエンジニアこそ組織のオントロジーに向き合うべき — 問いに答えるAIから、事業を動かすAIへ
gappy50
7
3.2k
ウォーターフォール開発案件のPMとしてAI活用を模索している話
hatahata021
3
280
最高のシステムプロンプトを作るためにフィードバック機能を導入した話
alchemy1115
1
300
「待ち時間」の消滅と「自我消耗」の加速:生成AI時代のエンジニアを救うメンタル・リソース管理
poropinai1966
0
420
AI駆動開発は個人技からチーム戦へ:組織でAIを使いこなすための実践設計
moongift
PRO
0
420
論語・武士道・産業革命から見る かわるもの、かわらないもの
ichimichi
8
2.2k
実践が先生だった— 新卒サーバーエンジニア1年目のリアル
mixi_engineers
PRO
0
240
運用を犠牲にせずコストを制御し事業成長を支える B2B SaaS ID管理基盤におけるS3 Tableのログストレージ活用
kaminashi
1
160
クラウドセキュリティ入門 ~安全なクラウド利用のための基礎知識~
lhazy
8
7.3k
Issue設計から始める仕様駆動開発 / 20260731 Mizuki Hirata
shift_evolve
PRO
1
120
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Context Engineering - Making Every Token Count
addyosmani
9
1k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
Ruling the World: When Life Gets Gamed
codingconduct
0
290
WCS-LA-2024
lcolladotor
0
780
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
From π to Pie charts
rasagy
0
240
Bash Introduction
62gerente
615
220k
Designing for Timeless Needs
cassininazir
1
430
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
520
Abbi's Birthday
coloredviolet
3
9k
Exploring anti-patterns in Rails
aemeredith
3
450
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