RSS

Комментарии

Мы долгое время использовали традиционные подходы к разработке, но после изучения поняли, как важны облачные практики. Особенно впечатлила информация о том, как микросервисы могут улучшить производительность приложений. Теперь мы уверенно интегрируем облачные технологии в наши проекты. Отличная статья для всех, кто хочет идти в ногу с современными тенденциями разработки!
Мой опыт подтверждает ваши слова относительно того, что Swarm — это просто абстракция, которая, на сколько это возможно, стирает границы между разными машинами. Пока что у меня на нём работает тестовый кластер, который изначально был запланирован только для внутрикорпоративнх экспериментов, так что высоких требований по uptime у него нет, так что Swarm отлично подошёл как простой способ управления всем хозяйством с одной машины.

Вообще, Docker + Swarm вытеснили весь головняк с CFEngine, который хоть и решал проблемы, но всегда происходили какие-то накладки в конфигах, вылавливание которых порой занимало больше времени чем хотелось, так что в этом смысле мне нравится эта связка для текущих задач.
Я рассматривал Docker Swarm когда выбирал систему управления контейнерами. Выбор между Kubernetes и Docker Swarm сводится к необходимому функционалу. Это связано с тем, что изначальные задачи у них различаются.

Docker Swarm — способ использовать несколько машин как единую виртуальную среду для запуска контейнеров.

