SlideShare a Scribd company logo
Continuous Delivery. Continuous DevOps. KYIV, 2020
Локально распределенное окружение
разработки программного обеспечения
+ kubernetes
Continuous Delivery. Continuous DevOps. KYIV, 2020
Погорелов Сергей,
Software Developer
20+ лет опыта эксплуатации и разработки разных
систем с использованием разных технологий :)
С 2014 года в роли Python Developer и DevOps.
Continuous Delivery. Continuous DevOps. KYIV, 2020
Локально окружение разработки
1. Это то с чем работают все каждый рабочий день
2. должно быть удобно и понятно всем
3. очень разные задачи …. фронт, бек, дизайн, тестирование …
4. Должно постоянно развиваться, невозможно заморозить состояние
5. Весь стек приложения в одном окружении но не каждому нужно все
6. …...
Continuous Delivery. Continuous DevOps. KYIV, 2020
Database
Back
Front nginx
Database
Back
Front
nginx local
Database
Back
Front
nginx dev
nginx prod
Front
Front
Back
Back
CI/CD
Database
Continuous Delivery. Continuous DevOps. KYIV, 2020
nginx
Database
Back
Front
dev | staging | prod
CI/CD
Continuous Delivery. Continuous DevOps. KYIV, 2020
● локальное окружение не приспособлено для распределенной
работы
● локальное окружение как правило "не секьюрно"
● Синхронизация через “всем скачать новую версию”
● Часто оно очень сильно отличается от тестовых серверов в
облаке или датацентре
● Нет универсальных решений для построения локального
окружения разработчика
проблемы
Continuous Delivery. Continuous DevOps. KYIV, 2020
локальное окружение не приспособлено для распределенной работы
У меня на компе все работает … а у меня нет … ну я буду в офисе
там встретимся и проверим … а когда ?
….
Сколько времени нужно для начала работы над проектом
от 30 минут до 2+х недель?
Continuous Delivery. Continuous DevOps. KYIV, 2020
nginx
Database
Back
Front
logs
monitoring
Continuous Delivery. Continuous DevOps. KYIV, 2020
Локальное окружение как правило "не секьюрно"
….. есть такой сервис который по токену и у него нет тестовой версии а
без него проект не стартует
….. а это .env файлик с токенами который в гит нельзя но мы всем его по
почте разошлем
….. ну все ж NDA подписали и диски мы шифруем ….
Continuous Delivery. Continuous DevOps. KYIV, 2020
правила, обучение … не знаю что лучше
решает проблему
идеально когда нет ничего что можно
потерять но это не реально
Continuous Delivery. Continuous DevOps. KYIV, 2020
Синхронизация через “всем скачать новую версию”
….. я обновил образ с библиотеками и теперь всем нужно его скачать :) я
это вчера (или неделю назад) ночью написал в общий канал
….. в мастере обновили конфиги всем нужно “смерджить”
….. в почте новый файл с токенами и ключами
Continuous Delivery. Continuous DevOps. KYIV, 2020
nginx
Database
Back
Front
logs
monitoring
local cloud
parameter storage
Continuous Delivery. Continuous DevOps. KYIV, 2020
сильно отличается от тестовых серверов в облаке или датацентре
DNS CDN
Load Balancerstatic
Load Balancer
App server 1
App server N
Database
worker 1
worker N
Queue
Database
Read Repl
error logger
etc
nginx
Database
Back
Front
Continuous Delivery. Continuous DevOps. KYIV, 2020
Нет универсальных решений для построения локального окружения
разработчика
На самом деле есть и довольно много:
draft.sh
skaffold.dev
garden.io
microk8s.io
okteto.com
Continuous Delivery. Continuous DevOps. KYIV, 2020
VPC or data center
Private Subnet
Developer Device
logs
monitoring
database
nginx
Database
Back
Front
VPN .. Proxy .. etc
Continuous Delivery. Continuous DevOps. KYIV, 2020
Тоже самое, но с использованием современных
инструментов
Continuous Delivery. Continuous DevOps. KYIV, 2020
WireGuard server
Continuous Delivery. Continuous DevOps. KYIV, 2020
WireGuard client
Continuous Delivery. Continuous DevOps. KYIV, 2020
install k3s demo
Continuous Delivery. Continuous DevOps. KYIV, 2020
add dev node demo
Continuous Delivery. Continuous DevOps. KYIV, 2020
cloud
local k8s node
local OS
minio (kv object store compatible with Amazon S3)
python Flask app - DaemonSet
локально - код проекта localhost:5000
Continuous Delivery. Continuous DevOps. KYIV, 2020
● локальное окружение не приспособлено для распределенной
работы
● локальное окружение как правило "не секьюрно"
● Синхронизация через “всем скачать новую версию”
● Часто оно очень сильно отличается от тестовых серверов в
облаке или датацентре
● Нет универсальных решений для построения локального
окружения разработчика
проблемы
Continuous Delivery. Continuous DevOps. KYIV, 2020
VPC 2
Device 1
Device 2
WireGuard VPN
Device 3
VPC 1
k3s agent +
Port
Forwarding
k3s
master
node
k3s node
k3s agent
k3s
node
key
value
etc...
DaemonSet + volume
WSL 2 VM
k3s agent
...
something ...
Continuous Delivery. Continuous DevOps. KYIV, 2020
links
● github : https://github.com/DDEFramework/DevOpsFestDemo
● k3s : https://k3s.io/
● k3sup : https://github.com/alexellis/k3sup
● Kilo : https://github.com/squat/kilo
● WireGuard : https://www.wireguard.com/

