sap cloud platform что это

SAP HANA Cloud Platform: загрузка и хранение данных

В предыдущей статье мы рассказали о том, как создать тестовый экземпляр облачной платформы (далее HCP — HANA Cloud Platform) и как связать среду разработки Eclipse с облаком на примере простейшего XS приложения (XS — eXtended Services).

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

Итак, что мы имеем. Первое — доступ к панели управления нашего облака по адресу https://account.hanatrial.ondemand.com/cockpit

Второе — созданный экземпляр платформы на SAP HANA под названием helloworldtrial.
sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Третье — установленную среду разработки Eclipse с плагином для SAP HANA Cloud и с созданным подключением к helloworldtrial:
sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Что мы хотим сделать: создать таблицу в базе данных SAP HANA и загрузить туда данные из внешнего источника. Для наших целей будем хранить информацию о текущей температуре воздуха в нескольких городах. Данные, для примера, будем брать с openweathermap.org.

Начнём с создания нового проекта. Запускаем наш Eclipse, открываем перспективу SAP HANA Development (Window > Open Perspective > Other. ):
sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Создаём новый проект XS приложения, указав его название (File > New > Project… > SAP HANA Cloud):
sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Далее нам требуется выполнить стандартные шаги по выбору workspace’а и пакета. Внимание! Для нашего примера важно выбрать пакет, соответствующий нашему экземпляру облачной системы, вида pXXXXXXXXtrial.helloworldtrial. Где pXXXXXXXXtrial — имя пользователя в облачной системе:
sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

И укажем наш главный файл со скриптом, который и будет выполнять всю работу — get_weather.xsjs:
sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Свойство exposed показывает, что данное XS приложение может быть выполнено на сервере из URL. Свойство default_file указывает главный исполняемый файл приложения; это позволит нам запустить его напрямую из панели управления (cockpit), не дописывая имя файла.

Теперь активируем наше приложение для проверки того, что на данном этапе все шаги были выполнены правильно. Для этого щёлкнем правой кнопкой мыши на нашем проекте во вкладке Project Explorer и в контекстном меню выберем Team > Activate.

Перезапустим панель управления в веб браузере нажав обновить (F5); иначе наше XS приложение не отображается в списке:
sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Щёлкнем на URL нашего XS приложения:
sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Должно открыться новое окно с содержимым “Wrong content type request use application/json”. Удостоверившись, что наша заготовка запускается, мы можем двигаться дальше.

Самый быстрый способ — запустить на выполнение скрипт, подставив имя нашей схемы. Идём на вкладку Systems и запускаем SQL консоль для нашего облака:
sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Запускаем такой скрипт, подставив имя нашей схемы NEO_ :

Обратим внимание на то, что мы создаём таблицу с колоночным хранением. А также неявно создаём т.н. sequence, который генерирует последовательность целых чисел и, при создании записей в таблице, сохраняет их в атрибуте ID.

назовём его weather_access:
sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Заменим содержимое этого файла на следующий фрагмент, а затем активируем файл:

Заменим p >>trial на имя вашего пользователя. Вместо схемы NEO_ >>> необходимо вставить наименование своей схемы, которую мы сохранили при создании таблицы. А теперь начинается магия, связанная с тем, что наше облако в триал режиме создаёт множество пользователей на одной системе. И для разделения прав доступа у этих пользователей весьма ограниченные привилегии.

Для того чтобы наш системный пользователь получил роль weather_access, мы должны выполнить системную процедуру.
Запустим SQL консоль и в ней выполним такой скрипт:

Хотелось бы обратить внимание на то, что при изменении таблиц, представлений, процедур в каталоге trial системы необходимо в явном виде обновлять разрешения на доступ к этим объектам. Это делается вызовом процедуры:

Для получения температуры мы используем API от openweathermap.org. Подробнее данный сервис был описан в статье на Хабре.
Пример URL для получения текущих данных о погоде в Москве: http://api.openweathermap.org/data/2.5/weather?q=Moscow,ru&units=metric.
Полученные данные в виде JSON объекта содержат, в том числе, информацию о температуре воздуха в формате unix timestamp. Тэг “dt”:

И заменим содержимое этого файла на:

Сохраним и активируем этот объект.

Теперь в панели управления HCP на вкладке с XS приложениями мы увидим новый элемент в панели Destinations:
sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Кликнув на URL нашего приложения, запустим скрипт и получим приблизительно такой результат на экране:
sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Теперь в Eclipse проверим, что данные были сохранены в таблице. Для этого по правой кнопке мыши на таблице T_WEATHER выберем Open Data Preview:
sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

И убедимся, что новая запись в базе данных была создана:
sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Источник

SAP Cloud Platform

Содержание

SAP Cloud Platform — это открытая облачная платформа SAP, которая предоставляет возможности для хранения и обработки данных в SAP HANA и ASE, а также в opensource-системах PostgreSQL, MongoDB и Hadoop.

SAP Cloud Platform подходит для разработки мобильных и HTML-приложений, которые могут быть интегрированы с любыми облачными или локальными системами благодаря встроенному в SAP Cloud Platform сервису интеграции.

Доступность в облаке Microsoft Azure

5 декабря 2019 года Microsoft и SAP SE объявили о заключении масштабного партнерского соглашения `Embrace` по совместному продвижению на рынок продуктов SAP S/4HANA и SAP Cloud Platform в облаке Microsoft Azure – от разработки концепции до организации продаж. Его цель – упростить все этапы модернизации и развертывания платформ. Подробнее здесь.

Получение сертификата ФСТЭК

