Как стать автором
Обновить

Компания Acronis временно не ведёт блог на Хабре

Сначала показывать

Как перейти от Java к Scala в вашем проекте

Время на прочтение7 мин
Количество просмотров32K
Всем привет.
Периодически от Java-разработчиков, которые узнали о существовании Scala, звучат вопросы «Как начать использовать Scala в существующем Java-проекте? Сложно ли перейти от одного к другому? Много ли времени это займет? Как убедить начальство?» В нашем проекте именно такой переход и происходил, на сегодняшний день практически весь проект уже на Scala, поэтому решил поделиться рецептами и впечатлениями.

С чего все началось, оно же «А зачем оно мне вообще надо?»:
  1. хотелось изучить что-то новое и полезное в производстве;
  2. надоело писать много букв на Java, но и радикально переписывать все, скажем на Python, совсем не хотелось;

С учетом таких желаний выбор пал на обзор альтернативных JVM-based языков.
После обзора остановились на Scala. Понравились компактный синтаксис, strong typing, возможность писать в ОО-стиле и заявленное хорошее взаимодейтствие с Java-кодом в обе стороны. Тот факт, что Scala уже активно используют такие крупные компании, как Twitter, LinkedIn, Foursquare и так далее, внушил определенную уверенность в будущем языка.
У нас уже имелся проект на Maven с юнит-тестами на JUnit, поэтому важно было легко включить Scala без существенных затрат на адаптацию инфраструктуры.
Итак, по порядку.
Почитать по порядку
Всего голосов 46: ↑40 и ↓6+34
Комментарии56

Создание zip-модулей в python

Время на прочтение11 мин
Количество просмотров17K

Предыстория


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

В первую очередь, нам хотелось иметь ограниченный компактный набор конечных распространяемых модулей. Однако публичная сборка питона, распространяемая через python.org к этому не располагает, одна только стандартная библиотека, являющаяся неотъемлемой частью самого языка, состоит из более чем тысячи py-файлов. Именно поэтому, мы сразу обратили внимание на такую любопытную особенность интерпретатора, как возможность импорта модулей, находящихся в zip-архивах, когда все множество исходников на питоне, относящихся к одному или нескольким модулям, упаковано в zip-архив и распространяется одним zip-файлом.

Читать дальше
Всего голосов 44: ↑42 и ↓2+40
Комментарии14

VMware: «To quiesce or not to quiesce?», бэкапим вирутальные машины правильно

Время на прочтение8 мин
Количество просмотров40K


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

Так зачем нужны «quiesced»* снапшоты, с чем их едят, и какие типичные проблемы с ними возникают? Взгляд на снапшоты будет представлен в первую очередь с точки зрения резервного копирования, но постараюсь в какой-то мере раскрыть и другие аспекты использования.


* Если кто готов подсказать подходящий русскоязычный термин — милости прошу в комментарии, будет хороший вариант — заменю в тексте англицизм.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии22

Acronis Research Labs

Время на прочтение4 мин
Количество просмотров6.2K
Добрый день! С нового года мы планируем значительно обновить свой блог, рассказать о куче интересных вещей, устроить виртуальную экскурсию в наши некоторые подразделения, привлечь новых специалистов и показать, как разрабатываются наши продукты, но до первого января надо ещё дожить, так что пока мы готовы лишь подогревать ваш интерес к предстоящим изменениям интересными постами. Сегодня, например, мы расскажем вам о нашем R&D центре, Acronis Labs, который (по меркам самой компании) был организован совершенно недавно, но уже принёс свои плоды, а самое главное, продолжает свою работу и радует результатами своей деятельности как самих сотрудников материнской компании, так и тех, чьи умы и сердца он объединил в поисках ответов на поставленный вопрос: как уберечь ваши данные самым эффективным способом.
Читать дальше →
Всего голосов 28: ↑20 и ↓8+12
Комментарии25

«Идеальный» кластер. Часть 2.1: Виртуальный кластер на hetzner

Время на прочтение7 мин
Количество просмотров39K


Хочу отметить, что эта инструкция родилась в процессе проведения экспертизы различных систем виртуализации в стенах компании Acronis.
Proxmox показал себя с хорошей стороны, возможно наш опыт окажется полезным для решения Ваших задач.


Арендуя очередной сервер в дата-центре, каждый задумывается о рациональности его использования.
Ведь ни для кого не секрет, что хорошо настроенный сервер не должен быть слишком нагружен и в нем должно быть достаточно ресурсов для выполнения другой работы. Кроме вышесказанного, важна отказоустойчивость и поэтому держать несколько копий одного и того же сервера в качестве hot swap, кажется отличной идеей.
Для решения этих задач и нужна виртуализация.

