Моя карьера со временем перешла из маркетинговых услуг в финансовые услуги. Сфера продукции и насколько надежным и безопасным они должны быть сильно варьированы. Маркетинговый контент обычно не является чем-то, что необходимо иметь безопасную экосистему вокруг него, от захвата информации о приводах. В мире финансового сервиса я сейчас нахожусь в широкой экосистеме систем, которыми мне нужно взаимодействовать с намного больше, чем я должен был иметь дело. Объединенные характеристики систем, которыми я пользовался работающим, являются те, которые имеют надежную и повторяющуюся трубопровод по сборке и развертыванию.
Наибольшие разочарования и недостатки в системах, которые я неоднократно занимался, были связаны с конфигурацией системы среды. Конфигурация окружающей среды может варьироваться широко варьироваться, но она обычно не связана с кодом программ, написанных. У нас есть разные среды для тестирования, такие как разработка и постановка. Если ваши среды расходится, вы лучше для тестирования в производстве. Вы можете заразиться ошибками, связанными с кодом, но есть схватка проблем окружающей среды, которые могут полностью сделать ваш следующий выпуск. Если вы не можете проверить в производстве, ваши системы лучше имеют большой мониторинг и наблюдаемость.
Вопросы я имел дело с конфигурацией окружающей среды: Конфигурация веб-сервера Конфигурация операционной системы Развертывание базы кода со старого сервера на новый сервер Ущерб жестко закодированным приложениям файлы конфигурации, необходимые для базы кода *, скорее всего, гораздо больше!
За всю жизнь возникает настройки веб-сервера приложения. Каждый веб-сайт имеет свои проблемы с действующим эффективным. Независимо от того, есть ли это Apache/Nginx/IIS. Есть нагрузки и нагрузки на настройку настроек, которые могут значительно повлиять на ваши приложения. В настройках памяти Apache и ограничения загрузки могут выявить проблемы с кодом. В IIS есть apppool apppool, установленный на 20 минут. Если вы не являетесь поставщиком для хостинга, вы вряд ли не должны заботиться об этой настройке по умолчанию, которые могут сделать опыт отрицательного ожидания клиента в ожидании медленных запросов.
Хотя редкие существуют настройки по умолчанию в ОС, приложении и уровнях кода, которые ограничивают количество сетевых подключений на Windows и Linux. Если вы используете сетевую службу, вы можете в конечном итоге ударить пик, где запросы перестают подавать или время. В Windows ServicePointManager имеет по умолчанию 2 соединения. В Linux есть различные ограничения соединения ULIMIT, являющиеся одним из них. В одной команде у нас был сервер CouchDB в производстве, вызывающий множество тайм-аутов во время высоких дней нагрузки. После исчерпывающего поиска мы обнаружили, что Erlang имеет ограничение подключения по умолчанию ERL_MAX_PORTS, которые необходимо настроить.
Перемещение базы кода, которое сидит на одном сервере в течение многих лет? Удачи! Один из таких серверов я столкнулся с Beefy 16 Core Windows 2008 Server 2008. Мы переместили несколько услуг от этой коробки на несколько других серверов за балансировщиком нагрузки и увидели худшую производительность! Были годы настроек и модификаций, которые произошли, что мы не столкнулись на огромной коробке, но все усугубляются на распределенных машинах. В конечном итоге мы в конечном итоге смягчали большинство вопросов, но многие знания отдельных настроек, безусловно, были потеряны.
Каждый раз, когда новый командный член присоединился к нашей команде, они попытаются запустить наши приложения и столкнуться с загадочными ошибками. В конце концов кто-то помнит, что существует жесткий кодированный текстовый файл, который необходимо существовать на любых машинах, выполняющих конкретные приложения. Также это же требование было помещено в различные библиотеки в использовании в других системах, вызывающих этот вопрос в состав в случайные времена.
Есть несколько типов доступных технологий, которые могут помочь смягчить многие из этих вопросов. Программное обеспечение для управления конфигурацией (желаемая состоятельная конфигурация, марионетка, шеф-повар, соль, неизбежный, больше?) Может быть благословением для команд. Все изменения могут быть отслежены через контроль версий и обновления. Создание/освобождение трубопроводных инструментов (TFS, Jenkins, Gradle, Bazel, гораздо больше) для записи точных шагов и задач, необходимых для сборки и развертывания. После того, как человеческий элемент выводится на гораздо меньше ошибок и простоя. Утилиты Orchestration (Service Fabric, Kubernetes) Это может включать в себя перемещение вокруг контейнеров докеров или аналогичных контейнерных технологий или упакованных актерских услуг. Масштабируемость и рост приложения представляют собой вопрос, чтобы помнить на протяжении всего жизненного цикла приложения. В любое время приложение может потребоваться разделить из монолита или надо значительно масштабироваться. Используя инструмент оркестографии может построить базовый уровень модульности и масштабируемости, которая предотвращает будущее разочарование с ограничениями приложения. Например, использование функций Azure/AWS Lambda для API API для бездействия путем минимизации необходимости поддержания сервера и возможность использовать встроенные масштабируемость.
Две технологии, которые окажут огромное влияние на будущее безопасных масштабируемых систем, являются PowerShell и желаемая конфигурация состояния.
Эти технологии являются открытым исходным кодом, перекрестной платформой и очень доступными.
Разработчики, системные администраторы, инженеры по обеспечению качества и больше могут получить пользу, добавляя эти инструменты на их панель инструментов.
Сходимость на эти технологии принесет пользу всем трем группам. Разработчики тратят меньше времени с деталями OPS. OPS проводит меньше времени поддержания и копания. QA не должен иметь дело со странными прерывистыми жуками, которые являются окружающей средой.
Я настоятельно рекомендую всем взглянуть на перекрестную платформу, который продолжается PowerShell. Начните смотреть на использование управления конфигурацией для ваших систем, он сэкономит вас и те, которые наследуют ваше приложение много боли.
Оригинал: «https://dev.to/alanmbarr/how-does-quality-engineering-relate-to-devops-2mid»