18 июля 2019 года компания SAP объявила о получении сертификатов Федеральной службы по техническому и экспортному контролю (ФСТЭК) России на облачные решения SAP Cloud Platform, SAP Commerce Cloud (ex.SAP Hybris Commerce) и SAP Sales Cloud (ex. SAP Hybris Cloud for Customer). Сертификаты подтверждают, что все реализованные и заявленные функции безопасности в продуктах SAP функционируют правильно.

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

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

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Мы постоянно развиваем наши облачные продукты, в том числе и в области защиты и информационной безопасности. Получение новых сертификатов ФСТЭК — еще один шаг нашей компании в создании высокозащищенной среды для хранения и использования данных наших клиентов и соответствия законодательству Российской Федерации, — заявил Андрей Филатов, генеральный директор SAP CIS.

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Открытие бесплатного доступа

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

В соответствии с новой практикой действующие партнеры SAP могут обновить свои ранее оплаченные подписки для бесплатного использования SAP Cloud Platform на срок до 12 месяцев. Новые партнеры могут выбрать один из вариантов подписки на платформу. В обоих случаях можно выбрать один дополнительный сервис и до 64 Гбайт памяти, предоставляемые корпоративной системой SAP HANA для SAP Cloud Platform.

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

По словам вице-президента и руководителя партнерского бизнеса SAP в Северной Америке Марка Мандея (Marc Monday), изменения в стратегии лицензирования облачной платформы создадут новые возможности для ISV-, VAR- и MSP-партнеров. Топ-менеджер отметил, что компания «не знает обо всех потенциальных сценариях», которые партнеры могут использовать для излечения выгоды от новой политики. [1]

Совместное с «Вокорд» решение для видеоидентификации посетителей

13 сентября 2018 года компания Вокорд сообщила, что совместно с SAP SE разработала решение для видеоидентификации посетителей Центра цифрового лидерства SAP при помощи специализированных камер и системы распознавания лиц Vocord FaceControl и облачной платформы SAP Cloud Platform. Подробнее здесь.

Развитие мультиоблачной стратегии

Компания SAP 7 июня 2018 года сообщила об активном развитии своей мультиоблачной стратегии. Облачная платформа SCP доступна на базе Google Cloud Platform, Microsoft Azure, Amazon Web Services (AWS), а также через всех крупнейших облачных провайдеров.

В то же время, компания планирует запустить частное облако SAP Cloud Platform на базе IBM Cloud. По задумке компании, оно позволит клиентам из банковской сферы, здравоохранения и транспорта, а также тех отраслей, где активно работают с конфиденциальными данными, получить доступ к гибкому управлению и скорости облачных технологий без ущерба для безопасности и потери контроля.

SAP также представила набор инструментов для разработки на SAP Cloud Platform для Android. Он откроет клиентам доступ к сложным рабочим процессам через любое устройство на базе Android или Chrome OS.

Информационная безопасность SAP Cloud Platform

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Размещение SCP в московском ЦОДе

10 октября 2017 года компания SAP объявила о размещении своей облачной платформы разработки SAP Cloud Platform (SCP) в российском центре обработки данных. По информации SAP, Россия стала седьмой страной, в которой компания разместила платформу, инвестировав в этот проект несколько миллионов евро.

По словам представителей SAP, перенос платформы в локальный ЦОД в Москве обусловлен большим интересом рынка к совместным разработкам в облаках. Кроме того, ряду клиентов принципиально важно хранить данные на территории РФ, для других разработок перенос был необходим для работы с персональными данными на территории России. В целом доступность SCP в локальном ЦОДе повышает производительность работы платформы для пользователей из СНГ.

SCP содержит в себе микросервисы для интернета вещей, блокчейна, машинного обучения, аналитики больших данных, информационной безопасности. Облачная платформа может быть также использована для интеграции приложений SAP и других производителей. При минимальных инвестициях специалисты получают возможность быстрой разработки и подключения готовых сервисов вместо создания всего проекта с нуля, утверждают разработчики. Платформа имеет сертификат ФСТЭК на технические условия.

По данным SAP, российскими компаниями на SCP уже разработаны пилотные сценарии в области диспетчеризации скорой помощи, оптимизации складских ресурсов, мониторинга холодильного оборудования, расчета оптимальной цены товара с помощью различных математических моделей, формирования оптимального расписания и маршрутов загрузки банкоматов, создания парковочного облака, использования блокчейн в работе НПФ и многие другие.

Одной из первых использовать решение для промышленного интернета вещей, разработанное на платформе SCP, стала компания НЛМК. В рамках продолжения сотрудничества с Ростелекомом платформа SCP также будет размещена в совместном ЦОДе SAP и российского оператора.

SAP Cloud Platform SDK for iOS

27 февраля 2017 года Apple и SAP анонсировали программный инструментарий для разработки мобильных бизнес-приложений. Благодаря новому продукту, получившему название SAP Cloud Platform SDK for iOS, немецкая компания рассчитывает расширить свое присутствие в сегменте софта для смартфонов и планшетов.

SAP Cloud Platform SDK for iOS позволит разработчикам ПО, используя возможности языка программирования Swift, создавать адресованные крупным компаниям приложения для iPhone. К примеру, платформа позволит сотрудникам организаций проходить авторизацию в корпоративном программном обеспечении путем считывания отпечатков пальцев на iPhone или использовать смартфоны в качестве терминалов сбора данных на складах.

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Сотрудничество между нашими компаниями не имеет аналогов с технической точки зрения, — говорит старший вице-президент SAP Рик Ноулз (Rick Knowles). — Каждые пять-шесть недель мы собираем наших разработчиков в одном кабинете с ведущими инженерами Apple для анализа исходных кодов.

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Как отмечает агентство Reuters, совместный инструментарий SAP и Apple поможет разработчикам с интеграцией данных между бизнес-ориентированными системами SAP и iOS-приложениями, заточенными под потребителей. SAP Cloud Platform SDK for iOS, содержащий набор преднастроенных компонентов пользовательских интерфейсов, откроет простой доступ к различным функциям iPhone, в том числе к локационным сервисам, уведомлениям и Touch ID.