More Related Content

What's hot

Как приручить реактивное программирование
Как приручить реактивное программированиеКак приручить реактивное программирование
Как приручить реактивное программирование
DotNetConf
 
TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TК°Conf. Микросервисы и Docker. Глеб Паньшин.TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TKConf
 
Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"
Fwdays
 
Continuous Delivery with Jenkins: Lessons Learned
Continuous Delivery with Jenkins: Lessons LearnedContinuous Delivery with Jenkins: Lessons Learned
Continuous Delivery with Jenkins: Lessons Learned
Aleksandr Tarasov
 
Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)
Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)
Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)
Ontico
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous Integration
COMAQA.BY
 
Kubernetes
KubernetesKubernetes
Kubernetes
SQALab
 
Jenkins Imperative Pipeline vs Declarative Pipeline
Jenkins Imperative Pipeline vs Declarative Pipeline Jenkins Imperative Pipeline vs Declarative Pipeline
Jenkins Imperative Pipeline vs Declarative Pipeline
Кирилл Толкачёв
 
Автоматизируй это. Кирилл Тихонов ➠ CoreHard Autumn 2019
Автоматизируй это. Кирилл Тихонов ➠  CoreHard Autumn 2019Автоматизируй это. Кирилл Тихонов ➠  CoreHard Autumn 2019
Автоматизируй это. Кирилл Тихонов ➠ CoreHard Autumn 2019
corehard_by
 
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
Омские ИТ-субботники
 
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. ВнутренностиSPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
Oleg Nenashev
 
Continuous Integration for C++ engineers
Continuous Integration for C++ engineersContinuous Integration for C++ engineers
Continuous Integration for C++ engineers
corehard_by
 
Continuous Integration для C++ разработчика
Continuous Integration для C++ разработчикаContinuous Integration для C++ разработчика
Continuous Integration для C++ разработчика
Pavel Filonov
 
Docker. Основы
Docker. ОсновыDocker. Основы
Docker. Основы
Ivan Miniailenko
 
Docker - быстро, просто, наглядно
Docker - быстро, просто, наглядноDocker - быстро, просто, наглядно
Docker - быстро, просто, наглядно
FallenKain
 
Jenkins в docker in mesos in ...
Jenkins в docker in mesos in ...Jenkins в docker in mesos in ...
Jenkins в docker in mesos in ...
Кирилл Толкачёв
 
Мастер класс- Maven + Jenkins
Мастер класс- Maven + JenkinsМастер класс- Maven + Jenkins
Мастер класс- Maven + JenkinsValentin Fedoskin
 
A new way to compile
A new way to compileA new way to compile
A new way to compile
Sergey Karashevich
 
Python Development process in Yandex
Python Development process in YandexPython Development process in Yandex
Python Development process in Yandex
aviatakz
 
Клуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps EveningКлуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps Evening
Artjoker
 

What's hot (20)

Как приручить реактивное программирование
Как приручить реактивное программированиеКак приручить реактивное программирование
Как приручить реактивное программирование
 
TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TК°Conf. Микросервисы и Docker. Глеб Паньшин.TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TК°Conf. Микросервисы и Docker. Глеб Паньшин.
 
Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"
 
Continuous Delivery with Jenkins: Lessons Learned
Continuous Delivery with Jenkins: Lessons LearnedContinuous Delivery with Jenkins: Lessons Learned
Continuous Delivery with Jenkins: Lessons Learned
 
Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)
Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)
Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous Integration
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Jenkins Imperative Pipeline vs Declarative Pipeline
Jenkins Imperative Pipeline vs Declarative Pipeline Jenkins Imperative Pipeline vs Declarative Pipeline
Jenkins Imperative Pipeline vs Declarative Pipeline
 
