Открыть сервис

Cloud Foundry

Cloud Foundry — это открытая платформа как услуга (PaaS) с открытым исходным кодом, предназначенная для развёртывания, масштабирования и управления приложениями в различных облачных средах. Cloud Foundry автоматизирует процессы сборки, тестирования, доставки и эксплуатации программного обеспечения (CI/CD), абстрагируя разработчиков от инфраструктурных деталей, таких как операционные системы, сети и хранилища. Проект изначально был разработан компанией VMware и передан под управление фонда Cloud Foundry Foundation, входящего в структуру Linux Foundation.

История

Предпосылки возникновения

До появления Cloud Foundry развёртывание приложений требовало от разработчиков ручной настройки серверов, баз данных и балансировщиков нагрузки. Каждое приложение привязывалось к конкретной инфраструктуре, что затрудняло перенос между дата-центрами. PaaS-решения, такие как Google App Engine (2008 год) и Heroku (2007 год), предложили альтернативу, но были проприетарными и привязывали пользователя к одному поставщику. Возникла потребность в открытой платформе, поддерживающей множество языков программирования и облачных провайдеров.

Разработка и запуск

В апреле 2011 года компания VMware (США) анонсировала Cloud Foundry как первую открытую PaaS-платформу. Исходный код был опубликован под лицензией Apache 2.0, что позволило сообществу и компаниям создавать собственные дистрибутивы и расширения.

Переход к фонду

В 2014 году, после покупки VMware компанией EMC, управление проектом было передано независимому Cloud Foundry Foundation. Это решение было принято для обеспечения нейтральности и привлечения большего числа участников. В 2015 году фонд вошёл в структуру Linux Foundation. Под эгидой фонда были разработаны стандарты сертификации для совместимых реализаций и добавлена поддержка контейнеров Docker.

Актуальное состояние

На 2024—2025 годы Cloud Foundry остаётся одной из наиболее зрелых PaaS-платформ с открытым исходным кодом. Разработку продолжает международное сообщество, а основные коммерческие дистрибутивы выпускаются компаниями VMware (теперь часть Broadcom Inc. (США)), SAP (Германия), IBM (США) и другими. Проект активно развивает поддержку Kubernetes через проект CF-for-K8s.

Архитектура

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

Диспетчер облака

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

Diego

Diego — это подсистема планирования и выполнения задач, реализованная на Go. Она заменила старую систему Droplet Execution Agent (DEA) в 2016 году. Diego запускает приложения как изолированные контейнеры на основе Garden (собственный контейнеризатор Cloud Foundry) или, опционально, на основе Docker. Diego обеспечивает:

Маршрутизатор

Маршрутизатор (Gorouter) — это высокопроизводительный обратный прокси-сервер на Go, который принимает входящие HTTP и TCP-запросы и направляет их к необходимым экземплярам приложений. Он поддерживает балансировку нагрузки, проверку состояния приложений (health checks) и WebSocket-соединения.

Службы

Cloud Foundry предоставляет механизм привязки управляемых служб к приложениям. Любые внешние ресурсы — базы данных (PostgreSQL, MySQL), очереди сообщений (RabbitMQ), кэши (Redis) или мониторинг — регистрируются в платформе как сервисы. Разработчик привязывает службу к приложению одной командой, после чего переменные окружения приложения автоматически заполняются данными для подключения.

Классификация и виды

По типу развёртывания

По дистрибутиву

Применение

Разработка и развёртывание приложений

Cloud Foundry применяется в организациях, где требуется быстрая доставка изменений и частые релизы (непрерывная интеграция и доставка). Разработчики загружают код с помощью интерфейса командной строки cf push; платформа автоматически определяет язык программирования (через билдпаки), компилирует (если требуется) и запускает приложение.

Многоязычная поддержка

Платформа поддерживает билдпаки для Java, Python, Ruby, Node.js, PHP, Go, .NET Core, а также для статического контента и заказных сценариев. В качестве альтернативы можно использовать образы Docker.

Масштабирование и отказоустойчивость

Благодаря механизму Diego и автоматическому перезапуску, Cloud Foundry используется для критически важных приложений, требующих высокой доступности (SLA 99,99 % и выше). Масштабирование выполняется горизонтально путём добавления новых экземпляров командами cf scale или автоматически на основе нагрузки.

Интеграция с инструментами CI/CD

Cloud Foundry интегрируется с системами сборки (Jenkins, GitLab CI, Concourse), которые после прохождения тестов автоматически запускают cf push. Это позволяет организовать непрерывный пайплайн: от коммита в репозиторий до запущенного приложения в продакшене.

Преимущества и критика

Преимущества

Критика

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →