Статьи

Что нового в Джакарте NoSQL? (Часть II)

Переход на Cloud-Native

Облачные вычисления принесли много методологий и методов, которые произвели революцию как в деловом, так и в техническом мире. Среди предложенных терминов были облачные. Чтобы оправдать и оправдать эти ожидания во вселенной Java, появилась Jakarta EE. Цель этого поста — рассказать о концепции облачного натива и запустить приложение с этой концепцией, используя последнюю версию Jakarta EE NoSQL .

Вам также может понравиться: От javax. * До Джакарта. *: Простое доказательство концепции

Что облачного?

Как и в любой новой концепции, есть несколько концепций с одинаковыми именами; Если вы читаете книги или статьи о облачных носителях, вы можете не найти единого мнения по этому поводу. Например:

«Cloud-native — это подход к созданию и запуску приложений, использующий преимущества модели облачных вычислений».
—  Pivotal

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

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

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

Каковы облачные лучшие практики?

Когда мы начинаем изучать новую концепцию, мы обычно читаем о лучших практиках, чтобы избежать ошибок и запаха кода . Благодаря объектно-ориентированному программированию ( ООП ) у нас есть шаблоны проектирования от группы из четырех, в Java у нас есть эффективная Java , а когда речь идет об архитектуре, у нас есть как чистый код, так и чистая архитектура . Вопрос в том, каковы лучшие практики для облачных нативов?

Насколько нам известно, нет лучших практик, связанных конкретно с облачным. Поскольку облако близко к методологии Agile, есть несколько методов, которые мы можем использовать для создания здорового, безболезненного приложения:

Наиболее известные практики, относящиеся к любому приложению, которое включает в себя облачные вычисления, основаны на паттернах Мартина Фаулера « Архитектура корпоративных приложений и рефакторинг» .

Приложение с двенадцатью факторами

  1. Codebase : Один кодовые отслеживается контроль версий, многие разворачивают.
  2. Зависимости : явно объявлять и изолировать зависимости.
  3. Конфиг : Хранить конфиг в среде.
  4. Службы поддержки: относитесь к службам поддержки как к прикрепленным ресурсам.
  5. Сборка, выпуск, запуск : строго разделить этапы сборки и запуска.
  6. Процессы : Запустите приложение как один или несколько процессов без сохранения состояния.
  7. Привязка порта : экспорт услуг через привязку порта.
  8. Параллельность : масштабирование через модель процесса.
  9. Доступность : Максимальная надежность благодаря быстрому запуску и плавному отключению.
  10. Соотношение между разработчиками и разработчиками: старайтесь, чтобы разработка, подготовка и производство были максимально схожими.
  11. Журналы : обрабатывать журналы как потоки событий.
  12. Процессы администратора : запуск задач администратора / управления как одноразовых процессов.

Таким образом, пока нет конкретных рекомендаций для нативных облачных сред, но есть полезные шаблоны от Agile, микросервисов и приложений из двенадцати факторов.

Вернуться к коду

Во введении мы подробно объяснили, что такое облачный натив, а теперь давайте вернемся к нашему приложению и преобразуем его как нативное облачное приложение. В первом посте мы объяснили модель, сущность и принципы работы Jakarta NoSQL. Итак, мы возьмем его отсюда и воспользуемся самым простым способом обработки запросов с NoSQL и MongoDB с репозиторием.


Джава