Автоматизируй это. Кирилл Тихонов ➠ CoreHard Autumn 2019
Автоматизируй это. Кирилл Тихонов ➠  CoreHard Autumn 2019Автоматизируй это. Кирилл Тихонов ➠  CoreHard Autumn 2019
Автоматизируй это. Кирилл Тихонов ➠ CoreHard Autumn 2019
 
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
 
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. ВнутренностиSPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
 
Continuous Integration for C++ engineers
Continuous Integration for C++ engineersContinuous Integration for C++ engineers
Continuous Integration for C++ engineers
 
Continuous Integration для C++ разработчика
Continuous Integration для C++ разработчикаContinuous Integration для C++ разработчика
Continuous Integration для C++ разработчика
 
Docker. Основы
Docker. ОсновыDocker. Основы
Docker. Основы
 
Docker - быстро, просто, наглядно
Docker - быстро, просто, наглядноDocker - быстро, просто, наглядно
Docker - быстро, просто, наглядно
 
Jenkins в docker in mesos in ...
Jenkins в docker in mesos in ...Jenkins в docker in mesos in ...
Jenkins в docker in mesos in ...
 
Мастер класс- Maven + Jenkins
Мастер класс- Maven + JenkinsМастер класс- Maven + Jenkins
Мастер класс- Maven + Jenkins
 
A new way to compile
A new way to compileA new way to compile
A new way to compile
 
Python Development process in Yandex
Python Development process in YandexPython Development process in Yandex
Python Development process in Yandex
 
Клуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps EveningКлуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps Evening
 

Similar to DevOps Fest 2020. Сергей Погорелов. Локально распределенное окружение разработки программного обеспечения с Kubernetes

Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo groupИгорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
Alina Vilk
 
Wgforge CI/CD
Wgforge CI/CDWgforge CI/CD
SecDevOps. Разработка, DevOps и безопасность.
SecDevOps. Разработка, DevOps и безопасность.SecDevOps. Разработка, DevOps и безопасность.
SecDevOps. Разработка, DevOps и безопасность.
Valery Boronin
 
А так ли нужен DevOps инженер в проекте?
А так ли нужен DevOps инженер в проекте?А так ли нужен DevOps инженер в проекте?
А так ли нужен DevOps инженер в проекте?
Mad Devs
 
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous DeliveryJenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
SQALab
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON
 
Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?
Ruslan Sharipov
 
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
MskDotNet Community
 
It meetup cd
It meetup cdIt meetup cd
It meetup cd
Victoria Astapenko
 
DevOps
DevOps DevOps
Continous Integration
Continous IntegrationContinous Integration
Continous Integration
GetDev.NET
 
Процесс разработки и тестирования с Docker + gitlab ci
Процесс разработки и тестирования с  Docker + gitlab ciПроцесс разработки и тестирования с  Docker + gitlab ci
Процесс разработки и тестирования с Docker + gitlab ci
Александр Сигачев
 
Михаил Боднарчук "Docker для PHP разработчиков"
Михаил Боднарчук "Docker для PHP разработчиков" Михаил Боднарчук "Docker для PHP разработчиков"
Михаил Боднарчук "Docker для PHP разработчиков"
Fwdays
 
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs..."How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
Provectus
 
Непрерывная интеграция Python-проектов в Яндексе
Непрерывная интеграция Python-проектов в ЯндексеНепрерывная интеграция Python-проектов в Яндексе
Непрерывная интеграция Python-проектов в Яндексе
Andrey Kazarinov
 
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
Tanya Denisyuk
 
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Ontico
 
Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)
Vladimir Bakhov
 
Эволюционный дизайн. Joker Students Day 2016
Эволюционный дизайн. Joker Students Day 2016Эволюционный дизайн. Joker Students Day 2016
Эволюционный дизайн. Joker Students Day 2016
Кирилл Толкачёв
 
Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаAlexander Kirillov
 

Similar to DevOps Fest 2020. Сергей Погорелов. Локально распределенное окружение разработки программного обеспечения с Kubernetes (20)

Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo groupИгорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
 
Wgforge CI/CD
Wgforge CI/CDWgforge CI/CD
Wgforge CI/CD
 
SecDevOps. Разработка, DevOps и безопасность.
SecDevOps. Разработка, DevOps и безопасность.SecDevOps. Разработка, DevOps и безопасность.
SecDevOps. Разработка, DevOps и безопасность.
 
А так ли нужен DevOps инженер в проекте?
А так ли нужен DevOps инженер в проекте?А так ли нужен DevOps инженер в проекте?
А так ли нужен DevOps инженер в проекте?
 
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous DeliveryJenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
 
Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?
 
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
 
