В последнее время у меня довольно много клиентов мигрирующих в облака, по большей части в амазон и все они подвержены примерно одинаковым мифам про облака. И эти заблуждения и непонимания мне приходится постоянно развеивать. В данной статье я буду рассказывать про IAAS(инфраструктура как сервис) это такое облачные компании как Amazon, Rackspace, Linode, digitalocean, для PAAS выглядит все немного иначе.
Читать полностью »
Рубрика «Облачные вычисления» - 60
Мифы про облака
2013-09-24 в 9:07, admin, рубрики: мифы, облака, Облачные вычисления, метки: мифы, облакаГоризонтальное масштабирование базы данных реального проекта с помощью SQL Azure Federations. Часть 3: Миграция
2013-09-23 в 6:41, admin, рубрики: sql azure, sql azure federations, windows azure, Блог компании EPAM Systems, Облачные вычисления, метки: sql azure, sql azure federationsЯ приветствую всех жителей Хабрахабра! Всем удачной новой рабочей недели! Итак, мы продолжаем процесс миграции базы данных на использование SQL Azure Federations. Как вы помните, в прошлый раз мы решили, по какой таблице и по какому полю мы будем разбивать базу данных на шарды. Давайте же наконец это сделаем!
Миграция
Итак, будем разбивать базы данных по таблице аккаунтов (Account), поскольку данные, хранящиеся в ней и связанные с ней логически друг с другом не пересекаются. Поскольку у нас есть скрипт создания базы данных, попробуем адаптировать его для использования SQL Azure Federations.
Будем считать, что база данных уже создана в Windows Azure Management Portal либо через SQL Server Management Studio.
Откроем скрипт создания объектов в базе данных.
USE xPenses
GO
IF EXISTS (SELECT name FROM sysobjects where name = N'Operation') DROP TABLE Operation
...
Первое, что необходимо убрать это использование операции USE, т. к. это одно из основых ограничений SQL Azure. Одна база данных — одно соединение. Вместо этого добавим запросы на создание федерации:
-- A database must be selected before executing this statement
CREATE FEDERATION Accounts(AccountId BIGINT RANGE)
GO
USE FEDERATION Accounts(AccountId = 1) WITH RESET, FILTERING = OFF
GO
Обратите внимание, что допустим, подключившись с помощью SSMS к SQL Azure Server необходимо выбрать базу данных из списка, для выполнения запроса.
Таким образом мы создадим новую федерацию, данные которой распределяются по значению идентификатора аккаунта (Account ID). Обратите внимание, что на данный момент никаких таблиц в базе не создано, то есть поле AccountId не связано ни с каким набором данных в реальных таблицах. Имя поля также может отличаться от имени поля таблицы, по которому будет производиться распределение.
Здесь мы можем увидеть еще одно, логичное, ограничение SQL Azure Federations. Поле, по которому будет будет осуществляться распределение должно иметь тип INT, BIGINT, UNIQUEIDENTIFIER и VARBINARY.
После создания федерации, нам необходимо выбрать первый шард, в который мы начинаем вносить данные. То есть шард, хранящий данные первого аккаунта (AccountId = 1).
Смотрим наш скрипт далее. Нам необходимо модифицировать создание таблицы аккаунтов таким образом, чтобы SQL Azure знал, что данные именно этой таблицы по полю Id будут распределяться по шардам.
CREATE TABLE Account (
[Id] INTEGER NOT NULL PRIMARY KEY IDENTITY(1,1),
[EntityId] INTEGER NOT NULL FOREIGN KEY REFERENCES Entity(Id),
[Currency] NVARCHAR(3)
)
Таким образом скрипт создания таблицы превратится в следующий:
CREATE TABLE Account (
[Id] BIGINT NOT NULL,
[EntityId] INTEGER NOT NULL FOREIGN KEY REFERENCES Entity(Id),
[Currency] NVARCHAR(3),
CONSTRAINT [PK_Account] PRIMARY KEY CLUSTERED
(
[Id] ASC
)
) FEDERATED ON (AccountId= Id)
Итак, что же изменилось? Тип поля ID стал BIGINT. Кроме этого, мы лишились возможности автоматической генерации значения для этого поля при вставке новой записи. Это является еще одним из ограничений SQL Azure Federations. Однако сохраняется возможность использования ключевого слова DEFAULT. Это к примеру будет полезно, если тип поля ID будет UNIQUEIDENTIFIER. В этом случае мы можем объявить поле таким образом:
[Id] UNIQUEIDENTIFIERNOT NULL DEFAULT NEWID()
Тогда при вставке новых записей в таблицу, нам нет необходимости указывать ID создаваемой записи. При работе с остальными типами эта логика должна быть реализована на уровне приложения.
Следующее, на что стоит обратить внимание — это объявление основного ключа таблицы. Нам необходимо явно указать то, что создаваемый ключ будет кластерным.
Последнее, что необходимо сделать, это указать с помощью ключевого слова FEDERATED ON, что данная таблица будет являться federated. Данные в ней мы будем разбивать по полю ID.
Итак, с создание таблицы аккаунтов мы разобрались. Едем дальше. Как видно из схемы базы данных, таблица аккаунтов является родительской по отношению к таблицам «кредитная карта» и «банковский счет».
QuickOffice стал бесплатным. К нему Google добавляет по 10 Гб в Drive на два года
2013-09-20 в 12:39, admin, рубрики: free, Google, google drive, quickoffice, акция, Облачные вычисления, метки: free, google drive, quickoffice, акцияВчера официально было заявлено, что мобильный офисный пакет QuickOffice (в своё время поисковый гигант купил его и спустя год закрыл харьковский и питерский офисы разработки, уволив более ста инженеров) становится бесплатным для своих обеих версий — для Android и iOS. Ранее существовали платные версии Quickoffice Pro и Quickoffice Pro HD.
QuickOffice умеет работать с файлами Microsoft Office — можно открывать и редактировать файлы Word, Excel, презентации PowerPoint и ряд других сопутствующих возможностей.
Читать полностью »
Национальная Облачная Платформа — миф или реальность? Все слышали — но никто не видел
2013-09-18 в 22:14, admin, рубрики: sharepoint, ит-инфраструктура, Облачные вычисления, облачные сервисы, облачные системы, управление проектами, метки: sharepoint, облачные сервисы, облачные системыПолез тут посмотреть что же было реализовано наконец на Национальной Облачной Платформе — детище Ростелекома. www.o7.com И пришел в тихий ужас. За несколько лет, по сути был сделан только более менее симпатичный сайт, и все!!!
Присутствует всего лишь несколько сервисов — притом скриншоты выложенные у них (вроде как завлекалово такое убогое) — откровенное первобытное старье. Насколько я помню они на презентациях обещали сразу после запуска — наладить 25 сервисов практически из всех отраслей, и на второй год эксплуатации выйти уже на 50 сервисов. А сейчас их там 4 штуки и притом сайт производит впечатление откровенного запустения.
Посмотрел в поисковиках — на всю эту лапшу было выделено порядка 500 млн. в свое время (пару лет назад).
Читать полностью »
Особенности запуска облачной платформы Jelastic на Infobox
2013-09-18 в 8:19, admin, рубрики: cloud, cloud hosting, cloud platform, cms, infobox, jelastic, Блог компании Infobox, Облачные вычисления, облачные сервисы, облачный хостинг, хостинг, метки: cloud, cloud hosting, cloud platform, cms, infobox, jelastic, облачные вычисления, облачные сервисы, облачный хостинг, хостинг12 сентября мы запустили новую облачную услугу на базе решения компании Jelastic.
Возникает вопрос: а зачем компании Infobox еще одно облако? Ведь прошло меньше года с момента введения в эксплуатацию облачной платформы Parallels Automation for Cloud Infrastructure (PACI), которая решает схожие задачи.
И зачем в России еще одна инсталляция Jelastic? До этого два других хостера Rusonyx и Reg.Ru уже запустили услугу на базе Jelastic.
Что особенного мы предложим на платформе Jelastic?
Все ответы под катом.
Читать полностью »
Семинар по катастрофоустойчивому облаку CloudLine Metrocluster, 25 сентября, дата-центр NORD
2013-09-17 в 11:25, admin, рубрики: dataline, Блог компании DataLine, дата-центры, даталайн, Облачные вычисления, цод, метки: dataline, дата-центры, даталайн, облачные вычисления, цод 25 сентября приглашаем ИТ-директоров и CIO на семинар по катастрофоустойчивому облаку CloudLine Metrocluster.
Место проведения: дата-центр NORD (Коровинское шоссе, 41).
Читать полностью »
Горизонтальное масштабирование базы данных реального проекта с помощью SQL Azure Federations. Часть 2: Исходные данные
2013-09-16 в 6:56, admin, рубрики: sql azure, sql azure federations, windows azure, Блог компании EPAM Systems, Облачные вычисления, метки: sql azure, sql azure federationsВ прошлый раз мы рассмотрели теоретическую часть SQL Azure Federations. О чем стоит подумать и что следует учитывать при миграции на использование SQL Azure Federations. Замечу, что суть даже не в самой технологии. Если стоит задача масштабирования базы данных, неважно с использованием Federations, MySQL Cluster или другого способа, первое о чем стоит задумать — об архитектуре базы данных. База данных, которую необходимо масштабировать в первую очередь должна быть архитектурно ориентирована на это.
Итак, вернемся к нашему проекту. Предметная область базы данных — учет личных финансов. Диаграмма базы данных приведена на рисунке.
Как мы видим база данных достаточно простая. Каждый объект системы представляет собой сущность с базовыми свойствами (Id, Name, Description). Конкретными сущностями являются Аккаунт (наследуемые от него: Банковский счет, Кредитная карточка), Категория трат (наследуемые от нее: Бюджет, а также дочерние категории) и Операции по счетам.
Кроме таблиц база данных содержит некоторую логику по добавлению сущностей в базу (оформлена в виде stored procedures), а также парочка View, для отображения результатов типовых запросов к базе.
Исходный текст SQL скрипта по созданию базы данных, может быть найден здесь.
Понятно, что в реальном проекте количество артефактов в базе данных может быть на порядок больше, однако миграция даже такой небольшой базы данных может показать основные грабли, с которыми можно столкнуться при использовании SQL Azure Federations.
Читать полностью »
Горизонтальное масштабирование базы данных реального проекта с помощью SQL Azure Federations
2013-09-08 в 20:35, admin, рубрики: sql azure, sql azure federations, windows azure, Блог компании EPAM Systems, Облачные вычисления, метки: sql azure, sql azure federations, шардингШардинг
Вопрос масштабирования приложений в облаке возникает очень часто. Сама концепция облачных технологий подразумевает масштабирование приложений по запросу. Любой уважающий себя облачный провайдер поддерживает соответствующие функции.
Зачем вообще нужно горизонтальное масштабирование? Когда возникает вопрос повышения производительности приложения, то есть несколько вариантов. Как известно можно купить новое «железо» для сервера, добавить количество оперативной памяти и т. д. Этот принцип называется вертикальным масштабированием. Однако этот способ может быть достаточно дорогим, долгим, да и имеет предел. Можно конечно купить топовое железо, однако оно может не потянуть все требования вашего приложения.
Второй способ, называемый горизонтальным масштабированием, предполагает расширение вычислительных ресурсов доступных приложению за счет физического расширения серверов на которых размещено ваше приложение. То есть если раньше ваше приложение было расположено на одном сервере, и в какой-то момент оно перестало «вытягивать» нагрузку, можно просто купить второй точно такой же сервер. Поставить на него ваше приложение и таким образом часть запросов к приложению будет идти на первый сервер, часть — на второй.
Этот принцип и положен в горизонтальное масштабирование приложений размещенных в «облаке», только вместо реальных физических серверов и у нас есть понятие виртуальная машина. Когда экземпляра одной виртуальной машины недостаточно вашему приложению — вы можете увеличить его, таким образом распределив нагрузку между несколькими виртуальными машинами.
Если рассматривать возможности облачной платформы от Microsoft, то они достаточно широкие. Есть auto-scaling, scaling по запросу, причем все это доступно как с помощью UI, так и с помощью SDK, REST API и PowerShell.
Однако если с масштабированием приложения (PaaS) или виртуальных машин (IaaS) все достаточно просто, указываете сколько инстансов вам необходимо, столько и будет, то в случае если ваше приложение использует базы данных MS SQL, возникает несколько вопросов. Конечно первое что приходит в голову — организовать кластер из виртуальных машин SQL Server. Решение достаточно простое и хорошо всем знакомое. А что делать, если приложение использует базу данных как сервис (SaaS)? Что если мы не хотим заниматьсянастройкой кластера SQL Server?
Конечно же, если мы говорим о Windows Azure, то в качестве SQL базы данных будет использоваться SQL Azure. Эта база данных поддерживает технологию горизонтального масштабирования (шардинг) называемую SQL Azure Federations. Принцип ее работы очень простой: логически независимые друг от друга строки одной таблицы хранятся в разных базах данных. Самый простой пример:
Это одна и та же таблица, данные которой хранятся в разных экземплярах базы данных (шардах). То есть данные аккаунта с идентификатором 1 хранятся в первой базе данных, с идентификатором 2 — во второй и т. д.
Читать полностью »
Онлайн бухгалтерия + социальная сеть для предприятий
2013-09-04 в 11:07, admin, рубрики: бухгалтерия, Облачные вычисления, Софт, метки: бухгалтерия Осенью 2012 года на рынок вышел новый облачный сервис для ведения бухгалтерии «Небо»
Данный сервис имеет один бесплатный тариф, который ограничен количеством пользователей и проводок.
Читать полностью »
Разработка и тестирование на открытых технологиях в облаке на примере Node.js, Riak, Ruby on Rails и десятков других
2013-09-04 в 5:38, admin, рубрики: node.js, open source, riak, ruby on rails, vm depot, windows azure, Блог компании Microsoft, виртуальная машина, Облачные вычисления, тестирование, метки: node.js, open source, riak, ruby on rails, windows azure, виртуальная машина, облачные вычисления
Уважаемые разработчики и тестировщики программного обеспечения! Предлагаем вашему вниманию цикл статей на тему организации тестирования и разработки приложений в облачном окружении. В этот цикл входят следующие статьи:
- Бесплатные мощности Windows Azure для подписчиков MSDN: как активировать и начать использовать?
- Разработка и тестирование приложений в облачном окружении Windows Azure
- Популярные сценарии разработки и тестирования в облаке
- Разработка и тестирование на открытых технологиях в облаке на примере Node.js, Riak, Ruby on Rails и десятков других
В этой статье мы рассмотрим возможности по разработке и тестированию приложений построенных на открытых технологиях и операционной системе Linux в облаке Windows Azure. В частности, рассмотрим работу с тестовым окружением технологий Riak и Erlang, Node.js, Ruby on Rails.
Читать полностью »