Сейчас я расскажу, как можно быстро сделать из одного сервера целый кластер серверов на базе linux и windows.
В дальнейших статьях я попытаюсь объяснить, как поднять безопасный web-кластер и использовать все прелести современных технологий виртуализации.
В этой инструкции речь пойдет о бесплатной системе виртуализации Proxmox, она находится в свободном доступе, но за поддержку требует плату. Мы попробуем обойтись без поддержки и коммерческого репозитория Proxmox. Вот что говорит о об этом продукте википедия

Proxmox Virtual Environment (Proxmox VE) — система виртуализации с открытым исходным кодом, основанная на Debian GNU/Linux. Разрабатывается австрийской фирмой Proxmox Server Solutions GmbH, спонсируемой Internet Foundation Austria.
В качестве гипервизоров использует KVM и OpenVZ. Соответственно, способна выполнять любые поддерживаемые KVM ОС (Linux, *BSD, Windows и другие) с минимальными потерями производительности и Linux без потерь.
Управление виртуальными машинами и администрирование самого сервера производятся через веб-интерфейс либо через стандартный интерфейс командной строки Linux.
Для создаваемых виртуальных машин доступно множество опций: используемый гипервизор, тип хранилища (файл образа или LVM), тип эмулируемой дисковой подсистемы (IDE, SCSI или VirtIO), тип эмулируемой сетевой карты, количество доступных процессоров и другие.

Ключевые возможности

  • Простое управление через веб-интерфейс;
  • Мониторинг нагрузки в реальном времени;
  • Библиотека установочных образов (в локальном или удаленном хранилище);
  • Подключение к «физической» консоли гостевых систем непосредственно из браузера (по VNC);
  • Объединение серверов в кластер с возможностью живой миграции виртуальных машин (без остановки гостевой системы);
  • Быстрое развертывание гостевых систем из шаблонов (доступно только для OpenVZ);
  • Автоматическое резервное копирование виртуальных машин.


Читать дальше →
Всего голосов 20: ↑15 и ↓5+10
Комментарии22

Грабли при использовании общих .dll

Время на прочтение4 мин
Количество просмотров8.9K
Не так давно наткнулся на интересную нестандартную проблему, которая заставила поломать голову около двух часов. В ней смешалось несколько факторов, таких как некоторая кривость архитектуры продукта, недостаточный уровень логирования и особенности другого уже установленного программного обеспечения. Сразу оговорюсь, что взгляд на проблему и решение по большому счету будет с обывательской колокольни (в программировании шарю чуть более чем никак), но в данном случае именно этот свежий взгляд был ключевым в финальном решении.



Начну по порядку.
Всего голосов 15: ↑10 и ↓5+5
Комментарии11

Acronis True Image: стратегии резервного копирования

Время на прочтение5 мин
Количество просмотров68K
Приветствую вас, жители хабро-мира! Мы продолжаем знакомить вас с технологиями True Image. На этот раз поговорим о том, как настроить процесс резервного копирования таким образом, чтобы
  • данные были надежно защищены.
  • папка с резервными копиями (они же – бэкапы, они же – backups) не «съела» все свободное пространство вашего диска.
  • не дублировать одну и ту же информацию в разных бэкапах.

Отчасти мы уже касались этой темы в статье Acronis True Image, способы создания резервных копий. Рассмотрим ее поподробнее.
Читать дальше →
Всего голосов 20: ↑11 и ↓9+2
Комментарии19

DSL на JavaScript для C++ или кодгенератор — это просто!

Время на прочтение8 мин
Количество просмотров8.1K
С добрым понедельником, хабровчане!

Ковырялся давеча с одним универсальным, и потому до неприличного мощным, интерфейсом доступа к данным на Python-е. Неприличная мощь выражается в виде множества параметров на все случаи жизни, зачастую крайне экстравагантные и нужные только в 5% случаев. В итоге приходится дублировать всю пачку параметров и деталей даже в прямолинейных запросах, что вызывает пессимизм и желание заняться чем-то другим. И тут вспомнилась мне аналогичная история из моего далекого прошлого, которой и делюсь.

Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии3

«Идеальный» www кластер. Часть 1. Frontend: NGINX + Keepalived (vrrp) на CentOS

Время на прочтение9 мин
Количество просмотров109K


Этом цикле статей «Идеальный www кластер», я хочу передать базовые основы построения высокодоступного и высокопроизводительного www решения для нагруженных web проектов для неподготовленного администратора.
Статья будет содержать пошаговую инструкцию и подойдет любому человеку кто освоил силу copy-paste
Ошибки найденые вами, помогут в работе и мне и тем кто будет читать эту статью позже! Так что любые улучшение и правки приветствуются!

Хочу отметить, что эта инструкция родилась в процессе миграции web-систем компании Acronis в высокодоступный кластер. Надеюсь мои заметки будут полезны и для Вас!.

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

На frontend мы будем использоваться связку из двух службы:



keepalived — реализации протокола VRRP (Virtual Router Redundancy Protocol) для Linux. Демон keepalived следит за работоспособностью машин и в случае обнаружения сбоя — исключает сбойный сервер из списка активных серверов, делегируя его адреса другому серверу.

Другими словами, у нас 2 сервера на которых прописано по одному публичному адресу. Если любой из этих серверов падает, то адрес упавшего подхватывается вторым.
Демоны keepalived общаются по протоколу VRRP, посылая друг другу сообщения на адрес 224.0.0.18.
Если сосед не прислал свое сообщение, то по истечению периода он считается умершим и оба адреса обслуживает оставшаяся нода. Как только упавший сервер начинает слать свои сообщения в сеть, все возвращается на свои места


nginx [engine x] — это HTTP-сервер и обратный прокси-сервер, а также почтовый прокси-сервер, написанный Игорем Сысоевым. Уже длительное время он обслуживает серверы многих высоконагруженных российских сайтов, таких как Яндекс, Mail.Ru, ВКонтакте и Рамблер. Согласно статистике Netcraft nginx обслуживал или проксировал 15.08% самых нагруженных сайтов в октябре 2013 года.

Основная функциональность HTTP-сервера

  • Обслуживание статических запросов, индексных файлов, автоматическое создание списка файлов, кэш дескрипторов открытых файлов;
  • Акселерированное обратное проксирование с кэшированием, простое распределение нагрузки и отказоустойчивость;
  • Акселерированная поддержка FastCGI, uwsgi, SCGI и memcached серверов с кэшированием, простое распределение нагрузки и отказоустойчивость;
  • Модульность, фильтры, в том числе сжатие (gzip), byte-ranges (докачка), chunked ответы, XSLT-фильтр, SSI-фильтр, преобразование изображений; несколько подзапросов на одной странице, обрабатываемые в SSI-фильтре через прокси или FastCGI, выполняются параллельно;
  • Поддержка SSL и расширения TLS SNI.


Другие возможности HTTP-сервера

  • Виртуальные серверы, определяемые по IP-адресу и имени;
  • Поддержка keep-alive и pipelined соединений;
  • Гибкость конфигурации;
  • Изменение настроек и обновление исполняемого файла без перерыва в обслуживании клиентов;
  • Настройка форматов логов, буферизованная запись в лог, быстрая ротация логов;
  • Специальные страницы для ошибок 3xx-5xx;
  • rewrite-модуль: изменение URI с помощью регулярных выражений;
  • Выполнение разных функций в зависимости от адреса клиента;
  • Ограничение доступа в зависимости от адреса клиента, по паролю (HTTP Basic аутентификация) и по результату подзапроса;
  • Проверка HTTP referer;
  • Методы PUT, DELETE, MKCOL, COPY и MOVE;
  • FLV и MP4 стриминг;
  • Ограничение скорости отдачи ответов;
  • Ограничение числа одновременных соединений и запросов с одного адреса;
  • Встроенный Perl.


Читать дальше →
Всего голосов 46: ↑40 и ↓6+34
Комментарии79

Принципы успешной техподдержки

Время на прочтение9 мин
Количество просмотров46K


Этот текст был задуман как попытка структурировать основные принципы успешной технической поддержки и общения в целом. Под «успешной» в данном контексте подразумевается положительная реакция непосредственно клиента на качество сервиса, т.е. его конкретное субъективное мнение по итогам обращения в техподдержку.

Немного об авторе: никакого психологического образования не получал, курсов общения с клиентами не проходил, так что все выводы основываются исключительно на личном опыте. Я начал работать в технической поддержке более 8 лет назад, в компании Acronis, тогда еще совсем небольшой, а штат техподдержки не превышал 10-15 человек. Сегодня в техподдержке участвует более 250 человек, поддерживая клиентов на девяти языках мира. Со временем я прошел все этапы — от работы в небольшом коллективе с практически нулевым уровнем личной ответственности до контроля и взаимодействия в большой инфраструктуре, включающей автоматический сбор статистики по каждому сотруднику для замеров его личного KPI (key performance indicators).

Благодаря длительному общению с пользователями (как правило, англоговорящими) сами собой выкристаллизовались манеры успешного общения — что именно нужно делать и как себя вести, чтобы клиент остался доволен. Эти правила одинаково применимы не только к технической поддержке программных продуктов, но и к общению с клиентами в любой другой отрасли, так что, надеюсь, сей опус будет полезен не только узким специалистам, но и пригодится в повседневном общении. Лично мне это сильно помогло.

Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии30

HAPRoxy для Percona или Galera на CentOS. Его настройка и мониторинг в Zabbix