It meetup cd
It meetup cdIt meetup cd
It meetup cd
 
DevOps
DevOps DevOps
DevOps
 
Continous Integration
Continous IntegrationContinous Integration
Continous Integration
 
Процесс разработки и тестирования с Docker + gitlab ci
Процесс разработки и тестирования с  Docker + gitlab ciПроцесс разработки и тестирования с  Docker + gitlab ci
Процесс разработки и тестирования с Docker + gitlab ci
 
Михаил Боднарчук "Docker для PHP разработчиков"
Михаил Боднарчук "Docker для PHP разработчиков" Михаил Боднарчук "Docker для PHP разработчиков"
Михаил Боднарчук "Docker для PHP разработчиков"
 
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs..."How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
 
Непрерывная интеграция Python-проектов в Яндексе
Непрерывная интеграция Python-проектов в ЯндексеНепрерывная интеграция Python-проектов в Яндексе
Непрерывная интеграция Python-проектов в Яндексе
 
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
 
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
 
Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)
 
Эволюционный дизайн. Joker Students Day 2016
Эволюционный дизайн. Joker Students Day 2016Эволюционный дизайн. Joker Students Day 2016
Эволюционный дизайн. Joker Students Day 2016
 
Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчика
 

More from DevOps_Fest

DevOps Fest 2020. Сергій Калінець. Building Data Streaming Platform with Apac...
DevOps Fest 2020. Сергій Калінець. Building Data Streaming Platform with Apac...DevOps Fest 2020. Сергій Калінець. Building Data Streaming Platform with Apac...
DevOps Fest 2020. Сергій Калінець. Building Data Streaming Platform with Apac...
DevOps_Fest
 
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CDDevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps_Fest
 
DevOps Fest 2020. Барух Садогурский и Леонид Игольник. Устраиваем DevOps без ...
DevOps Fest 2020. Барух Садогурский и Леонид Игольник. Устраиваем DevOps без ...DevOps Fest 2020. Барух Садогурский и Леонид Игольник. Устраиваем DevOps без ...
DevOps Fest 2020. Барух Садогурский и Леонид Игольник. Устраиваем DevOps без ...
DevOps_Fest
 
DevOps Fest 2020. James Spiteri. Advanced Security Operations with Elastic Se...
DevOps Fest 2020. James Spiteri. Advanced Security Operations with Elastic Se...DevOps Fest 2020. James Spiteri. Advanced Security Operations with Elastic Se...
DevOps Fest 2020. James Spiteri. Advanced Security Operations with Elastic Se...
DevOps_Fest
 
DevOps Fest 2020. Pavlo Repalo. Edge Computing: Appliance and Challanges
DevOps Fest 2020. Pavlo Repalo. Edge Computing: Appliance and ChallangesDevOps Fest 2020. Pavlo Repalo. Edge Computing: Appliance and Challanges
DevOps Fest 2020. Pavlo Repalo. Edge Computing: Appliance and Challanges
DevOps_Fest
 
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
DevOps_Fest
 
DevOps Fest 2020. Павел Жданов та Никора Никита. Построение процесса CI\CD дл...
DevOps Fest 2020. Павел Жданов та Никора Никита. Построение процесса CI\CD дл...DevOps Fest 2020. Павел Жданов та Никора Никита. Построение процесса CI\CD дл...
DevOps Fest 2020. Павел Жданов та Никора Никита. Построение процесса CI\CD дл...
DevOps_Fest
 
DevOps Fest 2020. Станислав Коленкин. How to connect non-connectible: tips, t...
DevOps Fest 2020. Станислав Коленкин. How to connect non-connectible: tips, t...DevOps Fest 2020. Станислав Коленкин. How to connect non-connectible: tips, t...
DevOps Fest 2020. Станислав Коленкин. How to connect non-connectible: tips, t...
DevOps_Fest
 
DevOps Fest 2020. Андрій Шабалін. Distributed Tracing for microservices with ...
DevOps Fest 2020. Андрій Шабалін. Distributed Tracing for microservices with ...DevOps Fest 2020. Андрій Шабалін. Distributed Tracing for microservices with ...
DevOps Fest 2020. Андрій Шабалін. Distributed Tracing for microservices with ...
DevOps_Fest
 
DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCD
DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCDDevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCD
DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCD
DevOps_Fest
 
DevOps Fest 2020. Роман Орлов. Инфраструктура тестирования в Kubernetes
DevOps Fest 2020. Роман Орлов. Инфраструктура тестирования в KubernetesDevOps Fest 2020. Роман Орлов. Инфраструктура тестирования в Kubernetes
DevOps Fest 2020. Роман Орлов. Инфраструктура тестирования в Kubernetes
DevOps_Fest
 