По данным аналитической компании App Annie, в 2016 году из App Store было скачано 30 млрд приложений, что на 12% больше, чем годом ранее. Примерно 75% выручки магазина пришлось на игры.

Выход SAP Cloud Platform SDK намечен на 30 марта 2017 года. Позднее будет запущена программа обучающая программа для разработчиков SAP Academy for iOS. [2]

Источник

Руководство по разработке облачных приложений с помощью SAP Cloud Platform и Cloud Foundry

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

В этой статье мы расскажем о нескольких этапах, которые помогут работать с Cloud Foundry и нашей облачной платформой:

Первоначальные требования к сайту:

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

Статья состоит из 7 разделов:

1. Подготовка среды разработки
2. Клонирование шаблона приложения из Github
3. Перемещение приложения в облако
4. Получение информации о приложении, запущенном в среде SAP Cloud Platform
5. Интеграция с сервисом Application Logging (логирование приложения)
6. Масштабирование приложения

Инструменты разработки
Чтобы выполнить шаги, которые описаны в этой статье, вам потребуется установить следующие компоненты:

Приложение «Product List»

Это приложение, используемое в качестве примера, содержащее в себе список продуктов. Оно будет развиваться и улучшаться по ходу выполнения шагов, которые мы рассмотрим в данной статье. Приложение будет работать в среде Cloud Foundry облачной платформы SAP, с использованием различных служб, таких как PostgreSQL для хранения в облаке, Application Logging (логирование приложения) и т.д. Это приложение SpringBoot с простым пользовательским интерфейсом.

PostgreSQL — это система управления объектно-реляционными базами данных с открытым исходным кодом. Это база данных корпоративного класса, совместимая с ACID. Онa доступна для использования в качестве сторонней службы в среде Cloud Foundry.

Сервис Application Logging

Вы можете создавать, просматривать и анализировать логи приложений с помощью службы Application Logging. Она основана на платформе логирования с открытым исходным кодом Elasticsearch, Logstash, Kibana (Elastic Stack). Приложение требует некоторой подготовки, прежде чем его логи будут переданы в службу Application Logging.

Сервис Application Autoscaler

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

1. Подготовка среды разработки

В первой части мы расскажем, как создать бесплатную пробную учетную запись в среде Cloud Foundry на базе SAP Cloud Platform и настроить локальную среду разработки. Также мы рассмотрим панель управления SAP Cloud Platform, которая является средством администрирования веб-приложений для облачной платформы.

1) Начало работы с Cloud Foundry

Если у вас еще нет пробной учетной записи в SAP Cloud Platform, то получите ее, следуя этой пошаговой инструкции.

В панели управления SAP Cloud Platform (SAP Cloud Platform cockpit) нажмите на вкладку «Home», чтобы перейти на домашнюю страничку SAP Cloud Platform. В открывшейся страничке нажмите на «Cloud Foundry Trial».

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

В появившемся окне выберете регион для вашей пробной учетной записи и нажмите «OK». В нашем случае был выбран регион «Europe (Frankfurt)».

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

После этого вы получите глобальный аккаунт, субаккаунт, организацию и пространство в выбранном регионе. Вы можете перейти к созданному пространству, нажав «Go to Space».

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Теперь у вас есть ваш бесплатный пробный аккаунт в среде Cloud Foundry.

Примечание: Если у вас уже есть пробная учетная запись в среде Cloud Foundry, просто нажмите на «Cloud Foundry Trial» на домашней страничке SAP Cloud Platform, после чего вы сразу же попадете в пространство вашей пробной учетной записи в среде Cloud Foundry.

2) Панель управления

Ниже представлена упрощенная доменная модель, которая используется в среде Cloud Foundry. Получить более подробную информацию вы можете в документации.

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Ниже — скриншот из «Панели управления» SAP Cloud Platform:

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

4) Настройка локальной среды разработки

Для выполнения следующих шагов и работы с Cloud Foundry потребуются инструменты разработки, описанные ниже. Если какие-либо инструменты не установлены на вашем ПК, установите их.

Cloud Foundry Command Line Interface (CF CLI)
Скачайте и установите Cloud Foundry CLI, как описано здесь.

Eclipse
— Для разработки потребуется Eclipse. В данном примере используется версия Neon. Скачать Eclipse IDE for Java EE Developers для версии Neon можно здесь.
— Также вам потребуется установить плагин STS (Spring Tool Suite) для Eclipse.
Как установить плагин STS — описано здесь.

2. Клонирование шаблона приложения из Github
В этом разделе мы расскажем, как клонировать целевую версию шаблона приложения «Product List», импортировать шаблон проекта в среду Eclipse, а затем собрать его.

Перейдите к источнику проекта в github.
Нажмите на кнопку «Clone or download» и выберете «Download ZIP».

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

В окне «Import Maven Projects» нажмите «Browse», чтобы прописать путь к разархивированной папке с проектом «cloud-cf-product-list-sample-master», которую вы сохранили ранее, после этого нажмите «Finish».

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Теперь проект импортирован в Eclipse, и вы видите ваш проект в окне «Project Explorer», как показано на скриншоте ниже.

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

2) Сборка проекта в Eclipse с использованием Maven