Время на прочтение5 мин
Количество просмотров35K


Очень короткая статья, про то как можно использовать HAProxy в качестве балансировщика для multi-master серверов MySQL, таких как Percona или Galera.



Хочу отметить, что эта инструкция родилась в процессе внедрения Zabbix в стенах компании Acronis.
В процессе экспертизы и проведенных мною исследований, она доказала свое право на жизнь и благополучно служит нам верой и правдой день ото дня.


Для тех кто не знаком с HAProxy, цитата о предназначении продукта:
При увеличении нагрузки или посещаемости проекта, рано или поздно вертикальное маштабирование (увеличение ресурсов сервера, таких как память, скорость диска и т.д) упирается в некий предел и не дает ощутимого прироста. В таком случае в ход идет горизонтальное масштабирование — добавление новых серверов c перераспределением нагрузки между ними.
Кроме увеличения мощности, горизонтальное масштабирование добавляет надежности системе — при выходе из строя одного из серверов, нагрузка будет сбалансирована между работающими и приложение будет жить.


От слов к делу, установка и настройка очень просты:
Читать дальше →
Всего голосов 27: ↑25 и ↓2+23
Комментарии16

Zabbix 2.2 верхом на nginx + php-fpm и mariadb

Время на прочтение10 мин
Количество просмотров57K


Хочу отметить, что эта инструкция родилась в процессе внедрения Zabbix в стенах компании Acronis.
В процессе экспертизы и проведенных мною исследований, она доказала свое право на жизнь и благополучно служит нам верой и правдой день изо дня.


Перед нами стоит нетривиальная задача, добиться максимальной производительности известной системы мониторинга zabbix.
Среди многих статей в интернете, есть много описаний типовых установок этой системы. Я подробно опишу, как заставить работать zabbix быстрее.
В качестве базовой системы я буду использовать CentOS 6.4. Так же как и многие я люблю Debian, Gentoo и все остальные дистрибутивы, но эта статья именно для CentOS.

Все что нужно делать я распишу подробно и шаг за шагом, и начнем с базовой настройки нашего CentOS
Читать дальше →
Всего голосов 26: ↑22 и ↓4+18
Комментарии117

Acronis True Image, способы создания резервных копий

Время на прочтение2 мин
Количество просмотров123K
Acronis True Image, дороги жизни бэкапа.

Привет-привет, дорогие друзья. Продолжим рассказывать про наше главное решение для домашних пользователей.

Acronis True Image — это продукт со своей богатой историей. Мы старались внимательно слушать наших клиентов, и потому в продукте накопилось довольно много разного рода функциональности, которая призвана защитить данные пользователя тем или иным способом. Собственно, в данном выпуске мы решили рассказать вам о разных видах резервного копирования, которые поддерживаются Acronis True Image.
Читать дальше →
Всего голосов 20: ↑14 и ↓6+8
Комментарии43

Спасительные облака

Время на прочтение9 мин
Количество просмотров22K

Не знаю как остальных, но лично меня настораживают модные слова и технологии типа виртуализации, облаков и BigData. Настораживают, потому что, не вникая в их суть и применимость, люди слепо начинают их использовать, где нужно и не нужно, потому что «другие же это делают!», в итоге создавая решения, в которых проблем больше чем решений (например, считая, что гигабайт — это big data, разворачивают Hadoop, вместо того, чтобы добавить памяти и использовать Excel). Поэтому я особо скрупулезно вгрызаюсь в модные технологии, пытаясь понять их специфику и область их применимости, дабы не поддаться самому «синдрому молотка». В этой статье хочу поделиться некоторыми своими мыслями насчет облачных хранилищ, тем более что таковое завелось у нас в Acronis несколько лет назад.
Далее
Всего голосов 21: ↑16 и ↓5+11
Комментарии12

Acronis True Image 2014 — что нового?

Время на прочтение4 мин
Количество просмотров40K
Привет!

Так получилось, что недавнее возвращение Acronis на Хабр совпало с выпуском новой версии нашего популярного продукта Acronis True Image. По уже сложившейся традиции новая версия будет носить номер 2014 – год, в котором продукт будет большей частью жить. В данном выпуске поговорим о том, что же нового в этой версии.
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии100

Hello, Russia!

Время на прочтение4 мин
Количество просмотров18K
В компьютерном мире начинать принято с мантры «Hello, world!», но мы на свой страх и риск решили нарушить этот акт инициации ввиду уважительных причин. На этот самый world и так пишется много всякого маркетингового материала, а тут мы решили рассказать исключительно русскоязычной аудитории о накипевшем наборе технологий, из которых мы собираем наши продукты и сервисы.
Подробнее...
Всего голосов 50: ↑31 и ↓19+12
Комментарии40
12 ...
11