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
70
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
44
Architecture Inutile ?
lolautruche
2
1.9k
Other Decks in Technology
See All in Technology
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
110
The Rise of LLMOps
asei
5
1.3k
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
170
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
680
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
410
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
130
20241120_JAWS_東京_ランチタイムLT#17_AWS認定全冠の先へ
tsumita
2
240
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.6k
Lambdaと地方とコミュニティ
miu_crescent
2
370
強いチームと開発生産性
onk
PRO
33
11k
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
120
Featured
See All Featured
The Invisible Side of Design
smashingmag
298
50k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Scaling GitHub
holman
458
140k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
860
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Building Adaptive Systems
keathley
38
2.3k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Into the Great Unknown - MozCon
thekraken
32
1.5k
Designing the Hi-DPI Web
ddemaree
280
34k
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