Перед тем, как собрать проект с помощью Maven, проверьте, используется ли в вашем Eclipse JRK. В том случае, если ваш Eclipse использует JRE вместо JRK, в процессе сборки вы можете получить ошибку об отсутствии компилятора: «[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK? «.

Как настроить Eclipse для корректной сборки проекта — описано здесь.

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

В окне «Edit Configuration» введите clean install в поле «Goals» и нажмите «Run». После этого начнется сборка проекта.

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Сборка должна закончиться без ошибок. В случае успешной сборки в консоли вы увидите сообщение об этом:

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

3. Перемещение приложения в облако

1) Вход в аккаунт через CF CLI
В этом упражнении вы узнаете, как загрузить приложение в вашу пробную учетную запись в среде Cloud Foundry платформы SAP Cloud Platform. Это можно сделать с помощью интерфейса командной строки Cloud Foundry (CF CLI).

Примечание для пользователей Windows: Откройте терминал (командную строку) на вашем компьютере. Для этого одновременно нажмите клавишу «Windows» и клавишу «R», а затем введите cmd в поле ввода и нажмите «OK».

Для начала вам нужно «сказать» вашему CF CLI, какой именно регион для среды Cloud Foundry вы собираетесь использовать. Для этого вам потребуется установить конечную точку API для облачного контроллера (Cloud Controller), находящегося в регионе, в котором создана ваша пробная учетная запись в среде Cloud Foundry. Сделать это можно при помощи команды

cf api CLOUD_FOUNDRY_API_ENDPOINT.

Так как в данном примере используется аккаунт, имеющий конечную точку API в регионе EU10, вводим cf api api.cf.eu10.hana.ondemand.com. Если ваш аккаунт создан в том же регионе, используйте эту же конечную точку API.

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Примечание: Вы можете найти все конечные точки API для разных регионов среды Cloud Foundry в официальной документации SAP Cloud Platform.

Теперь зайдите в вашу учетную запись, используя следующую команду:

После этого вам нужно будет ввести электронную почту и пароль, которые вы указывали при регистрации в SAP Cloud Platform.

Email> enter your e-mail
Password> password for your user

Далее вы должны выбрать организацию и пространство в Cloud Foundry, которые вы будете использовать для размещения приложения. Если в вашей учетной записи используется только одна организация и пространство, система автоматически выберет их для использования после входа в учетную запись, и они будут выведены в терминале под словом «OK».

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Примечание: Если в вашей учетной записи в Cloud Foundry создано несколько организаций и пространств, вы можете выбрать именно те, которые вы собираетесь использовать. Для этого в терминале вам нужно будет ввести следующую команду:

Теперь вы готовы начать работу с вашей учетной записью в среде Cloud Foundry.

2) Манифест приложения

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

Перейдите в окно Project Explorer в Eclipse, где находится шаблон вашего приложения «Product List», и откройте файл manifest.yml.

После того, как вы откроете этот файл, вставьте в него следующий фрагмент:

applications:
# Application
— name: product-list
instances: 1
memory: 896M
host: product-list-YOUR-BIRTHDATE-DAY-MONTH-YEAR
path: target/my-product-list-0.0.1-SNAPSHOT.jar
buildpack: github.com/cloudfoundry/java-buildpack.git#v4.3

Отредактируйте вставленный фрагмент следующим образом:

Сохраните файл manifest.yml после редактирования.

3) Перемещение

В командной строке пропишете путь к месту нахождения вашего приложения SpringBoot, где вы только что создали файл manifest.yml, а затем введите следующую команду:
cf push

В данном примере приложение хранится в папке cloud-cf-product-list-sample-master, поэтому в терминале эта команда будет выглядеть следующим образом:

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Данная команда запускает процесс развертывания приложения с помощью только что созданного файла manifest.yml. Первый шаг — загрузка двоичных файлов приложения в облако. На следующем этапе происходит так называемая постановка. Следующая фаза — фаза выпуска. Она сообщает Cloud Foundry, как запустить приложение. После успешного завершения команды вы можете открыть приложение в браузере: для этого скопируйте и вставьте URL-адрес, выведенный на консоли после завершения.

Примечание: В случае сбоя команды прочитайте сообщение об ошибке. Возможно, вы неверно указали параметры в manifest.yml. Или превышена квота в вашей пробной учетной записи. Если вы уже использовали ваш пробный аккаунт, вам необходимо удалить приложения и экземпляры служб, перед тем как продолжать упражнения. Вы можете сделать это через панель управления SAP Cloud Platform:

Теперь ваше приложение запущено в вашей учетной записи в среде Cloud Foundry платформы SAP Cloud Platform.

После этого вы попадете в свой глобальный аккаунт. Теперь нажмите на свой суббакаунт (обычно он имеет название «trial»).

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Нажмите на вкладку «Spaces» в меню слева и выберете пространство, в котором находится ваше приложение (обычно это «dev»)

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

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

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

В открывшемся окне с информацией о приложении, вы найдёте путь к приложению (Application Routes). Нажмите на URL-адрес, чтобы запустить ваше приложение в браузере.

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

4) Сервисы

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

В терминале введите команду cf marketplace для отображения всех доступных вашему пользователю сервисов. Вы увидите список сервисов, краткое описание и информацию о планах обслуживания.

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Прежде чем приложение начнет использовать службу, необходимо создать экземпляр службы. Создайте экземпляр службы PostgreSQL с помощью команды cf create-service SERVICE PLAN SERVICE_INSTANCE. Для этого введите в терминале:

cf create-service postgresql v9.6-dev postgres

Только что созданный postgresql сервис появится в списке сервисов, используемых в вашем пространстве. Чтобы убедиться в этом, введите следующую команду:

Последний шаг — связать экземпляр службы с вашим приложением. Для этого введите команду cf bind-service APP_NAME SERVICE_INSTANCE в CF CLI:

cf bind-service product-list postgres

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Теперь нужно обновить приложение, чтобы подключение к PostgreSQL для него было сохранено и этот сервис использовался в дальнейшем. Для этого используйте команду cf restage APP_NAME:

cf restage product-list

После этого введите команду cf services, и вы увидите, что теперь экземпляр службы PostgreSQL присоединен к приложению «Product List».

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Примечание: Альтернативным способом присоединения сервисов к приложению является манифест приложения. Если вы используете manifest.yml для привязки сервисов, то после редактирования этого файла вам необходимо будет заново загрузить приложение в облако с помощью команды push, чтобы среда обновилась, и приложение смогло использовать эту услугу. Таким образом, для этого примера вам нужно добавить следующий фрагмент в файл манифеста, а затем снова загрузить приложение в облако:

Обычно на этом этапе вам необходимо определить экземпляр службы и адаптировать код приложения. Информация о том, как получить доступ к экземпляру службы, теперь доступна в вашей прикладной среде как переменная среды VCAP_SERVICES. В нашем случае среда SpringBoot обеспечивает механизм для обнаружения службы PostgreSQL и начала работать с ней, поэтому нет необходимости изменять код приложения.

4. Получение информации о приложении, запущенном в среде SAP Cloud Platform

Как получить дополнительную информацию о приложениях и службах, запущенных в пробной учетной записи в среде Cloud Foundry, и как получить основные метрики и логи.
Эту информацию можно узнать как с помощью CF CLI, так и через панель управления SAP Cloud Platform. Будут рассмотрены оба варианта.

1) Подключение службы для просмотра логов

Перед просмотром логов в Kibana, необходимо подключить службу application-logs к приложению. Kibana — веб-интерфейс для вывода индексированных Elasticsearch логов. Воспользуемся CLI и командами, которые мы использовали в предыдущем упражнении, для создания и привязки экземпляра службы к нашему приложению. Последовательно введите в терминале следующие команды:

cf marketplace
cf create-service application-logs lite myapplogs
cf services
cf bind-service product-list myapplogs
cf restage product-list

2) Просмотр приложений, загруженных в облако

Получим список приложений, запущенных в пространстве нашей учетной записи, с информацией о них. Это можно сделать через CF CLI и через панель управления.

Для отображения списка запущенных приложений, введите в терминале следующую команду:
cf apps

Панель управления SAP Cloud Platform

Перейдите в пространство, созданное в среде Cloud Foundry и выберете вкладку «Applications» в меню слева. Перед вами появится список приложений, находящихся в этом пространстве. В данном примере в пространстве находится только приложение «Product List».

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

3) Просмотр сервисов

Получим список созданных в вашем пространстве экземпляров служб и их привязок.

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

Панель управления SAP Cloud Platform

В меню навигации, которое находится слева, есть вкладка «Services». Выберете ее, а затем нажмите на появившуюся вкладку «Service Instances», чтобы увидеть все экземпляры служб, созданные в вашем пространстве, а также основную информацию о них.

4) Просмотр логов приложения

Просмотреть логи приложения можно с помощью команды cf logs APP_NAME. Для этого введите в терминале:

cf logs product-list

Примечание: Вызовите приложение в случае, в том случае, если логи не отображаются после ввода данной команды.

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

Панель управления SAP Cloud Platform

Чтобы просмотреть журналы приложений в панели управления, снова перейдите к списку приложений в вашем пространстве (вкладка «Applications») и выберете запущенное приложение (щелкните по имени приложения). Затем в меню слева выберете «Logs», после чего вы увидите таблицу с последними логами приложений. Если ваше приложение имеет более одного экземпляра приложения, вы можете выбрать, для какого экземпляра вы хотите просмотреть журналы.

5) Отображение метрик

Получим отображение состояния работоспособности и статуса приложения, включая информацию о потреблении процессора, памяти и диска.

CF CLI
Для отображения метрик приложения, введите в терминале команду:

cf app product-list

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Панель управления SAP Cloud Platform

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

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

6) События

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

Увидеть последние события приложения через терминал можно с помощью команды cf events APP_NAME. Введите команду:

cf events product-list

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Панель управления SAP Cloud Platform

Чтобы просмотреть события приложения в панели управления, перейдите к списку приложений в вашем пространстве (вкладка «Applications») и выберете запущенное приложение (щелкните по имени приложения). Затем в меню слева выберете «Events».

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

7) Переменные среды

Доступ к переменным среды
Увидеть список переменных среды можно с помощью CF CLI, путем ввода следующей команды в терминале:

cf env product-list

Также список переменных среды можно получить через панель управления SAP Cloud Platform. Для этого перейдите к списку приложений в вашем пространстве (вкладка «Applications») и выберете запущенное приложение (щелкните по имени приложения). Затем в меню слева выберете «Environment Variables».

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

В следующих примерах показано, как обращаться к переменным среды из приложения программным способом: примеры на Java, NodeJS и Ruby.

Установка переменных среды

Специфичные для среды приложения переменные могут быть заданы разработчиком приложения с помощью команды в CF CLI:

cf set-env APP_NAME VARIABLE_NAME VARIABLE_VALUE

Или путём их описания в файле manifest.yml приложения следующим образом:\

— …
env:
VARIABLE_NAME_1: VARIABLE_VALUE_1
VARIABLE_NAME_2: VARIABLE_VALUE_2

Также задать переменные можно через панель управления SAP Cloud Platform. Для этого перейдите к списку приложений в вашем пространстве (вкладка «Applications») и выберете запущенное приложение (щелкните по имени приложения). Затем в меню слева выберете «User-Provided Variables» и в открывшемся окне нажмите «Add Variable».

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Системные переменные среды

Полный список переменных среды, которые Cloud Foundry предоставляет контейнеру приложения, представлен ниже:

o CF_INSTANCE_ADDR
o CF_INSTANCE_GUID
o CF_INSTANCE_INDEX
o CF_INSTANCE_IP
o CF_INSTANCE_INTERNAL_IP
o CF_INSTANCE_PORT
o CF_INSTANCE_PORTS
o HOME
o MEMORY_LIMIT
o PORT
o PWD
o TMPDIR
o USER
o VCAP_APP_HOST
o VCAP_APP_PORT
o VCAP_APPLICATION
o VCAP_SERVICES

Последняя переменная (VCAP_SERVICES) важна в том случае, если ваше приложение использует привязываемые службы, т.к. Cloud Foundry добавляет к ней сведения о привязке в тот момент, когда вы загружаете приложение после привязки службы к нему. Пример основан на приложении, которое связано со службой postgresql.

8) Проверка работоспособности приложения

Проверка работоспособности приложения — это процесс мониторинга, который постоянно проверяет статус приложения, запущенного в Cloud Foundry. В среде Cloud Foundry таймаут по умолчанию составляет 60 секунд, а максимальный настраиваемый таймаут — 180 секунд. В Cloud Foundry доступны три типа проверки работоспособности:

http: — проверка работоспособности типа http выполняется с помощью запроса GET на настроенную конечную точку http. Когда проверка работоспособности получает ответ HTTP 200, приложение считается «здоровым». Конфигурированная конечная точка должна отвечать в течение 1 секунды, чтобы считаться здоровой.

port: — это проверка по умолчанию. Этот тип проверки совершает TCP-соединение с портом или портами, настроенными для приложения (по умолчанию 8080). TCP-соединение должно быть установлено в течение 1 секунды, чтобы считаться приложение считалось «здоровым».

process: Diego гарантирует, что любой процесс, объявленный для приложения, будет работать. Если процесс завершается, Diego останавливается и удаляет экземпляр приложения.

Тип проверки работоспособности может быть указан при перемещении приложения в облако с помощью команды push:

С помощью CF CLI можно назначить тип проверки работоспособности уже запущенному приложению, используя следующую команду:

cf set-health-check APP_NAME (process | port | http [—endpoint PATH])

Узнать тип проверки работоспособности для определенного приложения можно с помощью команды CF CLI cf get-health-check APP_NAME. Введите в терминале следующую команду, чтобы узнать тип проверки работоспособности для приложения «Product List»:

cf get-health-check product-list

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

5. Интеграция с сервисом Application Logging (логирование приложения)

В этом упражнении вы узнаете, как интегрировать приложение с сервисом Application Logging (логирование приложения) в SAP Cloud Platform, и как визуализировать логи приложения на панелях Kibana с логами компонентов Cloud Foundry.

1) Логирование

Рассмотрим исходный код приложения. В нем уже используется библиотека SAP – поддержка логирования для Cloud Foundry: github.com/SAP/cf-java-logging-support. В pom.xml объявлены требуемые зависимости, также доступны конфигурация (logback.xml) и реализация (ConfigLogging).

Откройте Eclipse и перейдите к классу Controller.java в вашем приложении «product-list».
Внутри класса вы увидите объект Logger:

private static final Logger logger = LoggerFactory.getLogger(Controller.class);

Метод getProductByName записывает следующие точки входа логов:

logger.info(«***First — Retrieving details for ‘<>‘.», name);
logger.info(«***Second — Retrieving details for ‘<>‘.», name);

Служба application-logs уже создана и привязана к приложению product-list (это было сделано в предыдущем упражнении).

Перед генерацией логов измените файл logback.xml.

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это
sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

• После успешной сборки проекта вам необходимо будет переустановить приложение в Cloud Foundry.

В командной строке пропишете путь к месту нахождения вашего приложения SpringBoot, и введите команду

cf push product-list.

2) Генерирование логов

Для генерации логов достаточно вызвать приложение через URL-адрес в панели управления SAP Cloud Platform.

Для генерации логов приложения сделайте запрос в браузере, прописав следующий путь:

YOUR_APPLICATION_URL/productsByParam?name=Notebook Basic 15.

В панели управления перейдите на вкладку «Logs», которая расположена в меню слева, для приложения «product-list». Затем нажмите на «Open Log Analitic», как показано на скриншоте ниже:

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Это должно привести к открытию в браузере следующего URL-адреса: logs.cf.eu10.hana.ondemand.com. Чтобы войти в систему, введите почту и пароль, которые вы используете для входа в свою пробную учетную запись в SAP Cloud Platform.

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

После того, как вы попадете в Kibana, выберете приложение «product-list».

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

В открывшемся окне выберете «Requests and Logs».

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

После этого появятся запросы и логи приложения.

Поле msg в логах приложения будет выглядеть несколько странно. Видно, что логи и запросы не связаны, т.к. в логах приложения нет идентификатора корреляции (Correlation ID). Это затрудняет определение принадлежности логов приложения определенным запросам.

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Примечание: Если вы не видите логи в Kibana, это может быть вызвано тем, что по умолчанию вы видите журналы за последние 15 минут. Вы можете изменить этот интервал — в правом верхнем углу нажмите на надпись «Last 15 minutes» и в открывшемся окне задайте нужный вам интервал.

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Примечание: Дополнительную информацию о логировании приложения в среде Cloud Foundry платформы SAP Cloud Platform вы можете найти в официальной документации: обзор сервиса Application Logging в официальной документации.

6. Масштабирование приложения

В этом упражнении вы узнаете, как масштабировать приложение.

Нагрузка системы, количество и характер задач — все эти факторы могут изменять пространство и память на диске, используемые приложением. Для многих приложений увеличение доступного пространства, памяти или запуск большего количества экземпляров (ЦП) может повысить общую производительность. Аналогично, запуск дополнительных экземпляров приложения может позволить приложению регулировать увеличение нагрузки и одновременных запросов. Это регулирование называется масштабированием приложения.

