Рубрика «виртуальная машина» - 6

Вступительное слово

Изначально я разрабатывал этот проект для родной веб-студии. Я начинал разработку со следующими принципами:

  • Среда должна разворачиваться максимально просто, с этим должен справиться любой новичок-стажер или даже менеджер, если понадобится.
  • Среда должна обеспечивать меня и любого разработчика всем необходимым серверным ПО, при этом инкапсулируя его в виртуальной среде.
  • Сами файлы проектов должны находиться в каталоге, разделяемом хостом и виртуальной машиной, а именно в каталоге проектов IDE. Даже если разработчик — ярый сторонник текстовых редакторов и поклялся на крови, что никогда его жесткий диск не примет в себя ни одной IDE, ему этот принцип так же будет на руку.
  • Хост должен иметь доступ к СУБД, Memcache и Sphinx, запущенным на виртуальной машине, для проведения работ, не требующих «тяжелой артиллерии», а значит проводящихся прямо на машине разработчика — например, для разработки на Django или разработки утилит, общающихся с этими сервисами.
  • Должен быть легкий способ сделать резервную копию данных, спрятанных в виртуальной машине.

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

Для достижения поставленных целей я выбрал Vagrant, так как нет по моему скромному мнению более удачной утилиты для распространения виртуальных машин для разработки. Из списка базовых боксов я выбрал машину на моем любимом и очень популярном Debian Wheezy, к тому же размер выбранного бокса всего 295 Мб.

Проект находится на GitHub'е и ждет своего часа. Он обеспечивает:

  • Веб-сервер (Apache 2.2 + PHP 5.4),
  • Xdebug с возможностями удаленной отладки, профилирования и создания трейсов по триггеру,
  • СУБД: MySQL, PostgreSQL, Redis,
  • Memcache,
  • Sphinx с организацией удобной конфигурации с помощью conf.d.

Так же внутри установлены PHPUnit + DBUnit, Python 2, SQLite и еще некоторое количество приятных вещей. Этот набор сервисов обусловлен нашими потребностями, но если сообществу будет интересно видеть что-то еще — не думаю, что будет проблемой добавить это.

Не будет лишним упомянуть, что в каталоге bin имеются различные утилиты для повышения удобства работы и для управления состоянием виртуальной машины.

VagrantWebdev был протестирован на Windows и на Ubuntu 13.10, и я был бы очень благодарен за помощь в тестировании на других платформах.

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

image
Один из самых частых вопросов, который задают нам пользователи Parallels Desktop (а также наверняка всех других виртуалок) – как заставить виртуальные машины потреблять меньше памяти. Об этом спрашивает огромное количество людей на форумах и в социальных сетях.
Поэтому мы всегда смотрим, какие именно программы и технологии требуют больше памяти при работе виртуальной машины в PD. И вот что нашли.
Читать полностью »

3D ускорение VDI на практике.

Часть 1 — vSGA и vDGA

3D ускорение VDI на практике

Отсутствие аппаратного ускорения графики является существенным препятствием при внедрении технологий виртуализации в компаниях, работающих в сфере дизайна, проектирования, конструкторских разработок и пр. Рассмотрим, какие новые возможности появились с выходом NVIDIA GRID.

Виртуализация рабочих мест (VDI) уже прочно вошла в нашу жизнь, в первую очередь в корпоративном сегменте рынка, и уверенно пробивает путь в остальные сегменты, в том числе и в виде публичных облачных сервисов (Desktop as a Service). Отсутствие же аппаратного ускорения графики сдерживает использование данной технологии в тех отраслях, которые могли бы оценить такие преимущества использования VDI как удаленную доступность, безопасность данных и упрощение аутсорсинга персонала.Читать полностью »

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

Ранее мы познакомились с языком Smalltalk, а точнее с его микро реализацией Little Smalltalk. Разобрались с синтаксисом языка, форматом представления объектов в памяти и набором основных инструкций. Теперь мы вплотную подошли к вопросам взаимодействия Smalltalk и LLVM (ради этого и затевалась вся серия статей).

Сейчас у нас есть вся необходимая база знаний для того чтобы понять, что именно делается в нашем JIT компиляторе. В этой статье мы узнаем, как байт-коды Smalltalk преобразуются в IR код LLVM, как происходит компиляция и выполнение кода, и почему это работает быстрее, чем программная интерпретация. Самые нетерпеливые могут посмотреть шеллкасты (раз и два), с циферками и бегущими строчками (не забывайте про возможность скроллинга).
Читать полностью »

Автор: Грег Елкинбард

Моя коллега Анна Френд (Anne Friend) и я недавно представляли вебинар на тему “Как справиться с планированием аппаратного обеспечения для вашего облака OpenStack“ . Во время вебинара мы обещали дать вам ответы на вопросы, которые не успели озвучить в прямом эфире. Эта статья и будет посвящена ответам на данные вопросы.Читать полностью »

С выходом новой версии серверной операционной системы Windows Server 2012 R2 множество специалистов желают протестировать новые функции системы. Хорошая новость состоит в том, что сделать это можно без установки на локальном компьютере, используя виртуальные машины в облаке Windows Azure.

Просто воспользуйтесь готовыми образами в галере виртуальных машин для того, чтобы за несколько минут развернуть новый сервер на базе Windows Server 2012 R2:

image
Читать полностью »