DevOps Fest 2020. Андрей Шишенко. CI/CD for AWS Lambdas with Serverless frame...
DevOps Fest 2020. Андрей Шишенко. CI/CD for AWS Lambdas with Serverless frame...DevOps Fest 2020. Андрей Шишенко. CI/CD for AWS Lambdas with Serverless frame...
DevOps Fest 2020. Андрей Шишенко. CI/CD for AWS Lambdas with Serverless frame...
DevOps_Fest
 
DevOps Fest 2020. Александр Глущенко. Modern Enterprise Network Architecture ...
DevOps Fest 2020. Александр Глущенко. Modern Enterprise Network Architecture ...DevOps Fest 2020. Александр Глущенко. Modern Enterprise Network Architecture ...
DevOps Fest 2020. Александр Глущенко. Modern Enterprise Network Architecture ...
DevOps_Fest
 
DevOps Fest 2020. Виталий Складчиков. Сквозь монолитный enterprise к микросер...
DevOps Fest 2020. Виталий Складчиков. Сквозь монолитный enterprise к микросер...DevOps Fest 2020. Виталий Складчиков. Сквозь монолитный enterprise к микросер...
DevOps Fest 2020. Виталий Складчиков. Сквозь монолитный enterprise к микросер...
DevOps_Fest
 
DevOps Fest 2020. Денис Медведенко. Управление сложными многокомпонентными ин...
DevOps Fest 2020. Денис Медведенко. Управление сложными многокомпонентными ин...DevOps Fest 2020. Денис Медведенко. Управление сложными многокомпонентными ин...
DevOps Fest 2020. Денис Медведенко. Управление сложными многокомпонентными ин...
DevOps_Fest
 
DevOps Fest 2020. Павел Галушко. Что делать devops'у если у вас захотели mach...
DevOps Fest 2020. Павел Галушко. Что делать devops'у если у вас захотели mach...DevOps Fest 2020. Павел Галушко. Что делать devops'у если у вас захотели mach...
DevOps Fest 2020. Павел Галушко. Что делать devops'у если у вас захотели mach...
DevOps_Fest
 
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOps
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOpsDevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOps
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOps
DevOps_Fest
 
DevOps Fest 2020. Philipp Krenn. Scale Your Auditing Events
DevOps Fest 2020. Philipp Krenn. Scale Your Auditing EventsDevOps Fest 2020. Philipp Krenn. Scale Your Auditing Events
DevOps Fest 2020. Philipp Krenn. Scale Your Auditing Events
DevOps_Fest
 
DevOps Fest 2020. Володимир Мельник. TuchaKube - перша українська DevOps/Host...
DevOps Fest 2020. Володимир Мельник. TuchaKube - перша українська DevOps/Host...DevOps Fest 2020. Володимир Мельник. TuchaKube - перша українська DevOps/Host...
DevOps Fest 2020. Володимир Мельник. TuchaKube - перша українська DevOps/Host...
DevOps_Fest
 
DevOps Fest 2020. Денис Васильев. Let's make it KUL! Kubernetes Ultra Light
DevOps Fest 2020. Денис Васильев. Let's make it KUL! Kubernetes Ultra LightDevOps Fest 2020. Денис Васильев. Let's make it KUL! Kubernetes Ultra Light
DevOps Fest 2020. Денис Васильев. Let's make it KUL! Kubernetes Ultra Light
DevOps_Fest
 

More from DevOps_Fest (20)

DevOps Fest 2020. Сергій Калінець. Building Data Streaming Platform with Apac...
DevOps Fest 2020. Сергій Калінець. Building Data Streaming Platform with Apac...DevOps Fest 2020. Сергій Калінець. Building Data Streaming Platform with Apac...
DevOps Fest 2020. Сергій Калінець. Building Data Streaming Platform with Apac...
 
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CDDevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
 
DevOps Fest 2020. Барух Садогурский и Леонид Игольник. Устраиваем DevOps без ...
DevOps Fest 2020. Барух Садогурский и Леонид Игольник. Устраиваем DevOps без ...DevOps Fest 2020. Барух Садогурский и Леонид Игольник. Устраиваем DevOps без ...
DevOps Fest 2020. Барух Садогурский и Леонид Игольник. Устраиваем DevOps без ...
 
DevOps Fest 2020. James Spiteri. Advanced Security Operations with Elastic Se...
DevOps Fest 2020. James Spiteri. Advanced Security Operations with Elastic Se...DevOps Fest 2020. James Spiteri. Advanced Security Operations with Elastic Se...
DevOps Fest 2020. James Spiteri. Advanced Security Operations with Elastic Se...
 
