ПЦП – Платформа Цифровых Продуктов
- Заказчик:
- ПАО "Ростелеком"
- Руководитель проекта со стороны заказчика
- Поставщик
- "Ростелеком – Центры обработки данных"
- Год завершения проекта
- 2020
- Сроки выполнения проекта
- Май, 2019 - Сентябрь, 2020
- Масштаб проекта
- 10000 человеко-часов
4000 автоматизированных рабочих мест - Цели
1. Максимально быстро выводить в продуктивную среду цифровые продукты или сервисы.
2. Упростить создание цифровых продуктов или сервисов.
3. Предоставить разработчикам среды разработки и тестирования исходного кода продукта или сервиса.
4. Быстро и недорого развернуть продукт или сервис, а также протестировать его, чтобы определиться - переводить его в продуктивную среду, либо прекратить разработку.
5. Уйти от заказа физических ресурсов, заявок, большого количества согласований.
Уникальность проекта
Итоги проекта:
-
На текущий момент 42 команды разработчиков активно работают, используя платформу ПЦП.
-
Реализовано более 100 проектов внешних и внутренних.
-
Ранее для получения необходимых ресурсов для разработчиков внутри компании тратилось 5-10 рабочих дней на получение инфраструктуры + подготовка обвязки для разработки(Git,Nexus,Attlassian, etc) 10-15 рабочих дней, сейчас на это уходит от 10-20 минут, т.е. сокращение с 15-25 рабочих дней до 10-20 минут + экономия ресурсов инфраструктурных инженеров.
Возможности ПЦП:
a) проектная команда может самостоятельно готовить, собирать, разворачивать приложения и их компоненты, не беспокоясь об инфраструктуре, разработчиках, свободных релиз-менеджерах;
b) низкий порог вхождения для разработчиков, тестировщиков, всех членов проектной команды:
-
не требуется изучать большое количество документации, встречаться со специалистами по администрированию и внедрению продукта;
-
в случае прихода новой проектной команды или нового человека в проектную команду - он читает инструкцию на двух страницах: как настроить CI/CD процесс и как настроить метрики. Этого достаточно, чтобы работать в платформе и выдавать релиз продукта;
c) ПЦП позволяет создавать легко, быстро и эффективно сайты, веб и мобильные приложения, чат-боты, а также различные сервисы;
d) контейнеризация через докер дает возможность отделить приложение от инфраструктуры и обращаться с инфраструктурой как с управляемым приложением. Докер позволяет быстрее разрабатывать код, быстрее его тестировать, быстрее выкладывать приложение;
e) управление контейнерами через Kubernetes помогает управлять и запускать контейнеры на большом количестве хостов, кроме того обеспечивает совместное размещение и репликацию большого количества контейнеров;
f) в случае резкого повышения нагрузки, увеличения запросов, например в результате маркетинга-рекламы, и большого прихода пользователей, работоспособность платформы не падает, платформа сама реализует новый Pod, выполняет маршрутизацию, распределяет нагрузку;
g) в случае, если нагрузка уменьшается, платформа сама демонтирует этот Pod;
h) имеет поддержку 24/7/365;
i) непрерывное развертывание и интеграция кода (CI/CD);
j) возможность делать любое количество релизов в единицу времени, независимость от разработчиков, релиз-менеджеров - команда сама решает, что и когда запускать в продуктивную среду;
k) микросервисный подход для реализации функциональности;
l) интеграция с сервисами ПАО «Ростелеком» – присутствуют готовые API и сетевые связности с сервисами ПАО «Ростелеком».
- Использованное ПО
-
OpenStack – платформа виртуализации KVM;
-
GlusterFS, Ceph – сетевые файловые хранилища;
-
Nexus – интегрированная платформа, с помощью которой разработчики могут загружать, хранить и управлять зависимостями Java (Maven), образами: Docker, Python, Ruby, NPM, Bower, RPM-пакетами, Gitlfs, Apt, Go, Nuget, а также распространять свое программное обеспечение;
-
Openshift/OKD – платформа управления приложениями;
-
Gitlab – система контроля версий и репозиторий исходного кода;
-
Nexus – репозиторий артефактов;
-
Jira – система управления и постановки задач;
-
Confluence – база знаний;
-
Prometheus, Grafana – системы сбора метрик и их визуализации;
-
Elastic Stack, Graylog – системы сбора и анализа логов приложений и инфраструктуры;
-
Sentry – система сбора и анализа ошибок;
-
Zabbix – система мониторинга;
-
SonarQube – система анализа кода;
-
Rundeck – open source проект (проект с открытым исходным кодом), который позволят системному администратору организовать сервер сценариев;
-
Allure – программная платформа от компании Яндекс для создания отчётов автотестов.
-
- Описание проекта
Платформа Цифровых Продуктов (ПЦП) - это среда для быстрого развертывания, разработки и поддержки проектов, в том числе и для продуктивной среды, которая упрощает создание и эксплуатацию цифровых продуктов и сервисов.
ПЦП успешно используется для запуска цифровых сервисов и продуктов.
ПЦП построена на базе Open source software - свободно распространяемого программного обеспечения, с применением технологий OpenShift(OKD), Kubernetes, Docker, в связи с чем, ПЦП не требует приобретения дополнительных лицензий для работы на ресурсах Национальной облачной платформы.
ПЦП имеет набор готовых к работе сервисов и позволяет:
- существенно сэкономить время на разработке цифровых сервисов и продуктов, упростив их создание и эксплуатацию, ввиду отсутствия необходимости подготовки инфраструктуры;
- создавать легко, быстро и эффективно сайты, веб и мобильные приложения, чат-боты, а также различные сервисы;
- команде разработки, внутри ПЦП, прототипировать, развёртывать и администрировать приложения без необходимости настройки какой-либо инфраструктуры и технологий;
- сократить время предоставления готовой инфраструктуры.
- География проекта
ИС: 2 (два) геораспределенных ЦОД ПАО «Ростелеком»: М9 и М10 в г. Москва.
Клиенты: вся территория Российской Федерации.
- Дополнительные презентации:
- SCE_SEE_Среда_раззработки_и_исполнения_услуг_v3.pdf