image

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

  1. Бесплатные мощности Windows Azure для подписчиков MSDN: как активировать и начать использовать?
  2. Разработка и тестирование приложений в облачном окружении Windows Azure
  3. Популярные сценарии разработки и тестирования в облаке
  4. Разработка и тестирование на открытых технологиях в облаке на примере Node.js, Riak, Ruby on Rails и десятков других

В этой статье мы рассмотрим возможности по разработке и тестированию приложений построенных на открытых технологиях и операционной системе Linux в облаке Windows Azure. В частности, рассмотрим работу с тестовым окружением технологий Riak и Erlang, Node.js, Ruby on Rails.
Читать полностью »

Обсуждение анонимности нужно начинать не со слов прокси/тор/впн, а с определения задачи: анонимно подключиться к чужому серверу по SSH это одно, анонимно поднять свой веб-сайт это другое, анонимно работать в инете это третье, etc. — и все эти задачи решаются по-разному. Эта статья о задаче «анонимно работать в интернете как пользователь».

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

Во-первых, нужно адекватно оценивать потенциального противника. Если вы хотите быть «анонимным», значит вы пытаетесь избежать возможности связывания вашей активности в интернете с вашим физическим расположением и/или настоящим именем. Обычные пользователи и так не имеют возможности вас отслеживать (технически, социальные методы когда по вашему нику на форуме легко гуглится ваш аккаунт в соц.сетях со всеми личными данными мы здесь не рассматриваем). Ваш провайдер/соседи могут иметь возможность прослушать большую часть вашего трафика, но, как правило, вы им не интересны (да, соседи могут украсть ваши пароли, но заниматься отслеживанием вашей активности или вашей деанонимизацией они не станут). Что же касается владельцев используемых вами ресурсов (веб-сайтов, прокси/vpn-серверов, etc.) то у них в распоряжении множество средств по отслеживаю вас (DNS-leaks, Flash/Java-плагины, баннерные сети, «отпечатки браузера», множество разных видов кук, etc.) плюс серьёзный коммерческий интерес к тому, чтобы надёжно вас отслеживать (для таргетирования рекламы, продажи данных, etc.). Ну а правительство и спец.службы могут получить доступ и к данным, которые на вас собирают веб-сайты, и к данным, которые собирают провайдеры. Таким образом получается, что те, кто имеют возможность и желание вас отслеживать — имеют доступ к большинству возможных каналов утечки.

Во-вторых, каналов утечки информации очень и очень много. И они очень разнообразны (от внезапно отключившегося VPN до получения реального IP через Flash/Java-плагины браузера или отправки серийника на свой сервер каким-нить приложением при попытке обновления). Более того, регулярно обнаруживаются (и создаются) новые. Поэтому попытка блокировать каждый из них в индивидуальном порядке, уникальными для каждого методами, просто не имеет смысла, всё-равно что-то где-то протечёт.

В-третьих, при «работе в интернете» используется не только браузер — большинство пользуются так же IM, торрентами, почтой, SSH, FTP, IRC… при этом часто информация передаваемая по этим каналам пересекается и позволяет их связать между собой (.torrent-файл скачанный с сайта под вашим аккаунтом грузится в torrent клиент, ссылка пришедшая в письме/IM/IRC открывается в браузере, etc.). Добавьте сюда то, что ваша ОС и приложения тоже регулярно лазят в инет по своим делам, передавая при этом кучу деанонимизирующей вас информации…

Из всего этого логически следует то, что пытаться добавить «немножко анонимности» путём использования браузера со встроенным Tor, или настройкой торрент-клиента на работу через SOCKS — нет смысла. Большинство вас не сможет отследить и без этих мер, а тех, кто имеет возможности и желание вас отследить эти меры не остановят (максимум — немного усложнят/замедлят их работу).
Читать полностью »

Как измерить производительность «облака»?
На графике – тесты производительности виртуальных машин пяти крупнейших игроков на рынке IaaS-«облаков» от cloudspectrator.com и замер скорости нашего «облака» КРОК по той же методике. Разбивка по дням с 20.06.13 по 29.06.13.

Несмотря на наш приятный высокий результат, выводы данного тестирования показались нам несколько односторонними. Да и сама задача вызвала много споров среди наших коллег: ведь оценить производительность «облака» — вопрос нетривиальный. И мы решили поглубже разобраться в вопросе.

Для начала мы поспрашивали своих коллег и клиентов про то, как и за что они выбирают «облако». Выяснилось, что «одного числа» как такового нет, но сценарий у подавляющего большинства примерно схожий. Для начала заказчик хочет убедиться, что единичная виртуалка достаточно быстрая (то есть что ему предлагают, например, не четверть ядра вместо целого: тут важны процессоры, память и дисковая подсистема). Затем встают сетевые вопросы: (ping до «облака», пропускная способность каналов связи с Интернетом, пропускная способность стыка облако-физика, а также пропускная способность канала между нашими ЦОД-ами).

Читать полностью »

В первой части данной статьи мы рассказали про правило резервного копирования «3-2-1». Теперь мы приглашаем посмотреть вторую часть статьи, содержащую запись нашего полуторачасового вебинара, подготовленного в формате whiteboarding сессии (то есть никаких PowerPoint слайдов — будет только наш эксперт и презентационная доска), на которой он шаг за шагом показывает какие проблемы встречаются у компаний в области резервного копирования, и как правило «3-2-1» можно реализовать на практике на примере продукта Veeam Backup & Replication. Помимо записи вебинара в статье приводятся ответы на наиболее актуальные вопросы, заданные участниками в ходе его онлайн-трансляции.


Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js