DevOps Fest 2020. Pavlo Repalo. Edge Computing: Appliance and Challanges
DevOps Fest 2020. Pavlo Repalo. Edge Computing: Appliance and ChallangesDevOps Fest 2020. Pavlo Repalo. Edge Computing: Appliance and Challanges
DevOps Fest 2020. Pavlo Repalo. Edge Computing: Appliance and Challanges
 
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
 
DevOps Fest 2020. Павел Жданов та Никора Никита. Построение процесса CI\CD дл...
DevOps Fest 2020. Павел Жданов та Никора Никита. Построение процесса CI\CD дл...DevOps Fest 2020. Павел Жданов та Никора Никита. Построение процесса CI\CD дл...
DevOps Fest 2020. Павел Жданов та Никора Никита. Построение процесса CI\CD дл...
 
DevOps Fest 2020. Станислав Коленкин. How to connect non-connectible: tips, t...
DevOps Fest 2020. Станислав Коленкин. How to connect non-connectible: tips, t...DevOps Fest 2020. Станислав Коленкин. How to connect non-connectible: tips, t...
DevOps Fest 2020. Станислав Коленкин. How to connect non-connectible: tips, t...
 
DevOps Fest 2020. Андрій Шабалін. Distributed Tracing for microservices with ...
DevOps Fest 2020. Андрій Шабалін. Distributed Tracing for microservices with ...DevOps Fest 2020. Андрій Шабалін. Distributed Tracing for microservices with ...
DevOps Fest 2020. Андрій Шабалін. Distributed Tracing for microservices with ...
 
DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCD
DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCDDevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCD
DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCD
 
DevOps Fest 2020. Роман Орлов. Инфраструктура тестирования в Kubernetes
DevOps Fest 2020. Роман Орлов. Инфраструктура тестирования в KubernetesDevOps Fest 2020. Роман Орлов. Инфраструктура тестирования в Kubernetes
DevOps Fest 2020. Роман Орлов. Инфраструктура тестирования в Kubernetes
 
DevOps Fest 2020. Андрей Шишенко. CI/CD for AWS Lambdas with Serverless frame...
DevOps Fest 2020. Андрей Шишенко. CI/CD for AWS Lambdas with Serverless frame...DevOps Fest 2020. Андрей Шишенко. CI/CD for AWS Lambdas with Serverless frame...
DevOps Fest 2020. Андрей Шишенко. CI/CD for AWS Lambdas with Serverless frame...
 
DevOps Fest 2020. Александр Глущенко. Modern Enterprise Network Architecture ...
DevOps Fest 2020. Александр Глущенко. Modern Enterprise Network Architecture ...DevOps Fest 2020. Александр Глущенко. Modern Enterprise Network Architecture ...
DevOps Fest 2020. Александр Глущенко. Modern Enterprise Network Architecture ...
 
DevOps Fest 2020. Виталий Складчиков. Сквозь монолитный enterprise к микросер...
DevOps Fest 2020. Виталий Складчиков. Сквозь монолитный enterprise к микросер...DevOps Fest 2020. Виталий Складчиков. Сквозь монолитный enterprise к микросер...
DevOps Fest 2020. Виталий Складчиков. Сквозь монолитный enterprise к микросер...
 
DevOps Fest 2020. Денис Медведенко. Управление сложными многокомпонентными ин...
DevOps Fest 2020. Денис Медведенко. Управление сложными многокомпонентными ин...DevOps Fest 2020. Денис Медведенко. Управление сложными многокомпонентными ин...
DevOps Fest 2020. Денис Медведенко. Управление сложными многокомпонентными ин...
 
DevOps Fest 2020. Павел Галушко. Что делать devops'у если у вас захотели mach...
DevOps Fest 2020. Павел Галушко. Что делать devops'у если у вас захотели mach...DevOps Fest 2020. Павел Галушко. Что делать devops'у если у вас захотели mach...
DevOps Fest 2020. Павел Галушко. Что делать devops'у если у вас захотели mach...
 
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOps
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOpsDevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOps
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOps
 
DevOps Fest 2020. Philipp Krenn. Scale Your Auditing Events
DevOps Fest 2020. Philipp Krenn. Scale Your Auditing EventsDevOps Fest 2020. Philipp Krenn. Scale Your Auditing Events
DevOps Fest 2020. Philipp Krenn. Scale Your Auditing Events
 
DevOps Fest 2020. Володимир Мельник. TuchaKube - перша українська DevOps/Host...
DevOps Fest 2020. Володимир Мельник. TuchaKube - перша українська DevOps/Host...DevOps Fest 2020. Володимир Мельник. TuchaKube - перша українська DevOps/Host...
DevOps Fest 2020. Володимир Мельник. TuchaKube - перша українська DevOps/Host...
 