Вы можете масштабировать приложение таким образом, чтобы оно было приспособлено к изменениям в трафике, вы можете масштабировать его вручную через CF CLI или через панель управления SAP Cloud Platform, а также можно настроить автоматическое использование сервиса Application Autoscaler (автоматическое масштабирование приложения) платформы SAP Cloud Platform для вашего приложения.

1) Подготовительный этап
Если в вашей учетной записи запущено несколько приложений, вам нужно будет немного почистить ваш аккаунт, чтобы убедиться, что у вас достаточно квоты, чтобы попробовать варианты масштабирования. Оставьте только один экземпляр приложения «Product List» в вашей учетной записи, остальные удалите.

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

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Если в списке окажется больше одного запущенного приложения «Product List», остановить их, оставив только одно такое приложение, чтобы освободить память для выполнения упражнений по масштабированию. Для этого используйте следующую команду для каждого запущенного приложения, которое вы хотите остановить:

Примечание: Прежде чем продолжить следующие упражнения, убедитесь, что в вашей учетной записи запущен один экземпляр приложения «Product List». В том случае, если нет ни одного экземпляра, вы можете клонировать шаблон приложения из Github и затем переместить проект в облако с помощью CF CLI (эти процессы рассмотрены во втором и третьем упражнениях статьи).

2) Вертикальное масштабирование
Вертикальное масштабирование приложения меняет ограничение на дисковое пространство или ограничение памяти, которое Cloud Foundry применяется ко всем экземплярам приложения. Существует два способа вертикального масштабирования приложения: с помощью CF CLI или через панель управления в SAP Cloud Platform. Рассмотрим оба способа.

Предположим, мы хотим уменьшить масштаб приложения и сделать его более компактным, установив ограничение памяти до 712 МБ. Для этого необходимо ввести следующую команду:

Выполнение этой команды в CF CLI приведет к перезапуску приложения (вы должны подтвердить перезапуск приложения с помощью ввода «Yes» в консоли). Как только приложение будет перезапущено, вы можете перейти в панель управления в SAP Cloud Platform, открыть приложение «Product List», чтобы убедиться, что теперь оно использует 712 МБ памяти. Вы можете также можете просмотреть информацию о приложении через консоль с помощью команды:
cf app APP-NAME

Панель управления SAP Cloud Platform
Ту же операцию вертикального масштабирования можно выполнить через панель управления.
Для этого перейдите к списку приложений в вашем пространстве (вкладка «Applications») и выберете запущенное приложение (щелкните по имени приложения). Затем в меню слева выберете вкладку «Overview». В открывшемся окне найдите секцию, которая содержит информацию о квоте, здесь вы увидите квоту памяти и дисковые квоты для вашего приложения. Вы можете изменить их, нажав кнопку «Change Quota».

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Нажмите на кнопку «Change Quota» и в открывшемся окне уменьшите квоту памяти на диске, установив, например, 512 МБ. Нажмите кнопку «Save».

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Вы можете проверить, изменилось ли используемое приложением пространство диска, в секции с информацией о квоте во вкладке «Overview» приложения.

Если изменения не вступили в силу, вам понадобится вручную перезапустить приложение. Вы можете сделать это с помощью кнопки «Restart».

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

3) Горизонтальное масштабирование
Горизонтальное масштабирование приложения создает или удаляет экземпляры приложения. Входящие запросы приложения автоматически регулируются по нагрузке во всех экземплярах приложения, и каждый экземпляр обрабатывает задачи параллельно с другими экземплярами. Добавление экземпляров позволяет вашему приложению обрабатывать большее количество трафика и запросов. Существует два способа вертикального масштабирования приложения: с помощью CF CLI или через панель управления в SAP Cloud Platform. Рассмотрим оба способа.

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Панель управления SAP Cloud Platform

Вы также можете проводить горизонтальное масштабирование через панель управления. Перейдите к приложению через панель управления. В разделе экземпляров, который можно найти, нажав вкладку «Overview» в меню слева, вы должны увидеть два работающих экземпляра, т.к. мы только что увеличили их количество. В верхней части находятся кнопки «+ Instance» и «- Instance». Нажав на кнопку «- Instance», вы остановите один из работающих экземпляров приложения.

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

4) Автоматическое масштабирование
Мы рассмотрели ручной способ масштабирования приложения, используя команду cf scale в командной строке и панель управления SAP Cloud Platform. Недостатком этого способа является то, что вы обычно выполняете эти действия только в том случае, если замечаете, что производительность вашего приложения ухудшилась. Существует риск, что ваше приложение выйдет из строя, если масштабирование не будет выполнено в соответствующее время. Поэтому иногда лучше иметь возможность автоматического масштабирования, что позволит предотвратить сбои приложения.

Рассмотрим, как осуществить возможность автоматического масштабирования приложения на основе пользовательских политик масштабирования для удовлетворения изменений в трафике или в запросах с помощью службы Application Autoscaler платформы SAP Cloud Platform.

Создание нагрузки на приложение

Мы рассмотрим автоматическое масштабирование, основанное на увеличении использования памяти. Для этого подготовим симуляцию процесса, увеличивающего использование памяти в приложении «Product List».

Перейдите к классу Controller приложения в Eclipse и добавьте следующую конечную точку API.

