En

JazzTeam Software Development Company

Agile Java Development

JazzTeam Cloud Programming. Давайте вместе приручать облака.

Что такое облако (Cloud) и что можно с ним делать

Облако как инфраструктура для приложений

Облачные сервисы для больших вычислений

Приватные и гибридные облака

Альтернативы облаку, кластеризация

Наша компания JazzTeam предлагает

Что такое облако (Cloud) и что можно с ним делать

Облачные сервисы набирают всё большую и большой популярность. Облако - это пул ресурсов, с которыми можно взаимодействовать через программный интерфейс. Ресурсы предоставляются пользователям в аренду и стоимость зависит от того, сколько ресурсов используем.

Основное преимущество облака - возможность динамического построения инфраструктуры. Это позволяет решать многие технические задачи:

  1. Инфраструктура приложений может расширяться во время работы. Мы получаем устойчивую систему, способную адаптироваться к сколь угодно большим нагрузкам.
  2. Помимо резервного копирования данных можно делать резервное копирование инфраструктуры. Копия инфраструктуры может быть запущена в любой момент. Можно быстро развернуть систему, например для нужд тестирования и демонстрации.
  3. В облаке можно выполнять большие вычисления. Облачные сервисы могут предоставить сколь угодно ресурсов для этого.
  4. Существует множество готовых стабильно работающих и надёжных облачных сервисов для различных задач. Достаточно просто их использовать. На сегодняшний день очень популярны сервисы виртуальных машин от компании Amazon Amazon EC2, хранилище в облаке Amazon S3, балансировщики нагрузки Amazon ELB.

Облако как инфраструктура для приложений

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

  1. Система должна быть разделена на множество модулей. Должна быть возможность запускать несколько копий каждого модуля параллельно. В этом случае появляется возможность балансировки нагрузки между различными экземплярами модуля и динамический запуск дополнительных экземпляров.
  2. Интеграция системы с готовыми сервисами может дать большие преимущества в скорости и надёжности. Наиболее популярные виды сервисов - хранилище, очередь сообщений, облачная база данных.
  3. Большое преимущество даёт использование API облака для динамического управления инфраструктурой.

Облачные сервисы для больших вычислений

Облачные сервисы хорошо использовать для больших вычислений. Хорошим инструментом является фреймворк Apache Hadoop. Вычисления, реализованные на этом фреймворке хорошо масштабируются. Поверх него работают популярные фреймворки Pig, Hive, Cascading, которые предоставляют более удобный интерфейс для специфических задач, например Hive позволяют описывать вычисления над большими данными в виде sql-подобных скриптов. Если нужно выполнить интеллектуальный анализ, на помощь приходит фреймворк Apache Mahout, реализующий задачи машинного обучения. Hadoop поддерживают крупнейшие облачные провайдеры, такие как Amazon (Amazon EMR) и Microsoft (HDInsight).

Приватные и гибридные облака

Зачастую организации не доверяют сторонним облачным провайдерам, а предпочитают содержать инфраструктуру у себя. Решение этой проблемы - частное облако внутри организации. Такое облако может быть интегрировано с облаками сторонних провайдеров, образуя гибридное облако. Для создания приватного облака существуют платформы Open Stack, Eucalyptus, Cloud Stack и другие.

Альтернативы облаку, кластеризация

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

Наша компания JazzTeam предлагает

  1. Проектирование масштабируемых приложений, разработку архитектуры для работы в облаке, интеграцию с облачными сервисами Amazon, Windows Azure и PAAS-провайдерами, миграцию ваших приложений между облачными провайдерами.
  2. Рефакторинг существующего приложения для переноса в облако, мы можем вас проконсультировать по этому вопросу. Так же мы можем интегрировать ваше существующее приложение с облачными сервисами, тем самым улучшить его производительность и надёжность.
  3. Если использование облака не вписывается в требования конфиденциальности, мы организуем масштабируемость с помощью кластеризации на локальных серверах.
  4. Разработку Hadoop-приложения, Pig и Hive-скриптов для обработки и анализа больших объёмов данных, интеграцию с облачными сервисами.

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