DevOps Fest 2020. Денис Васильев. Let's make it KUL! Kubernetes Ultra Light
DevOps Fest 2020. Денис Васильев. Let's make it KUL! Kubernetes Ultra LightDevOps Fest 2020. Денис Васильев. Let's make it KUL! Kubernetes Ultra Light
DevOps Fest 2020. Денис Васильев. Let's make it KUL! Kubernetes Ultra Light
 

DevOps Fest 2020. Сергей Погорелов. Локально распределенное окружение разработки программного обеспечения с Kubernetes

  • 1. Continuous Delivery. Continuous DevOps. KYIV, 2020 Локально распределенное окружение разработки программного обеспечения + kubernetes
  • 2. Continuous Delivery. Continuous DevOps. KYIV, 2020 Погорелов Сергей, Software Developer 20+ лет опыта эксплуатации и разработки разных систем с использованием разных технологий :) С 2014 года в роли Python Developer и DevOps.
  • 3. Continuous Delivery. Continuous DevOps. KYIV, 2020 Локально окружение разработки 1. Это то с чем работают все каждый рабочий день 2. должно быть удобно и понятно всем 3. очень разные задачи …. фронт, бек, дизайн, тестирование … 4. Должно постоянно развиваться, невозможно заморозить состояние 5. Весь стек приложения в одном окружении но не каждому нужно все 6. …...
  • 4. Continuous Delivery. Continuous DevOps. KYIV, 2020 Database Back Front nginx Database Back Front nginx local Database Back Front nginx dev nginx prod Front Front Back Back CI/CD Database
  • 5. Continuous Delivery. Continuous DevOps. KYIV, 2020 nginx Database Back Front dev | staging | prod CI/CD
  • 6. Continuous Delivery. Continuous DevOps. KYIV, 2020 ● локальное окружение не приспособлено для распределенной работы ● локальное окружение как правило "не секьюрно" ● Синхронизация через “всем скачать новую версию” ● Часто оно очень сильно отличается от тестовых серверов в облаке или датацентре ● Нет универсальных решений для построения локального окружения разработчика проблемы
  • 7. Continuous Delivery. Continuous DevOps. KYIV, 2020 локальное окружение не приспособлено для распределенной работы У меня на компе все работает … а у меня нет … ну я буду в офисе там встретимся и проверим … а когда ? …. Сколько времени нужно для начала работы над проектом от 30 минут до 2+х недель?
  • 8. Continuous Delivery. Continuous DevOps. KYIV, 2020 nginx Database Back Front logs monitoring
  • 9. Continuous Delivery. Continuous DevOps. KYIV, 2020 Локальное окружение как правило "не секьюрно" ….. есть такой сервис который по токену и у него нет тестовой версии а без него проект не стартует ….. а это .env файлик с токенами который в гит нельзя но мы всем его по почте разошлем ….. ну все ж NDA подписали и диски мы шифруем ….
  • 10. Continuous Delivery. Continuous DevOps. KYIV, 2020 правила, обучение … не знаю что лучше решает проблему идеально когда нет ничего что можно потерять но это не реально
  • 11. Continuous Delivery. Continuous DevOps. KYIV, 2020 Синхронизация через “всем скачать новую версию” ….. я обновил образ с библиотеками и теперь всем нужно его скачать :) я это вчера (или неделю назад) ночью написал в общий канал ….. в мастере обновили конфиги всем нужно “смерджить” ….. в почте новый файл с токенами и ключами
  • 12. Continuous Delivery. Continuous DevOps. KYIV, 2020 nginx Database Back Front logs monitoring local cloud parameter storage
  • 13. Continuous Delivery. Continuous DevOps. KYIV, 2020 сильно отличается от тестовых серверов в облаке или датацентре DNS CDN Load Balancerstatic Load Balancer App server 1 App server N Database worker 1 worker N Queue Database Read Repl error logger etc nginx Database Back Front
  • 14. Continuous Delivery. Continuous DevOps. KYIV, 2020 Нет универсальных решений для построения локального окружения разработчика На самом деле есть и довольно много: draft.sh skaffold.dev garden.io microk8s.io okteto.com
  • 15. Continuous Delivery. Continuous DevOps. KYIV, 2020 VPC or data center Private Subnet Developer Device logs monitoring database nginx Database Back Front VPN .. Proxy .. etc
  • 16. Continuous Delivery. Continuous DevOps. KYIV, 2020 Тоже самое, но с использованием современных инструментов
  • 17. Continuous Delivery. Continuous DevOps. KYIV, 2020 WireGuard server
  • 18. Continuous Delivery. Continuous DevOps. KYIV, 2020 WireGuard client
  • 19. Continuous Delivery. Continuous DevOps. KYIV, 2020 install k3s demo
  • 20. Continuous Delivery. Continuous DevOps. KYIV, 2020 add dev node demo
  • 21. Continuous Delivery. Continuous DevOps. KYIV, 2020 cloud local k8s node local OS minio (kv object store compatible with Amazon S3) python Flask app - DaemonSet локально - код проекта localhost:5000
  • 22. Continuous Delivery. Continuous DevOps. KYIV, 2020 ● локальное окружение не приспособлено для распределенной работы ● локальное окружение как правило "не секьюрно" ● Синхронизация через “всем скачать новую версию” ● Часто оно очень сильно отличается от тестовых серверов в облаке или датацентре ● Нет универсальных решений для построения локального окружения разработчика проблемы
  • 23. Continuous Delivery. Continuous DevOps. KYIV, 2020 VPC 2 Device 1 Device 2 WireGuard VPN Device 3 VPC 1 k3s agent + Port Forwarding k3s master node k3s node k3s agent k3s node key value etc... DaemonSet + volume WSL 2 VM k3s agent ... something ...
  • 24. Continuous Delivery. Continuous DevOps. KYIV, 2020 links ● github : https://github.com/DDEFramework/DevOpsFestDemo ● k3s : https://k3s.io/ ● k3sup : https://github.com/alexellis/k3sup ● Kilo : https://github.com/squat/kilo ● WireGuard : https://www.wireguard.com/

