Для создания распределенных систем требуются команды эффективных разработчиков

Для создания распределенных систем требуются команды эффективных разработчиков


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

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

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

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

В последние месяцы стало очевидно, что некоторые технологические организации пытаются преодолеть этот разрыв, а именно компании, в которых программное обеспечение работает как центральный монолит (часто называемый «монорепо») без четко определенных коммуникационных структур. Части системы. Распределенные системы эффективны в простых системах с крупномасштабными коммуникационными структурами.

Закон Конвея — это хорошо известное выражение в области управления программной инженерией, которое гласит: «Любая организация, разрабатывающая систему (определяемую в широком смысле), создает проект, структура которого является копией коммуникационной структуры организации».

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

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

Джунаде Али — опытный технолог, интересующийся управлением программной инженерией, исследованиями в области компьютерной безопасности и распределенными системами.

Facebook Comments

Share this post

კომენტარის დატოვება

თქვენი ელფოსტის მისამართი გამოქვეყნებული არ იყო.


has been added to your cart.
გადახდა