Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Building Continuous Delivery - DevOps Way
Search
Andrey Rebrov
October 12, 2013
Programming
400
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Building Continuous Delivery - DevOps Way
Andrey Rebrov
October 12, 2013
More Decks by Andrey Rebrov
See All by Andrey Rebrov
Роадмап в тысячу ли начинается с первого брифа
andrebrov
1
83
Agile в распределенной команде - история it-стартапа продающего духи онлайн
andrebrov
1
250
Тестирование в Agile для больших команд: путь трансформации
andrebrov
1
230
DevOps от и до - что, зачем и как
andrebrov
0
180
Тестирование в Agile: Q&A
andrebrov
0
790
Карго-культ инструментов в DevOps
andrebrov
0
390
Грабли автоматизации тестирования мобильного веба с помощью Selenium 2
andrebrov
0
170
Как инженерные практики помогают экономить бизнесу
andrebrov
2
240
Не превращайте ваши логи в клинопись
andrebrov
1
270
Other Decks in Programming
See All in Programming
JRuby: Past, Present, and Future
headius
0
220
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
190
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
470
TiDB Cloudのカスタムコントローラーによるオートスケール対応
takaidohigasi
0
140
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
420
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
160
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.3k
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
4
410
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
300
mrbgem 三角測量 開発
ogom
0
170
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
290
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
330
Featured
See All Featured
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
750
Designing Experiences People Love
moore
143
24k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.8k
Discover your Explorer Soul
emna__ayadi
2
1.3k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
590
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
390
Transcript
Building deployment pipeline: DevOps way Андрей Ребров Инженерный тренер ScrumTrek
None
Continuous Deployment - Ожидание
Continuous Deployment - Реальность
Инструменты разработки != инструменты админов
Недоверие Ops к Dev
«Прохладные истории» сломанных стендов
Решение • Обеспечить прозрачность процесса • Обеспечить качество поставок •
Свести dev и ops в одном месте
Delivery Pipeline – наш выбор
Это тоже delivery pipeline
None
Culture Automation Measurement Sharing
Culture
Automation • CI Server • Code Analysis • Auto Tests
• Configuration Management
CI Server • Рассмотрим на примере Jenkins
Что нужно 1. Ставим pipeline plugin 2. Делаем dependency между
задачами 3. Создаем новый pipeline view 4. …. 5. Profit!
Альтернативы
Configuration Management • VM control • OS control • Installation
control • …
Как неправильно
Например
Vagrant Vagrant::Config.run do |config| config.vm.box = "precise32" config.vm.box_url = http://files.vagrantup.com/precise32.box
config.vm.network :hostonly, "192.168.33.10” config.vm.share_folder("v-web", "/vagrant/www", "./www", :nfs => true) config.vm.share_folder("v-db", "/vagrant/db", "./db", :nfs => true) config.vm.forward_port 80, 8080 config.vm.provision :shell, :inline => "apt-get update --fix- missing” end
Docker from ubuntu:12.10 run apt-get update run DEBIAN_FRONTEND=noninteractive apt-get install
-q -y python run DEBIAN_FRONTEND=noninteractive apt-get install -q -y python-pip run pip install django run DEBIAN_FRONTEND=noninteractive apt-get install -q -y curl run curl -L https://github.com/shykes/helloflask/archive/ master.tar.gz | tar -xzv run cd helloflask-master && pip install -r requirements.txt
Нужно больше инструментов!
Еще больше!
None
Что важно • Useful reports • Useful logging • Vizualisation
– Dashboards – Graphs – …
Работаем с логами
Node Node Logstash Elas.cSearch Kibana
Как можно все это собрать
Запуск Lumberjack /opt/lumberjack/bin/lumberjack -- host your.logstash.host -- port port-for- these-logs
--ssl-ca-path /etc/ssl/ logstash.pub Для генерации ключей на logstash сервере: openssl req -x509 -newkey rsa:2048 -keyout /etc/ ssl/ logstash.key -out /etc/ssl/logstash.pub - nodes -days 365
Конфигурируем Logstash #1 input { lumberjack { type => "apache-access"
port => 3338 ssl_certificate => "/etc/ssl/logstash.pub" ssl_key => "/etc/ssl/logstash.key" } }
Конфигурируем Logstash #2 filter { date { type => "apache-access"
timestamp => "dd/MMM/yyyy:HH:mm:ss Z" } }
Конфигурируем Logstash #3 output { elasticsearch { embedded => false
cluster => logs host => "172.28.2.2" index => "apache-%{+YYYY.MM}" type => "apache-access" } }
Запуск Logstash /usr/bin/java -jar /opt/logstash/logstash.jar agent -f <path-to- your.conf> -l
<path-to-where-you-want-the.log>
Конфигурируем Elasticsearch cluster.name: logs index.number_of_replicas: 0 path.data: /elasticsearch/data path.work: /elasticsearch/work
path.logs: /elasticsearch/logs bootstrap.mlockall: true discovery.zen.ping.multicast.enabled: false
Запускаем Elasticsearch ./bin/elasticsearch –f или в фоне ./bin/elasticsearch
Запускаем Kibana ruby kibana.rb
Визуализация
Что есть на рынке
Graphite output { graphite { host => "10.10.10.10" port =>
2003 type => "system-netstats" metrics => [ hosts.%{@source_host}.netstats.interfaces.%{iface}.rxpck_s, "%{rxpck_s}”] } }
Что на выходе
Twitter @andrebrov E-mail
[email protected]
Skype rebrov.andrey Вопросы?