Kubernetes же позволяет не только запустить несколько машин, но и занимается балансировкой нагрузки, контролем запущенности и обновлением контейнеров (есть функция rolling-update позволяющая без простоя обновить pod'ы внутри RC).

Морочиться стоит в случае если:

— Есть необходимость регулярного безпростойного деплоя
— Необходимо обеспечить высокую отказоустойчивость
— Необходимо обеспечить горизонтальную масштабируемость и балансировку не прибегая к «зоопарку» ПО
Вы не боитесь использовать в продакшне ПО находящееся в стадии альфа стадии разработки

Возможно я ошибаюсь на счёт Swarm, буду благодарен за дополнительную информацию по опыту работы с ним.
Я нырнул в мир Docker буквально пару месяцев назад и это просто потрясающе! Кроме того, что я построил проект, который благодаря Docker стал модульным, безопасным и прекрасным, я наконец смог переехать на Arch Linux благодаря тому, что теперь я и у себя на ноуте могу с минимальными накладными расходами (виртуалка с Linux на Linux мне не нравилась совсем, а с chroot много мороки) иметь окружение идентичное с боевыми серверами.

Тема управления кластеров с Docker контейнерами сейчас особенно популярна, лично я остановился на Docker Swarm. Преимущества:
— официально поддерживается Docker
— прост в настройке и использовании

К недостаткам Docker Swarm я бы отнёс:
— возможно, слишком прост для построения изолированных инфраструктур
— возможно, команде Docker лучше было бы фокусироваться на самом Docker, а не распылять усилия и заходить на территорию kerbernetes/fleet/mesos/…

Лично мне Docker Swarm нравится и пока что я им доволен как никогда. А какие у вас мысли по этому поводу? Стоит ли морочиться с Kubernetes для кластера из 10 машин?
Нода Kubernetes

При взгляде на архитектуру системы мы можем разбить его на сервисы, которые работают на каждой ноде и сервисы уровня управления кластера. На каждой ноде Kubernetes запускаются сервисы, необходимые для управления нодой со стороны мастера и для запуска приложений. Конечно, на каждой ноде запускается Docker. Docker обеспечивает загрузку образов и запуск контейнеров.

Kubelet

Kubelet управляет pod'ами их контейнерами, образами, разделами, etc.

Kube-Proxy

Также на каждой ноде запускается простой proxy-балансировщик. Этот сервис запускается на каждой ноде и настраивается в Kubernetes API. Kube-Proxy может выполнять простейшее перенаправление потоков TCP и UDP (round robin) между набором бэкендов.

Компоненты управления Kubernetes

Система управления Kubernetes разделена на несколько компонентов. В данный момент все они запускаются на мастер-ноде, но в скором времени это будет изменено для возможности создания отказоустойчивого кластера. Эти компоненты работают вместе, чтобы обеспечить единое представление кластера.

etcd

Состояние мастера хранится в экземпляре etcd. Это обеспечивает надёжное хранение конфигурационных данных и своевременное оповещение прочих компонентов об изменении состояния.

Kubernetes API Server

Kubernetes API обеспечивает работу api-сервера. Он предназначен для того, чтобы быть CRUD сервером со встроенной бизнес-логикой, реализованной в отдельных компонентах или в плагинах. Он, в основном, обрабатывает REST операции, проверяя их и обновляя соответствующие объекты в etcd (и событийно в других хранилищах).

Scheduler

Scheduler привязывает незапущенные pod'ы к нодам через вызов /binding API. Scheduler подключаем; планируется поддержка множественных scheduler'ов и пользовательских scheduler'ов.

Kubernetes Controller Manager Server

Все остальные функции уровня кластера представлены в Controller Manager. Например, ноды обнаруживаются, управляются и контролируются средствами node controller. Эта сущность в итоге может быть разделена на отдельные компоненты, чтобы сделать их независимо подключаемыми.

ReplicationController — это механизм, основывающийся на pod API. В конечном счете планируется перевести её на общий механизм plug-in, когда он будет реализован.

Пример настройки кластера

В качестве платформы для примера настройки была выбрана Ubuntu-server 14.10 как наиболее простая для примера и, в то же время, позволяющая продемонстрировать основные параметры настройки кластера.

Для создания тестового кластера будут использованы три машины для создания нод и отдельная машина для проведения удалённой установки. Можно не выделять отдельную машину и производить установку с одной из нод.
Kubernetes является проектом с открытым исходным кодом, предназначенным для управления кластером контейнеров Linux как единой системой. Kubernetes управляет и запускает контейнеры Docker на большом количестве хостов, а так же обеспечивает совместное размещение и репликацию большого количества контейнеров. Проект был начат Google и теперь поддерживается многими компаниями, среди которых Microsoft, RedHat, IBM и Docker.

Компания Google пользуется контейнерной технологией уже более десяти лет. Она начинала с запуска более 2 млрд контейнеров в течение одной недели. С помощью проекта Kubernetes компания делится своим опытом создания открытой платформы, предназначенной для масштабируемого запуска контейнеров.

Проект преследует две цели. Если вы пользуетесь контейнерами Docker, возникает следующий вопрос о том, как масштабировать и запускать контейнеры сразу на большом количестве хостов Docker, а также как выполнять их балансировку. В проекте предлагается высокоуровневый API, определяющее логическое группирование контейнеров, позволяющее определять пулы контейнеров, балансировать нагрузку, а также задавать их размещение.

Концепции Kubernetes

Nodes (node.md): Нода это машина в кластере Kubernetes.
Pods (pods.md): Pod это группа контейнеров с общими разделами, запускаемых как единое целое.
Replication Controllers (replication-controller.md): replication controller гарантирует, что определенное количество «реплик» pod'ы будут запущены в любой момент времени.
Services (services.md): Сервис в Kubernetes это абстракция которая определяет логический объединённый набор pod и политику доступа к ним.

Volumes (volumes.md): Volume(раздел) это директория, возможно, с данными в ней, которая доступна в контейнере.

Labels (labels.md): Label'ы это пары ключ/значение которые прикрепляются к объектам, например pod'ам. Label'ы могут быть использованы для создания и выбора наборов объектов.
Kubectl Command Line Interface (kubectl.md): kubectl интерфейс командной строки для управления Kubernetes.

Архитектура Kubernetes

Работающий кластер Kubernetes включает в себя агента, запущенного на нодах (kubelet) и компоненты мастера (APIs, scheduler, etc), поверх решения с распределённым хранилищем. Приведённая схема показывает желаемое, в конечном итоге, состояние, хотя все ещё ведётся работа над некоторыми вещами, например: как сделать так, чтобы kubelet (все компоненты, на самом деле) самостоятельно запускался в контейнере, что сделает планировщик на 100% подключаемым.
Очень ачсто слышу в последнее время, можете объяснить подробно что такое Kubernetes?
Чаще всего предприниматели путают «маржинальность» и наценку, ошибочно полагая, что это одно и то же. Поэтому давайте разбираться в отличиях. И для начала стоит уточнить, что такое «наценка».

Наценка – один из способов получения прибыли, путем надбавки некой величины к себестоимости. При этом важно, что у наценки нет максимального значения, в отличие от маржинальности, которая ограничивается 100%.

Величина наценки зависит от спроса и конъюнктуры рынка. Как правило, чем выше спрос в нише и меньше предложений на рынке этой категории товара, тем выше возможна на него наценка.

Для того чтобы определить величину наценки, можно воспользоваться формулой:

Наценка = (Цена − себестоимость) / себестоимость × 100%

Например, компания производит часы, себестоимость которых 5000 рублей, а продаёт их за 12 500 рублей. Значит наценка в этом случае будет составлять 150%.

Маржа для этого же примера будет составлять 8 500 рублей, а маржинальность 68%.

Наценка – показывает сколько предприниматель заработает с продажи, но эта величина совсем не гарантирует получение высокой прибыли, а только свидетельствует о наличии добавочной стоимости к продукту. В то время как маржинальность показывает эффективность выстроенных бизнес-процессов и прибыльности продаж.
Наконец полезная и конкретная статья, большое спасибо
Цифровизация это реальная необходимость для бизнеса. Я работаю в сфере розничной торговли, и внедрение цифровых технологий существенно изменило наши процессы. Мы смогли оптимизировать запасы, улучшить взаимодействие с клиентами и увеличить продажи. Однако, как и в любом деле, столкнулись с трудностями. Нехватка квалифицированных кадров оказалась серьезной проблемой. Программа обучения для сотрудников помогла, но процесс оказался долгим и затратным. Важно понимать, что цифровизация требует не только технических решений, но и изменения мышления внутри компании. В целом, результатами я доволен. Рекомендую всем бизнесам не бояться изменений!
Недавно наша компания начала процесс цифровой трансформации, и я хочу поделиться своим опытом. Сначала все казалось сложным и запутанным. Мы столкнулись с недостаточным использованием данных при принятии решений, и это тормозило наш прогресс. Однако благодаря специализированным курсам и консультациям мы начали понимать, как эффективно работать с информацией. Цифровизация открыла новые горизонты для нашего бизнеса, улучшила конкурентоспособность и позволила оптимизировать внутренние процессы. Но, безусловно, без квалифицированных специалистов это было бы невозможно.
Зачастую бренды с широким ассортиментом сегментируют свои товары для разных каналов продаж. Базовые недорогие линейки и остатки прошлых сезонов со скидками продают на универсальных маркетплейсах, более продвинутый ассортимент, включая лимитированные капсулы, коллаборации и эксклюзивные модели, размещают на Lamoda и других нишевых площадках, а некоторую часть коллекции могут оставлять только для прямых продаж через свои интернет-магазины.

Таким образом бренды оптимизируют ассортимент под целевую аудиторию разных площадок, при этом сохраняя свое позиционирование и снижая инвестиции в сток. С учетом нашей большой, лояльной и «правильной» для fashion-сегмента целевой аудитории некоторые бренды представлены на Lamoda более широко, чем в остальных каналах продаж, и иногда даже больше, чем в своих магазинах.
Если взять два крупных маркетплейса, один из которых универсальный, а другой нишевый, то на универсальном наш оборот за месяц продаж почти в полтора-два раза больше. Но если смотреть не на количество проданного товара, а на чистую прибыль, то картина начинает меняться. Нишевый приносит больше — после вычета всех расходов, которые есть при работе с этим маркетплейсом.
История с переквалификацией интернет-магазина — она довольно интересная, у магазина зачастую уже решена одна из больших проблем маркетплейса. Потому что если магазину нужно привлекать только покупателей, то маркетплейсу важно сразу работать в двух направлениях —привлекать и продавцов, и покупателей. Так вот, когда переходят из интернет-магазина в маркетплейс, одна проблема уже частично решена — потому что есть некая аудитория покупателей и вы просто расширяете ассортимент, за счет чего и растете. Выход в онлайн офлайнового игрока — это тоже пример, когда у тебя уже что-то есть в багаже, и так переформатироваться чуть проще.

А вот старт с нуля — это фактически самый рисковый, наверное, проект, и здесь для успешного запуска важно составить четкий план. И начать с создания MVP, чтобы протестировать гипотезу и оперативно корректировать свою стратегию при необходимости.
Трансформация из офлайна в онлайн в формате нишевого маркетплейса — это закономерный путь выхода в e-commerce для магазина с ограниченным узкопрофессиональным ассортиментом.

Так возникают B2P-площадки — платформы, ориентированные не на частных покупателей, а на небольших бизнесменов, регулярно покупающих, например, расходные материалы для ведения бизнеса.

Кто сейчас чаще всего запускает нишевые маркетплейсы?

Бывает так, что у магазина даже нет онлайн-продаж, но есть сильная офлайн- розница в регионах. При выходе в онлайн по модели D2C оказывается, что свой ассортимент не закрывает поле поискового запроса в выбранной нише. Собственного ассортимента оказывается недостаточно для устойчивого развития и генерации прибыли, тогда магазин начинает подключать своих коллег по модели маркетплейса. Многие бизнесы В2Р или В2В, которые сейчас запускаются на нашей платформе, связаны именно с трансформацией из офлайна в онлайн.

Это мировой тренд, аналогичные процессы происходили и продолжают происходить в других странах. Например, во Франции, где на платформе Mirakl за 7 лет было запущено более 200 нишевых маркетплейсов, среди которых не только крупные игроки, но и огромное количество небольших, в том числе локальных бизнесов.
Трансформация из офлайна в онлайн в формате нишевого маркетплейса — это закономерный путь выхода в e-commerce для магазина с ограниченным узкопрофессиональным ассортиментом.

Так возникают B2P-площадки — платформы, ориентированные не на частных покупателей, а на небольших бизнесменов, регулярно покупающих, например, расходные материалы для ведения бизнеса.

Кто сейчас чаще всего запускает нишевые маркетплейсы?

Бывает так, что у магазина даже нет онлайн-продаж, но есть сильная офлайн- розница в регионах. При выходе в онлайн по модели D2C оказывается, что свой ассортимент не закрывает поле поискового запроса в выбранной нише. Собственного ассортимента оказывается недостаточно для устойчивого развития и генерации прибыли, тогда магазин начинает подключать своих коллег по модели маркетплейса. Многие бизнесы В2Р или В2В, которые сейчас запускаются на нашей платформе, связаны именно с трансформацией из офлайна в онлайн.

Это мировой тренд, аналогичные процессы происходили и продолжают происходить в других странах. Например, во Франции, где на платформе Mirakl за 7 лет было запущено более 200 нишевых маркетплейсов, среди которых не только крупные игроки, но и огромное количество небольших, в том числе локальных бизнесов.
Трансформация из офлайна в онлайн в формате нишевого маркетплейса — это закономерный путь выхода в e-commerce для магазина с ограниченным узкопрофессиональным ассортиментом.

Так возникают B2P-площадки — платформы, ориентированные не на частных покупателей, а на небольших бизнесменов, регулярно покупающих, например, расходные материалы для ведения бизнеса.

Кто сейчас чаще всего запускает нишевые маркетплейсы?

Бывает так, что у магазина даже нет онлайн-продаж, но есть сильная офлайн- розница в регионах. При выходе в онлайн по модели D2C оказывается, что свой ассортимент не закрывает поле поискового запроса в выбранной нише. Собственного ассортимента оказывается недостаточно для устойчивого развития и генерации прибыли, тогда магазин начинает подключать своих коллег по модели маркетплейса. Многие бизнесы В2Р или В2В, которые сейчас запускаются на нашей платформе, связаны именно с трансформацией из офлайна в онлайн.

Это мировой тренд, аналогичные процессы происходили и продолжают происходить в других странах. Например, во Франции, где на платформе Mirakl за 7 лет было запущено более 200 нишевых маркетплейсов, среди которых не только крупные игроки, но и огромное количество небольших, в том числе локальных бизнесов.
Исторически первым сценарием появления нишевого маркетплейса стала переквалификация категорийного интернет-магазина в маркетплейс.

Компании используют технологии нишевого маркетплейса как самые эффективные и дешевые инструменты для роста онлайн- бизнеса.

Примеры: Детский мир, Лэтуаль, Леруа Мерлен, М. Видео, Спортмастер.

Мы тоже хотим расти активнее, быстрее в онлайне. Как это сделать? Самый быстрорастущий канал для текущих продаж онлайн — это маркетплейс. Одна из основных целей открытия маркетплейса для нас — привлечение ассортимента, который не входит в текущие полки, стандартные сегменты, категории, которые представляет наш интернет-магазин. И для этого запустили маркетплейс.
Исторически первым сценарием появления нишевого маркетплейса стала переквалификация категорийного интернет-магазина в маркетплейс.

Компании используют технологии нишевого маркетплейса как самые эффективные и дешевые инструменты для роста онлайн- бизнеса.

Примеры: Детский мир, Лэтуаль, Леруа Мерлен, М. Видео, Спортмастер.

Мы тоже хотим расти активнее, быстрее в онлайне. Как это сделать? Самый быстрорастущий канал для текущих продаж онлайн — это маркетплейс. Одна из основных целей открытия маркетплейса для нас — привлечение ассортимента, который не входит в текущие полки, стандартные сегменты, категории, которые представляет наш интернет-магазин. И для этого запустили маркетплейс.
Исторически первым сценарием появления нишевого маркетплейса стала переквалификация категорийного интернет-магазина в маркетплейс.

Компании используют технологии нишевого маркетплейса как самые эффективные и дешевые инструменты для роста онлайн- бизнеса.

Примеры: Детский мир, Лэтуаль, Леруа Мерлен, М. Видео, Спортмастер.

Мы тоже хотим расти активнее, быстрее в онлайне. Как это сделать? Самый быстрорастущий канал для текущих продаж онлайн — это маркетплейс. Одна из основных целей открытия маркетплейса для нас — привлечение ассортимента, который не входит в текущие полки, стандартные сегменты, категории, которые представляет наш интернет-магазин. И для этого запустили маркетплейс.