Наша DevOps экспертиза

Нам нравится то, что мы делаем, особенно автоматизация. Многие думают, что автоматизация - это скучно, но для нас это музыка. Поэтому построение CI / CD процессов - одна из любимых задач нашей компании. Мы - сплоченная команда, обладающая отличными техническими знаниями и очень ответственная. С нами ваша инфраструктура будет надежной и безопасной.

Навыки

Уверенные навыки

Мы давно работаем с этими технологиями и использовали их для реализации большого количества проектов.

Владеем навыками

Технологии, с которыми мы работаем мало времени. С их использованием реализованы только демонстрационные проекты.

Вне нашего фокуса

У нас достаточно опыта в понимании и использовании этих технологий. Мы можем работать с ними только в тех случаях, когда без их использования невозможно функционирование всей системы.


Уверенные навыки
Владеем навыками
Вне нашего фокуса
Облачные платформы и виртуализация
AWS, Tencent, Vagrant, VirtualBox
Azure, Google cloud, Alicloud
Управление конфигурацией и инфраструктурой
Ansible, Terraform, AWS CloudFormation
Puppet, Chef
Оркестрация
DC/OS
Kubernetes
Непрерывная интеграция
Jenkins, GitLab, Gradle, Apache Maven
Travis CI
Автоматизация
Selenium
Apache JMeter, QASymphony, TestRail, RSpec
Контейнеризация
Docker
Amazon ECS
Мониторинг, оповещение и логирование
AWS CloudWatch, ELK Stack, Prometheus, Zabbix
Безопасность
Vault
AIDE, OSSEC, Samhain, Snort, Sonatype
Взаимодействие с командой
Jira, ServiceNow, Slack
HipChat, Rocketchat, Pivotal
Управление Artifact и контроль версий
Git, Bitbucket, Mercurial, Github, Nexus
Artifactory
Операционные системы
Ubuntu, Debian, CentOS
Windows all versions
Написание кода
Bash, Python

Наши devops сервисы

На первом этапе наша компания анализирует:

  • Процесс разработки;
  • Исходный код;
  • Архитектуру приложения;
  • Требования заказчика;
  • Среду, в которой планируется установить программное обеспечение (собственные серверы или использование средств облачного провайдера);
  • Программная архитектура.

Далее составляется план организации процессов CI / CD с учетом всех требований и анализа.

План, архитектура, а также работа с процессами CI / CD всегда полностью документированы. Чтобы в случае возникновения проблем их можно было решить в кратчайшие сроки. Наша компания предоставляет всю необходимую документацию

При разработке плана процесса CI / CD для стартап-компании учитываются следующие аспекты:

  • Система процессов CI / CD должна быть максимально гибкой. Таким образом, изменения могут быть внесены быстро и легко, поскольку новые функции могут быть добавлены или удалены в процессе разработки;
  • Возможность изменения архитектуры программного обеспечения. Процессы CI / CD должны быть максимально универсальными и хорошо документированными;
  • Языки программирования используемые для разработки;
  • Пожелания заказчика;
  • Программная архитектура;
  • Среда развертывания программного обеспечения.

Перед тем, как приступить к обновлению / автоматизации текущих процессов в компании, выполняются следующие работы:

  • Проверка текущих процессов CI / CD;
  • Разаботка схемы CI/CD процессов;
  • Анализ архитектуры ПО;
  • Анализ архитектуры инфраструктуры для развертывания ПО;
  • Планирование обновления процессов CI / CD.

В результате будут предложены варианты оптимизации процессов CI / CD для сокращения времени развертывания обновлений.

Внедрение процессов CI / CD для системы, прошедшей сертификацию PCI DSS, требует тщательного рассмотрения. С этого момента выполняются следующие подготовительные процедуры:

  • Разработка плана внедрения процессов CI / CD;
  • Разработка новой схемы работы системы с добавленными компонентами CI / CD;
  • Добавлена идентификация объема стандартов PCI DSS на основе процессов CI / CD;
  • Идентификация того, подпадают ли какие-либо процессы CI / CD под действие стандартов PCI DSS, и в зависимости от этого процессы CI / CD будут построены в дальнейшем;

Завершающим этапом является оценка разработанной системы с помощью листа самооценки PCI DSS.

Чтобы оценить текущее состояние безопасности, исследуется следующее:

  • Сопроводительная документация для архитектурного проектирования программного обеспечения;
  • Системы безопасности, используемые в компании;
  • Документация по развертыванию программного обеспечения;
  • Документация по среде развертывания;
  • Системные и программные компоненты, включающие весь программный комплекс;
  • Проверки на уязвимости в зависимости от требований;
  • Механизм аутентификации, определение того, у кого есть доступ к указанным компонентам системы (проверка доступа через ssh, проверка центральной системы аутентификации и т.д.);
  • Обзоры политики создания и изменения паролей, а также их соблюдение или нет;
  • Проверка ПО, используемого на сервере:
    • Версии ПО;
    • Выполняются ли обновления программного обеспечения и антивирусных программ.
  • Если в ходе проверки будут выявлены какие-либо ошибки или проблемы, будут даны соответствующие рекомендации. Также будет предоставлена общая оценка систем безопасности.

    Для оценки текущего состояния процессов CI / CD выполняются следующие работы:

    • Проверка текущих процессов CI / CD;
    • Обзор архитектуры CI/CD процессов;
    • Обзор инструментов, использующихся в CI/CD процессах;
    • Обзор версии ПО.

    Могут быть даны необходимые рекомендации по улучшению и оптимизации процессов CI / CD или отдельных компонентов.

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

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

    • Дата выпуска оборудования;
    • Длительность эксплуатации оборудования;
    • Критичность области системы, в которой работает текущее оборудование;
    • Наличие резервных систем;
    • Наличие срочного резервирования основных серверов и сетевого оборудования.

    В результате будет подготовлен отчет с указанием рисков того, к чему может привести дальшейшее использование оборудования.

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

CI/CD

Уверенные навыки
Владеем навыками
Вне нашего фокуса
Python
Java
С#
PHP
Ruby
.NET framework
JavaScript
Go
Android
iOS

Свяжитесь с нашими экспертами

У вас есть проект или идея по разработке программного обеспечения? У нас есть опытные разработчики, которые помогут Вам. Будем рады ответить на все Ваши вопросы.
Начать сотрудничество