«> Что такое Symfony Cloud? Автор: Denis PeszkaTech Lead Опубликовано: 04.04.2019 Категория: Веб-приложения
В 2016 году о выпуске SensioCloud было объявлено на конференции SymfonyCon в Берлине. Это был первый инструмент от SensioLabs, ориентированный на компании с высокими потребностями. Сервис был очень успешным. Но как насчет решений, созданных в облаке, которые будут доступны практически каждому? Многие программисты могут использовать инструмент для поддержки своих приложений от начального эскиза до окончательного веб-проекта. Вот почему родился SymfonyCloud. Это платформа, созданная разработчиками Symfony для других разработчиков Symfony.
SymfonyCloud — что это такое?
SymfonyCloud описывается производителями как PaaS, то есть платформа как услуга. Он оптимизирован для разработчиков Symfony. Это решение тесно интегрировано с экосистемой Symfony, и его решения поддерживают продуктивность программистов. SymfonyCloud можно описать как фреймворк для хостинга Symfony. Платформа управляет инфраструктурой проекта — разработчику не нужно устанавливать или настраивать веб-серверы или базы данных MySQL.
SymfonyCloud построен на одной основной идее: серверная инфраструктура является частью вашего приложения, поэтому она должна контролироваться вместе с версией приложения. Каждая ветка в репозитории Git может содержать исправления ошибок, новые функции и изменения в инфраструктуре. Затем можно независимо протестировать все, включая код приложения и все службы с их базами данных. SymfonyCloud позволяет вам увидеть, как будет выглядеть ваш веб-сайт, если вы внесете выбранные изменения во время работы.
Основные преимущества SymfonyCloud
Вот основные преимущества, которые предлагает SymfonyCloud:
Быстрый запуск проектов — запуск продукта и запуск на нем занимает всего несколько секунд. SymfonyCloud был построен с учетом интерфейса командной строки. Проект можно перенести в SymfonyCloud, просто перенеся код из базы данных. Синхронизация с репозиторием Git — используйте описательный файл конфигурации, хранящийся непосредственно в репозитории Git, чтобы изменять и отслеживать требования к инфраструктуре вместе с вашим кодом. Многоуровневая файловая система, поддерживающая создание и разработку приложений — на основе технологии Ceph вы можете создать множество немедленных клонов создаваемого приложения. Каждый вновь созданный «слой» проекта содержит все изменения (конфигурация, код и контент) поверх существующей файловой системы. Нет необходимости устанавливать службу на свой компьютер — вы можете создать «туннель» к инфраструктуре SymfonyCloud со своего локального компьютера. Это позволяет вам тестировать свой код с помощью живых сервисов и точной копии данных, созданных во время разработки. Вам не нужно устанавливать, настраивать или управлять какими-либо дополнительными сервисами. Управление с терминала — благодаря Symfony Cloud вы можете управлять с терминала — создавать новые среды, устанавливать переменные среды, добавлять интеграции, развертывать, масштабировать и многое другое. Как работает SymfonyCloud?
На этой платформе проект связан с репозиторием Git. Проект, в свою очередь, состоит из одного или нескольких приложений. Приложение представляет собой каталог в репозитории Git с определенной конфигурацией SymfonyCloud. Проекты реализуются в средах. Среда представляет собой автономную копию приложения, которую можно использовать для тестирования, вопросов и ответов, реализации новых функций, отладки и т. Д.
Каждый проект, реализованный на SymfonyCloud, построен как виртуальный кластер, содержащий серию контейнеров. Основная ветвь репозитория Git всегда развертывается как производственный кластер. Любая другая ветвь может быть развернута как кластер разработки.
Разработка приложений
При создании приложения все необходимые файлы устанавливаются в контейнеры приложения. Этот шаг можно адаптировать к вашим потребностям с помощью крючка. Стоит отметить, что во время этого процесса работа измененной в данный момент страницы не меняется.
Реализация приложения
Перед развертыванием приложения все входящие запросы останавливаются, поэтому задержки нет. Затем существующие контейнеры останавливаются и вводятся в эксплуатацию новые. Позже сетевые подключения между различными контейнерами открываются, как указано в файлах конфигурации.
Информация о подключении для каждой службы доступна в виде переменных среды.
Что касается стадии сборки, она можно определить подходящую ловушку для подготовки приложения. Создаваемое приложение имеет полный доступ ко всем службам, но файловая система, в которой выполняется код, теперь доступна только для чтения. Наконец, снята блокада входящих запросов, благодаря чему только что реализованное приложение может успешно работать.
Резюме
SymfonyCloud, несомненно, интересное и полезное решение, которое идеально удовлетворяет потребности творческих программистов. Стоит присмотреться к его возможностям.
https://smartbees.pl/blog/czym-jest-symfony-cloud