Это гостевой пост наших друзей в Cloudsoft ( ссылка ) по проекту Apache Brooklyn ( ссылка ). Мы рады сотрудничеству с Cloudsoft. Облако — это новая операционная система, и такие проекты, как Apache Brooklyn, позволяют повысить эффективность предприятия. Что если бы вы могли развернуть дюжину экземпляров Couchbase Server на веб-серверах Amazon одним нажатием кнопки?
Чертежи Couchbase теперь доступны в Apache Brooklyn!
@ZaidM ( GitHub ) и @Nakomis ( GitHub ) были заняты на Github, работая с Couchbase, чтобы добавить поддержку чрезвычайно масштабируемого, высокопроизводительного хранилища документов JSON. С их последним коммитом ( ссылкой ) подготовка кластера так же проста, как запись:
name: My Couchbase Cluster services: - type: brooklyn.entity.nosql.couchbase.CouchbaseCluster initialSize: 3 location: jclouds:google-compute-engine: identity: your-gce-acct credential: your-gce-token
Просто следуйте инструкциям ( ссылка ), распакуйте и запустите «bin / brookyn launch», затем перейдите в веб-консоль и вставьте YAML выше (с вашими учетными данными).
При развертывании отображается топология, и вы можете отслеживать подготовку и выполнение команд. Все это выполняется параллельно, благодаря тому, как Brooklyn управляет обработкой, за исключением случаев, когда существует явная зависимость — например, необходимо знать подмножество узлов Couchbase, чтобы веб-приложение могло подключиться. И он будет работать во многих местах, от Amazon до OpenStack, с помощью Docker или ранее не облачных машин.
Через несколько минут он будет завершен, и показатели из Couchbase будут отслеживаться, чтобы убедиться, что он работает нормально и управляет вашими пользовательскими политиками управления, такими как DR и автоматическое масштабирование, как мы покажем ниже. На вкладках датчиков также отображаются URL-адреса для управления и конечные точки, к которым клиенты могут подключаться.
Конечно, в реальном мире вам нужно больше. Вот где сияет мощь Бруклинского проекта и сверкает ваша автоматизация Couchbase. Давайте проиллюстрируем более интересный YAML, который показывает, как:
- настройка учетных данных Couchbase
- указать аппаратную спецификацию (переносимую через множество облаков)
- прикрепление политики масштабирования
- развертывание Couchbase вместе с некоторыми интерфейсными приложениями
Этот последний пункт особенно полезен: вы можете использовать ту же цепочку инструментов с открытым исходным кодом для развертывания и управления приложениями в Couchbase, что и для самой Couchbase. Это позволяет проводить интеграционное тестирование в масштабе, полностью автоматизировать и управлять версиями чертежей для целых стеков.
В качестве примера приведем веб-приложение генератора нагрузки Couchbase, разработанное @Neykov ( ссылка ).
Мы определим политику, которая стремится поддерживать количество операций на узел в диапазоне 500-1000. Это, конечно, ничего не значит для Couchbase на таком мощном оборудовании, но этот диапазон мы можем с комфортом продемонстрировать! После развертывания Couchbase и развертывания нашего веб-приложения вы можете создать корзину в Couchbase через ее графический интерфейс (используя учетные данные в YAML ниже), а затем запустить два генератора нагрузки. Если вам нужно больше генераторов нагрузки, используйте вкладку «эффекторы», чтобы «изменить размер» кластера нагрузки, и, когда вы начнете управлять 3000+ операций в секунду через Couchbase, вы заметите его увеличение в соответствии с политикой.
Вот большой, реальный YAML-код во всей своей красе, запущенный в Softlayer:
name: My Couchbase with Elastic Load Generator services: - type: brooklyn.entity.nosql.couchbase.CouchbaseCluster id: cb-cluster adminUsername: Administrator adminPassword: Password initialSize: 3 brooklyn.config: provisioning.properties: minRam: 16384 minCores: 4 brooklyn.policies: - type: brooklyn.policy.autoscaling.AutoScalerPolicy brooklyn.config: metric: $brooklyn:sensor("brooklyn.entity.nosql.couchbase.CouchbaseCluster", "couchbase.stats.cluster.per.node.ops") metricLowerBound: 500 metricUpperBound: 1000 minPoolSize: 3 maxPoolSize: 8 - type: brooklyn.entity.webapp.ControlledDynamicWebAppCluster name: Web Couchbase Load Gen Cluster war: https://github.com/neykov/web-load-gen/raw/master/load-gen.war brooklyn.config: provisioning.properties: minCores: 4 java.sysprops: brooklyn.example.couchbase.nodes: $brooklyn:formatString("'%s'", component("cb-cluster").attributeWhenReady("couchbase.cluster.node.addresses")) initialSize: 2 location: jclouds:softlayer: identity: your-sl-acct credential: your-sl-api-access-key
О Cloudsoft
Cloudsoft — ведущая компания по управлению приложениями с открытым исходным кодом. Cloudsoft AMP — это коммерчески поддерживаемая версия Apache Brooklyn, платформы для моделирования, мониторинга и управления приложениями с помощью автономных чертежей, которые в настоящее время находятся в стадии инкубации в Apache Software Foundation. Использует Apache jclouds ( ссылка ). AMP обеспечивает управление и соответствие приложениям на основе политик в нескольких облаках. AMP был принят предприятиями, независимыми разработчиками ПО и системными интеграторами, такими как IBM Cloud Services.