Советы по оптимизации Laravel-архитектуры с AWS

Автор оригинала: Katy Slemon
  • Перевод
Перевод статьи подготовлен для студентов профессионального курса «Framework Laravel»




Что такое Laravel Framework


Laravel известен как full stack фреймворк, так как он может выполнять широкий спектр задач: от обслуживания веб-сервисов до управления базами данных и генерации HTML. Вертикально интегрированная среда веб-разработки, которая делает работу более приятной.

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

Цель Laravel заключается в обеспечении приятного процесса разработки, не жертвуя при этом функциональностью приложения. Счастливые разработчики могут создавать лучший код! Для этой цели мы используем преимущества сильных сторон фреймворка, чтобы сосредоточиться на Laravel, который основан на языках и инструментах разработки таких, как Ruby on Rails, ASP.NET MVC и Sinatra.

Как работает процесс реагирования Laravel?


Типичное приложение Laravel состоит из MVC, упомянутого выше.

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

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

Laravel поддерживает модели, представления и контроллеры, которые должны храниться отдельно для хранения разных файлов в разных каталогах. Именно здесь вступает в игру структура каталогов laravel.

Шаблоны проектирования, такие как MVC, созданы для облегчения работы разработчиков. Именно в этом Laravel лучше PHP, в котором нет никаких шаблонов. Если вам не понятна обсуждаемая тема, не волнуйтесь! Когда вы начнете работать с Laravel, вы даже не поймете, что работаете в шаблоне проектирования. Через некоторое время работать с ними станет естественно.

Модель данных


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

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

Перенос приложений из Laravel в AWS


Amazon Web Services — одно из самых популярных решений для развертывания приложений на основе Laravel среди опытных PHP-разработчиков. Однако технические аспекты веб-приложений не просты для людей с низким уровнем знаний технологии. Каждый хочет быстро задеплоить идеальную фичу и простое в установке приложение Laravel PHP в облачной инфраструктуре AWS. Следует отметить, что наличие хостинг-провайдера может не только помочь вам, но и поспособствовать легко реализовать бесплатный веб-хостинг и сосредоточиться на создании отличных веб-сайтов.

Понятно, что Cloud Hosting Platform (платформа облачного хостинга) является наилучшим решением для проектных организаций и разработчиков, помогая сэкономить ваше время и ресурсы, что делает его действительно важным для маркетинга и работы онлайн-бизнеса.

Вы можете оптимизировать свой новый управляемый облачный сервер для Laravel PHP в любое время.

Архитектура Laravel на микросервисах


Микросервисы — это стиль архитектуры программного обеспечения, комбинирующий на основе малых строительных блоков, которые сосредоточены на одной ответственности и функции, сложные крупномасштабные Laravel-приложения. Блоки связываются друг с другом, используя независимый от языка набор API. Одной из концепций, которые архитектура микросервисов применяет к стилям архитектуры программного обеспечения Laravel, являются росистые вычисления (Dew Computing), что означает вычислительную мощность многих небольших росинок (представляющих функциональные компоненты микросервисов).

Преимущества микросервисной архитектуры AWS


Да, все, что существует или даже имеет популярность, является таковым не без причины, в этом есть доля правды. Архитектура AWS не исключение! Ее преимущества заключаются в следующем:

  • Независимость. Каждый микросервис AWS может быть развернут на отдельной физической машине, виртуальной машине или Docker, чтобы иметь собственную распределенную архитектуру.
  • Масштабируемость. Благодаря своей независимости упрощает масштабирование микросервисной архитектуры по горизонтали или вертикали в зависимости от направления бизнеса или технологии.
  • Возможность обновления и простота обслуживания. Каждый микросервис может обновляться и обслуживаться независимо.
  • Любой язык программирования. Каждый микросервис может быть разработан в соответствии с языком программирования, знакомым команде разработчиков, и затем предоставлять API в соответствии с протоколом REST или RPC.

Когда следует использовать архитектуру AWS:


  • Когда ваша Laravel-система имеет большие масштабы и интегрирует большое количество сервисов, вы можете рассмотреть возможность использования «микросервисов». Никогда не используйте микросервисы в начале создания приложения/проекта с Laravel. В настоящее время Laravel-система по-прежнему достаточно мала, наряду с системой и бизнесом. Она непрерывно развивается и архитектура системы будет претерпевать много изменений, если вы начнете использовать микросервисы на ранней стадии, это легко может вызвать сильную связанность между микросервисами.
  • Если у вас есть очень глубокое понимание вашей системы и вы можете легко различать границы функций и сервисов, тогда вы можете попытаться рассмотреть возможность применения микросервисной архитектуры.
  • Микросервисная архитектура AWS должна основываться на разделении сервисов. Связь между сервисом и сервисом легко увидеть. Тогда сервисы разделены, и степень связанности системы относительно управляема.
  • Наконец, только тогда, когда вы действительно можете перечислить плюсы и минусы миграции системы на архитектуру микросервисов и когда у вас есть взвешенный ответ, вы должны реализовать ее.
OTUS. Онлайн-образование
762,87
Цифровые навыки от ведущих экспертов
Поделиться публикацией

Комментарии 8

    +2
    Не статья, а какая-то мутная водичка.
      +4
      Очень жиденько. И где, собственно, советы?
      Я так понимаю, статью перевели только ради упоминания курса? Думаю, стоили бы поискать более интересную :)
        –4
        В скором времени мы запустим серию авторских статей. Вот они будут определенно интереснее)
          +3
          Именно в этом Laravel лучше PHP, в котором нет никаких шаблонов.

          Вы серьезно? Вы думаете, после подобных фраз к вам придет хоть один человек на курс? Ну вот объективно оцените свой уровень и поймите, что это полный и беспросветный ужас.

            +1
            Может не надо позориться?
          0

          Пользуясь случаем, хочу поздравить кампанию OTUS с первым переводом PHP статьи, где нет косяков с оформлением кода =)

            +4
            Laravel поставляется с Artisangreat

            Шаблоны проектирования, такие как MVC, созданы для облегчения работы разработчиков. Именно в этом Laravel лучше PHP, в котором нет никаких шаблонов.

            Laravel поддерживает модели, представления и контроллеры, которые должны храниться отдельно для хранения разных файлов в разных каталогах. Именно здесь вступает в игру структура каталогов laravel.


            Я конечно понимаю, что OTUS заплатили немало ради бизнес-аккаунта… но надо как-то заставить их перестать лить дерьмо на хабр…
              0
              Перевод совсем никакой. Уже упомянутая ранее фраза
              Именно в этом Laravel лучше PHP, в котором нет никаких шаблонов
              переводится скорее как
              Именно в этом Laravel лучше чистого PHP без каких-либо шаблонов (This is where Laravel is better than PHP without any patterns)
              Не на том сделали акцент и смысл фразы поменялся кардинально. Остальное, честно не сравнивал. Лень.
              И при всём при этом английским я владею ну очень посредственно.

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

              Самое читаемое