ІнфраструктураПідрозділ
DevOps
Як довести зміну з машини розробника до працюючої системи — повторювано й без церемоній. Три теми, що складаються одна на одну: пайплайн, що вирішує, чи зміна безпечна; формат образу, який робить «у мене працює» перевірюваним твердженням; і планувальник, що тримає результат запущеним. Кожна сторінка про механізм, а не про синтаксис конфігурації інструмента, — саме механізм і переноситься при зміні інструментів.
Що всередині
Усі сторінки цієї групи — і про що кожна з них.
- CI/CDСтадії, впорядковані за швидкістю падіння, і правило: артефакт збирають раз і просувають незмінним.ПайплайнОдин артефакт
- DockerШари, кеш збірки й чому важить порядок у Dockerfile, — а також чим контейнер є насправді на рівні ядра.ШариКеш
- KubernetesЦикл узгодження як єдина ідея: оголошуєш бажаний стан і лишаєш контролер сперечатися з реальністю.УзгодженняДекларативно
З чого почати
- Пайплайна ще немаєCI/CD. Впорядкуйте стадії за швидкістю падіння, перш ніж думати, який інструмент їх запускає.
- Збірки поводяться по-різномуDocker. Порядок шарів і кеш збірки пояснюють більшу частину різниці між швидкою та повільною збіркою.
- Kubernetes здається довільнимСпершу прочитайте про цикл узгодження. Кожен обʼєкт і кожен контролер — це та сама ідея, повторена ще раз.
Інше в цьому розділі
- ІнфраструктураІнфраструктура — це все, що перетворює код на щось працююче, за чим можна спостерігати, що можна змінювати й відкочувати. У розділі 11 тем у чотирьох групах: DevOps і пайплайн, який збирає один артефакт і просуває його незмінним; три великі хмари й те, як кожна стримує помилку; MLOps — ті самі задачі знову, але для моделі замість бінарника; і моніторинг, який робить інцидент відповідним на питання о третій ночі.
- ХмараТри провайдери, свідомо не порівняні за каталогом сервісів: каталоги сходяться, а таблиця можливостей застаріває того ж місяця, коли її написали. Кожна сторінка натомість бере один довговічний механізм: як AWS вирішує, чи дозволено запит, і як далі пошириться помилка; чого коштує провести межу в GCP; і чому Azure відділяє каталог від ресурсів. Засвойте ці три — і каталоги перестануть важити.
- Процес релізуЩо відбувається між «код змерджено» і «користувач це має», — а у здоровій команді це рішення, а не подія. Три теми: як планувати реліз, коли не можеш пообіцяти дату; яку модель гілкування витримає ваша швидкість рев’ю; і як записати, що змінилося, для тих, для кого воно змінилося.
Було корисно?
Поділіться з тим, хто працює над тією ж задачею.