@GetMapping(«/scaleup»)
public String scaleUp() <
String str = «»;
HashMap h = null;
for (int i = 0; i ();
String key = new String(«key»);
Double value = new Double(100.98);
h.put(key, value);
str = str + h.toString();
>
return «success»;
>

Это создаст большое количество нежелательных объектов, что увеличит использование памяти.

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это
sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

В этом же классе добавьте импорт import java.util.HashMap;.

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Теперь добавим действие для запуска API, увеличивающего использование памяти.
Перейдите к файлу index.html, расположенного по пути src/main/resources/index.html и добавьте следующий фрагмент под комментарием Insert the code to increase the memory of the application в этом файле:

/* Adding Toolbar to the UI */
var toolBar = new sap.m.Toolbar();
var memButton = new sap.m.Button( <
title: «Scale Up»,
press: function (oEvent) <
jQuery.sap.require(«sap.m.MessageBox»);
sap.m.MessageBox.show(
«This will scale up the memory of the application», <
icon: sap.m.MessageBox.Icon.INFORMATION,
title: «ScaleUp Application»,
actions: [sap.m.MessageBox.Action.OK],
onClose: function(oAction) <
var oScaleModel = new sap.ui.model.json.JSONModel();
var scaleUpUrl = document.URL + «scaleup»;
oScaleModel.loadData(scaleUpUrl);
console.log(scaleUpUrl);
>
>
);
>
>);
memButton.setText(«Scale Up»);
toolBar.addContent(memButton);
productList.setHeaderToolbar(toolBar);

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Использование памяти должно резко увеличиться.

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Теперь, когда мы подготовили наше приложение, давайте рассмотрим, как воспользоваться службой Application Autoscaler для автоматического масштабирования приложения, когда использование памяти увеличивается и выходит за рамки.

1) Создание экземпляра службы и определение правил масштабирования
Создать экземпляр службы и определить правила масштабирования можно не только через CF CLI, но и с помощью панели управления SAP Cloud Platform. Давайте воспользуемся панелью управления.

Перейдите в свою пробную учетную запись, выбрав то пространство, в котором запущено приложение «Product List» (обычно это «dev»). Нажмите на вкладку «Services» в меню слева и в выпавшем списке выберете «Service Marketplace». В открывшемся окне вы должны увидеть сервис Application Autoscaler. Нажмите на этот сервис.

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

В открывшемся окне в меню слева выберете вкладку «Instances» и нажмите на кнопку «New Instance».

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Появится окно создания экземпляра.
На первом этапе вам нужно выбрать план обслуживания. Для пробных учетных записей доступна только план «Lite», поэтому просто нажмите кнопку «Next».

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Следующий шаг вы можете пропустить, так как вы можете указать параметры во время приложения. Поэтому нажмите кнопку «Next».

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Следующий шаг вы также можете пропустить, нажмите на кнопку «Next».

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

В качестве последнего шага укажите имя экземпляра службы, например, «myautoscaler». Нажмите кнопку «Finish».

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

В результате будет создан экземпляр службы Application Autoscaler.

2) Привязка приложения к экземпляру службы

После создания экземпляра службы вы снова попадете во вкладку с экземплярами службы «Application Autoscaler». Нажмите на экземпляр, который вы только что создали:

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

В открывшемся окне с информацией об этом экземпляре, нажмите на кнопку «Bind Instance».

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Откроется окно создания привязки службы. Выберете приложение «product-list» в списке приложений.

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

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

<
«instance_min_count»: 1,
«instance_max_count»: 3,
«scaling_rules»: [
<
«metric_type»: «memoryused»,
«stat_window_secs»: 60,
«breach_duration_secs»: 60,
«threshold»: 400,
«operator»: «>=»,
«cool_down_secs»: 60,
«adjustment»: «+1»
>
]
>

Служба увеличит экземпляр на 1 [adjustment: +1], когда память будет превышать пороговое значение. Вы можете отрегулировать значения в соответствии с требованиями вашего приложения. Аналогичным образом вы можете добавить любое другое правило масштабирования. Например, для уменьшения масштаба, когда использование памяти падает ниже определенного порогового значения.
В том же окне создания привязки поставьте галочку рядом с «Specify Parameters», появится поле, куда можно будет вставить данный фрагмент. Вставьте фрагмент кода и нажмите «Save».

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Теперь давайте посмотрим, как сервис «Application Autoscaler» помогает приложению масштабироваться автоматически на основе его показателей.
1) Перезагрузите приложение, чтобы изменения вступили в силу (для этого переместитесь в панель управления, на вкладке «Applications» выберете приложение «Product List», затем нажмите «Overview» и в открывшемся окне нажмите «Restart»);
2) Запустите приложение в браузере, нажав на URL-адрес приложения;
3) Проверьте использование памяти приложения с помощью команды cf app в CF CLI, или используя панель управления SAP Cloud Platform (информацию можно найти на вкладке «Overview»);

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

4) Теперь нажмите на кнопку «Scale Up» в приложении, открытом в браузере;
5) Снова проверьте память приложения через несколько секунд с помощью команды cf app в CF CLI, или используя панель управления в SAP Cloud Platform (информацию можно найти на вкладке «Overview»);

6) Использование памяти должно увеличиться до такого значения, которое будет выше порогового значения, определенного в политике масштабирования (это значение вы указывали ранее в параметрах привязки в поле threshold). Если этого не произошло, повторите шаги 3 и 4.
7) Когда использование памяти превысит пороговое значение (threshold), а значение времени будет превышать значение breach_duration_secs, указанное в политике масштабирования, сервис «Application Autoscaler» увеличит экземпляр приложения на 1.
8) Проверьте количество экземпляров приложения с помощью команды cf app в CF CLI, или используя панель управления в SAP Cloud Platform (информацию можно найти на вкладке «Overview»).

sap cloud platform что это. Смотреть фото sap cloud platform что это. Смотреть картинку sap cloud platform что это. Картинка про sap cloud platform что это. Фото sap cloud platform что это

Заключение

Итак, среда Cloud Foundry на базе платформы SAP Cloud Platform является отличным решением для тех, кто хочет быстро и без особых затруднений разработать облачное приложение и добавить в него возможности мониторинга, масштабирования и обновления.

В ходе данной мы рассказали о следующих этапах по работе с Cloud Foundry на SAP Cloud Platform:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *