Сегодня мы учимся работать в облаке с помощью облачной платформы CloudFoundry от VMWare. По дороге мы собираемся настроить целую кучу вещей, которые можно использовать повторно для некоторых будущих приключений! Так что без дальнейших церемоний, давайте погрузимся.
Начните работать с примером Spring Roo
Spring roo — это инструмент быстрой разработки приложений (RAD) для Java. Он предлагает широкий спектр возможностей и интегрируется с различными платформами. Что нас интересует, так это запуск проекта, который мы можем использовать в этом руководстве. Вы можете скачать Roo отсюда, а затем распаковать в соответствующий каталог. Измените переменную PATH, добавив в нее подкаталог bin. Чтобы проверить, все ли мы настроены правильно, введите «roo» в командной строке, и на экране должно появиться следующее:
Если Roo работает нормально, то мы находимся всего в одном шаге от готовности нашего проекта. Перейдите в каталог примеров в каталоге Roo и скопируйте файл «clinic.roo» туда, где вы хотите разместить свой проект. Перейдите в каталог, в который вы поместили файл clinic.roo. Теперь введите «roo», который приведет вас в командную строку roo, а затем выполните следующую команду.
[исходный код]
скрипт — файл clinic.roo
[/исходный код]
Это сгенерирует код для примера проекта для клиники для домашних животных. Вы можете увидеть, какие команды запускаются в roo, проверив файл clinic.roo в любом текстовом редакторе. Как только проект сгенерирован, вы можете выйти из командной строки с помощью команды «exit». Чтобы проверить, является ли созданный нами проект, запустите команду «mvn tomcat: run» из каталога, в котором находятся файл project и pom.xml. Команда вызовет встроенный контейнер и хост-проект внутри него. Когда выполнение команды завершится, вы увидите порт и хост проекта:
[исходный код]
2012-04-11 09: 29: 11,657 [main] ИНФОРМАЦИЯ org.springframework.web.servlet.DispatcherServlet — FrameworkServlet ‘petclinic’: инициализация завершена в 1918 мс
11 апреля 2012 г. 9:29:11 org.apache.coyote.http11.Http11Protocol init ИНФО: Инициализация Coyote HTTP / 1.1 на http-8080
11 апреля 2012 г. 9:29:11 org.apache.coyote.http11.Http11Протокол запуска ИНФОРМАЦИЯ: Запуск Coyote HTTP / 1.1 на http-8080
[/исходный код]
Чтобы проверить приложение, нажмите на ссылку « http://127.0.0.1:8080/petclinic/ ». Вы можете поиграть в приложение, чтобы понять функциональность, которую оно предлагает. Если все выглядит хорошо, мы создали проект с нуля менее чем за десять минут!
Вернитесь в командную строку roo и команду fire.
[исходный код]
$ выполнить пакет
[/исходный код]
Эта команда занимает некоторое время и упаковывает наше приложение с необходимыми зависимостями и в формате веб-приложения. Если вы проверите целевой каталог, у него будет каталог моментального снимка сборки, например, в моем случае: «petclinic-0.1.0.BUILD-SNAPSHOT». Это будет готово к развертыванию, когда у нас будет готов наш облачный сервер.
Установите Ruby и CloudFoundry VMC
Установите поддерживаемые версии ruby (1.8.7 и 1.9.2), подходящие для вашей платформы, и проверьте правильность установки с помощью «ruby -v». Мы установим интерфейс командной строки (CLI) — «vmc», который является гемом ruby. Мы будем использовать vmc cli для всех операций на CloudFoundry. Наш интерфейс будет одинаковым независимо от того, запускаем ли мы команды для экземпляра PaaS или микро-экземпляра, размещенного на нашей машине. Для установки vmc gem запустите команду (для систем на основе linux / unix вы должны будете поставить префикс «sudo» и иметь соответствующие разрешения):
[исходный код]
$ gem install vmc
[/исходный код]
Для быстрого тестирования нашей установки используйте команду «vmc info», которая выдаст вывод, подобный следующему тексту. Мы протестируем приложение в следующих разделах.
[исходный код]
Облачная прикладная платформа VMware
Для поддержки посетите http://support.cloudfoundry.com
Цель: http://api.cloudfoundry.com (v0.999)
Клиент: v0.3.15
[/исходный код]
Для получения полного списка команд:
[исходный код]
$ vmc help
[/исходный код]
Установите VM Player и запустите CloudFoundry Micro
Вы можете пропустить этот раздел и перейти к разделу «Развертывание приложения в облаке Cloudfoundry», если вы хотите пропустить установку экземпляра CloudFoundry и т. Д., Или просто быстро протестировать экземпляр облака, прежде чем углубляться в детали настройки микро экземпляра.
Прежде чем устанавливать CloudFoundry micro, зарегистрируйтесь на http://cloudfoundry.com/, это поможет нам позже. После создания учетной записи перейдите по адресу https: // cloudfoundry.com/micro/dns и создайте доменное имя для своего микро CloudFoundry и запишите созданный токен конфигурации. Как только вы создадите домен, появятся ссылки для загрузки «Micro CloudFoundry VM» и «VM player», начните их загрузку, пока мы не поймем, что именно происходит.
CloudFoundry micro — это виртуальная машина, и нам нужен плеер, который может запускать виртуальную машину. Вы можете использовать «VMWare Fusion», «VMWare workstation» или «VMWare player». Самый простой и, конечно, бесплатный вариант — использовать плеер VMWare. Установите проигрыватель VMWare и извлеките CloudFoundry micro в нужное место. Запустите VMWare Player, откройте «micro.vmx» в VMWare Player. Вы увидите «micro CloudFoundry vm» в выключенном состоянии, включите его.
Включение виртуальной машины приведет вас к меню конфигурации; давайте выберем 1, чтобы выполнить настройку. После того, как настройка пароля будет завершена, следующим шагом будет настройка сети, я выбрал DHCP и без прокси, вы можете выполнить настройку в соответствии со своими настройками. После этого меню у вас спросят токен конфигурации CloudFoundry, который мы сгенерировали онлайн на CloudFoundry.com. Пройдет несколько минут, прежде чем виртуальная машина свяжется с серверами и CloudFoundry micro будет готов к использованию. На консоли будет отображаться текущая конфигурация, то есть URL-адрес, по которому доступен ваш локальный микроэкземпляр CloudFoundry и т. Д. Например, в моем случае он отображает конфигурацию в соответствии с приведенной ниже информацией:
[исходный код]
Текущая конфигурация:
Идентификационные данные: cf-hostname.cloudfoundry.me (хорошо)
Администратор: <a href=»mailto:[email protected]»> [email protected] </a>
IP-адрес: 122.156.80.122 (сеть)
Чтобы получить доступ к вашему экземпляру Micro Cloud Foundry, используйте:
vmc target http://api.cf-hostname.cloudfoundry.me
[/исходный код]
Разверните свое приложение на CloudFoundry Micro
У нас все готово! Предполагая, что все предыдущие шаги были выполнены успешно, откройте командную строку Ruby vmc, давайте попробуем зарегистрировать микро экземпляр CloudFoundry в vmc, для этого сначала установим цель, а затем сделаем регистрацию.
[исходный код]
$ vmc target http://api.cf-hostname.cloudfoundry.me
регистр $ vmc
[/исходный код]
Эта регистрация создаст имя пользователя для CloudFoundry micro Ubuntu VM и будет использовать пароль, который мы указали при создании виртуальной машины в предыдущем разделе. Укажите соответствующее имя пользователя и ранее использованный пароль. Теперь перейдите в каталог, где у нас был наш моментальный снимок проекта и команда fire.
[исходный код]
$ vmc push
Вы хотите развернуть из текущего каталога? [Yn]: у
URL, развернутый приложением [petclinic.vishalbiyani.cloudfoundry.me]:
Обнаружено Java SpringSource Spring Application, это правильно? [Yn]: у
Резервирование памяти (64M, 128M, 256M, 512M, 1G) [512M]:
Создание приложения: ОК
Хотели бы вы привязать какие-либо услуги к 'petclinic'? [yN]: y
Доступны следующие системные сервисы
1: mongodb
2: MySQL
3: postgresql
4: кролик
5: Redis
Пожалуйста, выберите тот, который вы хотите предоставить: 2
Укажите имя службы [mysql-e3d94]: vb-test
Создание сервиса: ОК
Служба привязки [vb-test]: ОК
Загрузка приложения:
Проверка доступных ресурсов: ОК
Обработка ресурсов: ОК
Упаковка приложения: ОК
Загрузка (18M): ОК
Состояние Push: ОК
Постановка приложения: ОК
Запуск приложения: ОК
[/исходный код]
Теперь приложение успешно размещено по адресу http://petclinic.cf-hostname.cloudfoundry.me, и вы увидите экран, подобный тому, когда мы запускали приложение Roo, используя встроенный контейнер.
Разверните свое приложение в облаке CloudFoundry
Если ваше приложение запущено на CloudFoundry, просто измените цель, указав CloudFoundry.
[исходный код]
$ vmc target api.cloudfoundry.com
[/исходный код]
Ваше облачное приложение просто «отталкивается от vmc». J обратитесь к предыдущему разделу, и те же запросы будут повторяться, чтобы настроить ваше приложение для облака.
Масштабирование и управление в облаке
Давайте рассмотрим несколько удобных команд для настройки и масштабирования вашего приложения.
Чтобы посмотреть на услуги, которые вы в настоящее время доступны и предоставлены:
[исходный код]
$ vmc services
============== Системные службы ==============
+ ---- + --- + ------------- +
| Сервис | Версия | Описание |
+ ---- + --- + ------------- +
| mongodb | 1,8 | MongoDB NoSQL store |
| mysql | 5.1 | Служба базы данных MySQL |
| postgresql | 9.0 | Служба баз данных PostgreSQL (vFabric) |
| rabbitmq | 2,4 | RabbitMQ очередь сообщений |
| Redis | 2.2 | Redis служба хранения ключей-значений |
+ ---- + --- + ------------- +
=========== Предоставленные услуги ============
+ ------ + ---- +
| Имя | Сервис |
+ ------ + ---- +
| mongodb-7fb72 | mongodb |
| mysql-4cd0 | mysql |
| vb-postgres | postgresql |
| vbtest-postgres | postgresql |
+ ------ + ---- +
[/исходный код]
Чтобы посмотреть приложения, развернутые в вашем экземпляре:
[исходный код]
$ vmc apps
+ -------- + - + --- + ------------------ + ----- +
| Применение | # | Здоровье | URLS | Услуги |
+ -------- + - + --- + ------------------ + ----- +
| облачная весна-петклиника | 1 | РАБОТАЮЩАЯ | cloudspring-petclinic.vishalbiyani.cloudfoundry.me | mysql-bf5bd |
| петклиника | 1 | Бег petclinic.vishalbiyani.cloudfoundry.me | VB-тест |
+ -------- + - + --- + ------------------ + ----- +
[/исходный код]
Масштабировать ваше приложение до двух экземпляров и смотреть на запущенные экземпляры
[исходный код]
$ vmc instances petclinic 2
Масштабирование экземпляров приложения до 2: ОК
$ vmc instc petclinic
+ --- + ---- + ------- +
| Индекс | Государство | Время начала |
+ --- + ---- + ------- +
| 0 | Бег 15.04.2012 11:50 |
| 1 | НАЧАЛО | 15.04.2012 15:33 |
+ --- + ---- + ------- +
[/исходный код]
В заключение!
Мы разработали приложение с использованием методов RAD. Мы установили Ruby, который будет чрезвычайно полезным инструментом в нашем облачном путешествии. Мы создали микроэкземпляр CloudFoundry и локально в нем запустили приложение. Мы также развернули это приложение в облаке, и все это довольно быстро! Хотя то, что мы сделали с CloudFoundry сегодня, это всего лишь маленький кусочек торта! Исследуйте и наслаждайтесь путешествием в этом открытом PAAS и в облаке.
Изображение литейного производства через Shutterstock