Editor's Notes

  1. рассказать о программе 20 сек и сама программа 1 типичный путь проекта 2 рассмотрим проблемы и стандартный путь решения по каждой 3 почему локальное окружение это сложно и индивидуально 4 хорошее проверенное решение 5 видео 1 установка впн сервер + клтент 2 кластер мастер нода 3 подключаем дев ноду и запускаем проект 6 рассматриваем что получилось … можно вернутся к слайду 16 7 схема с использованием кубернетис и ее достоинства развитие проекта от прототипа локально до выхода в клауд/прод локальный конфиг, потом добавляем nginx или аналог как прокси, потом пишем конфигурацию для дев серверов и клауда и у нас появляется много вариантов конфигурации :) , потом внедряем CI|CD тулзу и темплейты конфигурации которая подставляет нужные переменные для разных окружений в темплейты и вообще все становится очень красиво . nginx в данном случае эт ореверс прокси скорее
  2. все красиво все довольны :) но что осталось на машинах разработчиков ? …. очень часто там то что и было … разные вариации локально установленных средств разработки или окружение в контейнерах которое ситуативно использует сервисы из dev окружения. В особо сложных случаях вообще нельзя проверить работу без деплоя в dev окружение что конечно не так уж и плохо но занимает время переключится быстрее
  3. то что не помешает так это логирование и мониторинг … мы можем сделать это достаточно легко и лучше б это было где то в облаке и с фильтром по разработчикам … это первый шаг в решении проблемы с распределенной работой
  4. если кто то не тот кто должен получит доступ к локальному окружению …. то что он там найдет ? шифрование диска поможет не всегда
  5. второй шаг не так очевиден …. но он влияет сразу на 2 пункта из списка проблем: синхронизация и секьюрити это кстати может помочь нам внедрять и дебажить CI/CD или же можно использовать storage из CI …. хотя …. это сильно зависит от того что использовать можно проверять при старте что у нас там изменилось и сделать параметры отвечающие за версию контейнера с библиотеками например …. тогда если что то критическое было обновлено то я увижу предупреждение на страте и не потрачу время на работу с устаревшим окружением также можно шифровать значения … не хранить их на локальном диске и добавить OTP .. много что можно :)
  6. в итоге что то можно проверить только на стейдже или проде ….. например как сообщения об ошибках и мониторинг будет выглядеть … но это ж мало кто видит так что и так ок :) у кого есть централизованный мониторинг и логирование ошибок для локальной разработки ? а отдельно от Dev и с фильтрацией по разработчикам ?
  7. и это не все … и они очень хороши, быстро развиваются …. но это все нужно учить и возможно менять структуру и разработчиков потом учить, и все равно хочется проще гибче. Главное что мы можем тт заметить это то что они основаны на кубернетис. Возможно можно сделать все более общим путем …
  8. это классическое решение проблемы которое достаточно давно и широко применяется … к сожалению обычно не на старте проекта
  9. kubernetes k3s k3sup WireGuard
  10. Container Network Interface k3s k3sup kilo