Search
Write a publication
Pull to refresh
1
Олег Сорока @oleg40aread⁠-⁠only

User

Send message

Fail story проекта SaaS Helpdesk для малого бизнеса

Reading time7 min
Views18K

Все закончилось Pivot-ом. Но первоначальную идею мы зафейлили.


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


Наш проект ITSM365, пройдя переосмысление и поменяв позиционирование, смог выйти на положительные финансовые показатели, достаточные для развития без привлечения инвестиционных денег. Это ещё не супер успех, но уже повод для того, чтобы поделиться своим опытом. И своими неудачами.
Этим и займемся под катом.


Читать дальше →

Внедрение Enhanced Write Filter (EWF)

Reading time5 min
Views73K
Расширенный фильтр записи (Enhanced Write Filter, EWF) — это дополнительный компонент, использующийся в Windows Embedded. EWF делает дисковый том доступным только для чтения. При этом операции записи, которые выполняются с данными, хранящимися на этом дисковом томе, перенаправляются в его наложение, которое может находиться на другом диске или в памяти компьютера. Windows рассматривает наложение EWF и его дисковый том как единое устройство. При этом фактически на дисковом томе не происходит изменений. Все изменения сохраняются только в наложении EWF. Изменения можно сохранить на дисковый том в любой момент времени.
Читать дальше →

Файловая система Linux полностью на tmpfs — скорость без компромиссов

Reading time4 min
Views124K

Предыстория


Так сложилось, что уже пять лет мой раздел ntfs с операционной системой Windows располагается на рамдиске. Решено это не аппаратным, а чисто программным способом, доступным на любом ПК с достаточным количеством оперативной памяти: рамдиск создается средствами загрузчика grub4dos, а Windows распознаёт его при помощи драйвера firadisk.

Однако до недавнего времени мне не был известен способ, как реализовать подобное для Linux. Нет, безусловно, существует огромное количество линуксовых LiveCD, загружающихся в память при помощи опций ядра toram, copy2ram и т. д., однако это не совсем то. Во-первых, это сжатые файловые системы, обычно squashfs, поэтому любое чтение с них сопровождается накладными расходами на распаковку, что вредит производительности. Во-вторых, это достаточно сложная каскадная система монтирования (так как squashfs — рид-онли система, а для функционирования ОС нужна запись), а мне хотелось по возможности простого способа, которым можно «вот так взять и превратить» любой установленный на жесткий диск Linux в загружаемый целиком в RAM.

Ниже я опишу такой способ, который был с успехом опробован. Для опытов был взят самый заслуженный дистрибутив Linux — Debian.
Читать дальше →

Лекции Технопарка. 1 семестр. С/С++

Reading time6 min
Views110K
Мы продолжаем наши еженедельные публикации учебных материалов Технопарка. Предыдущие лекции были посвящены web-технологиям в целом, а также алгоритмам и структурам данных. В третьем блоке лекций рассказывается о языках С и С++.

Лекция 1. Язык С. Основы организации и использования оперативной и сверхоперативной памяти


Лекция начинается с введения в язык С: рассказывается об истории его появления, особенностях, преимуществах и недостатках, о сферах применения. Описываются основы препроцессорной обработки, рассматриваются вопросы управления памятью (модели управления памятью, области видимости объектов хранения) и производительность программ на языке С. Обсуждается связывание объектов хранения и их инициализация. Затем рассказывается о классах памяти в языке С. Следующая часть лекции посвящена проблематике указателей, а также работе с одномерными массивами. В заключение рассматривается стандарт POSIX и вопросы переносимости.


Читать дальше →

AIDA. Автоматизация работы с Git, JIRA и TeamCity

Reading time5 min
Views39K
При разработке и тестировании какого-либо продукта появляется много рутинной работы. Чтобы избежать ошибок, связанных с человеческим фактором, мы используем AIDA.

AIDA (англ. Automated Interactive Deploy Assistant) — это учётная запись, значительно облегчающая работу с Git, TeamCity и JIRA.
Сегодня речь пойдет о том, как с её помощью нам удалось автоматизировать многие рабочие процессы.

В первую очередь мы вспомним об используемой в Badoo системе контроля версий, далее расскажем о том, как было автоматизировано создание веток релиза и осуществлено автоматическое слияние веток в Git, поговорим о существенной помощи AIDA в работе с JIRA (контроль и изменение статуса задач, заполнение полей) и ТeamCity (непрерывная интеграция и развёртывание на тестовое окружение).
Читать дальше →

Удобная работа в консоли, или красим STDERR в красный цвет

Reading time7 min
Views21K

Работа в консоли


Многие из нас пользуются консолью каждый день, и, наверное, каждый задавал себе вопрос: как я могу сделать свою работу в консоли эффективнее? Что я могу сделать, чтобы тратить меньше времени на выполнение рутинных операций? В этой статье я бы хотел вкратце рассказать о нескольких простых, но полезных вещах при работе с bash, о которых вы, возможно, не знали.
Читать дальше →

Именование сложных действий в REST API

Reading time3 min
Views65K
Во всех руководствах в описаниях REST дают простые примеры, типа вот вам пользователи, они будут ресурсом /users, вот вам один пользователь, он будет /users/[id] и действия с ним добавить\удалить\изменить.

А что если действия сложные или комплексные и не вписываются в GET\POST\DELETE?

Читать дальше →

Pinba — мониторим php в реальном времени

Reading time4 min
Views58K
Как сказано на официальном сайте
Pinba is a realtime monitoring/statistics server for PHP using MySQL as a read-only interface.

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

Прочитать еще

Перезапуск демона на PHP без потери соединений к нему

Reading time13 min
Views20K
На различных конференциях мы неоднократно рассказывали про наше облако для CLI-скриптов (видеозапись доклада, слайды). Облако предназначено для того, чтобы запускать различные PHP-скрипты по расписанию или через API. Как правило, эти скрипты обрабатывают очереди, и нагрузка «размазывается» приблизительно по 100 серверам. Ранее мы акцентировали внимание на том, как реализована управляющая логика, которая отвечает за равномерное распределение нагрузки по такому количеству серверов и генерацию заданий по расписанию. Но, помимо этого, нам потребовалось написать демон, который был бы способен запускать наши PHP-скрипты в CLI и следить за статусом их исполнения.

Изначально он был написан на Си, как и все остальные демоны в нашей компании. Однако мы столкнулись с тем, что существенная часть процессорного времени (около 10%) тратилась, по сути, впустую: это запуск интерпретатора и загрузка «ядра» нашего фреймворка. Поэтому, чтобы иметь возможность инициализировать интерпретатор и наш фреймворк только один раз, было принято решение переписать демон на PHP. Мы назвали его Phprocksyd (по аналогии с Phproxyd — PHP Proxy Daemon, демоном на Си, который у нас был до этого). Он принимает запросы на запуск отдельных классов и делает fork() на каждый запрос, а также умеет сообщать о статусе исполнения каждого из запусков. Такая архитектура во многом похожа на модель веб-сервера Apache, когда вся инициализация делается один раз в «мастере» и «дети» занимаются уже именно обработкой запроса. В качестве дополнительной «плюшки» мы получаем возможность включить opcode cache в CLI, который будет правильно работать, поскольку все дети наследуют ту же область общей памяти, что и мастер-процесс. Чтобы уменьшить задержки при обработке запроса на запуск, можно делать fork() заранее (prefork-модель), но в нашем случае задержки на fork() составляют около 1 мс, что нас вполне устраивает.
Читать дальше →

Привет от Microsoft: KB3002657 ломает ntlmssp на Windows 2003

Reading time1 min
Views38K
Считаю необходимым предупредить наше сообщество о чудесном патче за номером KB3002657, выпущенном Microsoft в рамках мартовского «patch tuesday». После установки на КД намертво отваливается возможность аутентифицироваться через NTLMSSP. Из-за этого возникает множество любопытных побочек:
  • Не пускает на smb-шары по \\ip, но \\FQDN работает
  • Не пускает на Windows 7\2008 терминалы через сторонние rdp-клиенты
  • В Eventlog по умолчанию ничего не фиксируется
  • Отваливается доменная аутентификация в 1С и прочих сервисах, не умеющих в керберос
  • Поломалась авторизация в доверенном домене (сообщает хабраюзер Ersh)


Решение проблемы (by simplix):
Computer Configuration >> Windows Settings >> Local Polices >> Security Options >>Network Security: LAN Manager authentication level -> Send LM & NTLM responses

Читать дальше →

Veeam анонсирует бесплатную утилиту для бекапа физических машин и серверов

Reading time4 min
Views25K
Уже прошло больше недели с того момента, как в городе греха Лас-Вегасе закончилась трёхдневная конференция компании Veeam, на которой руководство компании делилось планами на будущее, обсуждались текущие проблемы мира виртуализированных данных, их хранения, обработки и обеспечения бесперебойной доступности, читались технические доклады и было много других интересных событий свойственных любой хорошей конференции от лидера отрасли.
Но среди прочего, я бы хотел особенно выделить анонс нового продукта — Veeam Endpoint Backup с припиской Free. Единственной задачей этого приложения будет бекап физических машин.



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

Как я перестал беспокоиться и полюбил репликацию Hyper-V

Reading time15 min
Views130K
Возможно, это странно, но в первые дни на работе после новогодних каникул, когда все упавшее за праздники уже успешно возвращено к жизни, у многих возникает желание как-то упорядочить информацию в своей голове, дабы привести её к систематизированному виду. Хорошим катализатором для этого процесса является осознание факта, что вроде и обладаешь багажом знаний, но бабушке с улицы или шестилетнему ребёнку в простых словах этот багаж ну никак не получится объяснить. Ибо, как гласит народная мудрость, не смог объяснить ребёнку – значит, сам не знаешь. Да и вообще, дефрагментация информации ещё никому не вредила.
Но у нас не курс прикладной психологии, поэтому сегодня я просто изложу в систематизированном виде набора пикселей максимальное количество полезной информации о функции репликации виртуальных машин в среде гипервизора Hyper-V на примере текущей версии Windows Server 2012 R2.

Итак, на что я хочу потратить примерно час вашего времени:
  • Надо понять, зачем вообще нужна репликация в условиях современного мира
  • Составить чек лист из очевидных и не очень пунктов, предшествующих настройке серверов
  • Как правильно и быстро настроить репликацию встроенными средствами. Достаточно подробно, но без воды
  • Несколько советов по оптимизации процесса репликации.
  • Ни слова про продукты Veeam или других вендоров.

Читать дальше →

Штампуем окна: автоматизированное развёртывание виртуальных машин Windows на Hyper-V при помощи Vagrant (часть 3)

Reading time8 min
Views18K
В предыдущих (раз, два) публикациях я рассказал, как подготовить гипервизор и бокс для последующего автоматизированного разворачивания. В последней части этой трилогии я хотел бы раскрыть тему, собственно, деплоя и провижионинга подготовленных боксов. Также здесь я подведу итоги проделанного и в конце вы можете найти все ссылки по теме.
Читать дальше →

Мигрируем на HTTPS

Reading time5 min
Views125K
В переводе этого документа описываются шаги, которые необходимо предпринять для перевода вашего сайта с HTTP на HTTPS. Шаги можно выполнять с любой скоростью – либо всё за день, либо один шаг за месяц. Главное, делать это последовательно.

Каждый шаг улучшает ваш сервер и важен сам по себе. Однако, сделать их все – обязательно для того, чтобы гарантировать безопасность вашим посетителям.
Читать дальше →

Бесплатные SSL-сертификаты на 2 года от WoSign

Reading time1 min
Views117K
Доброго времени суток, уважаемые товарищи Хабра.
На написание статьи заметки, меня побудила статья: «Мигрируем на HTTPS».

Напоминаю, что китайцы в лице компании WoSign до сих пор раздают бесплатно сертификаты и теперь не обязательно знать китайский язык для того, чтобы его получить. Метод по статье «Бесплатные SSL-сертификаты на 2 года с поддержкой до 100 доменов» на данный момент не работает и за сертификат китайцы хотят от ¥488.

Читать дальше →

Observium — больше, чем система мониторинга

Reading time4 min
Views61K
Network monitoring with intuition

Уже давно являюсь читателем Хабра, но написать статью заставило желание ответить на вопросы и, вероятно, диалог из первых уст. Прошу простить за возможную спутанность статьи — «чукча не писатель».

На Хабре уже есть несколько статей, посвященных данной системе («Мониторинг сетевого оборудования Cisco в системе Observium», «Observium — установка системы мониторинга») и мне хотелось бы их дополнить. В статье нет инструкций по установке или настройке, все это есть в официальной документации и по ссылкам, указанным выше.

В статье много картинок, некоторые спрятаны под спойлерами.
Читать дальше →

Tarantool 1.6 от первого лица

Reading time3 min
Views53K
Привет. Это пост о новой версии Тарантула «от автора». Интернет занятно устроен: если поискать про Тарантул, то найдётся статья от 2011 года, о версии 1.3. И ещё какой-то перфоратор, кажется. На форумах-бордах вообще стоит густой туман. Тарантул «ну это как Редис, только»…

Или ещё, недавно сделал для себя открытие, на Тостере кто-то написал «София — это такое append-only хранилище по типу Тарантула». С такими постами я скоро стану фанатом сайта «сделано у нас», автомата Калашникова и Саяно-Шушенской ГЭС. Правда, мне сложно понять, почему мы восхищаемся западными инструментами, при этом представления не имеем о своих. Итак, Tarantool 1.6. В чём фишка?
Читать дальше →

Штампуем окна: автоматизированное развёртывание виртуальных машин Windows на Hyper-V при помощи Vagrant (часть 2)

Reading time7 min
Views14K
В предыдыщей части мы рассмотрели, для чего нужна автоматизация разворачивания ВМ Windows и как подготовить хостовую систему. Сегодня я хотел бы заострить внимание на технической реализации самой массивной части процесса, а именно — подготовке базового бокса для Vagrant.
Собираем коробочку

Настройка TeamCity в Azure — постоянно-доступная система для командной работы в облаке

Reading time6 min
Views7.8K
Эта статья продолжает цикл, начатый нашими друзьями из Лаборатории Касперского и описывает реальный опыт использования инструментов тестирования от Microsoft (и не только) с рекомендациями и выводами. Автор — инженер по тестированию, Игорь Щегловитов (@ins4n3 на хабре). Наши статьи, посвященные тестированию, помечены тегом #mstesting.

В данной статье я хотел бы поделиться о своём первом опыте настройки процесса Continuous Integration c помощью популярной системы TeamCity, на виртуальной машине в Azure. Это хорошо тем, что у нас всегда будет доступна наша система с удобным доступом и контролем над ресурсами.


Читать дальше →

Быстрая сборка образов ОС с помощью Packer

Reading time4 min
Views43K
Repetitio est mater studiorum
Старинная латинская пословица

Если вам периодически приходится собирать образы операционных систем на базе Linux для разных сред виртуализации или даже облаков, или, тем более, вы пользуетесь Vagrant, то вам стоит взглянуть на новый инструмент от Митчела Хашимото (это создатель Vagrant) — Packer.

Packer — это инструмент для создания одинаковых образов ОС для различных платформ из одного описания.

Читать дальше →

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Chief information officer (CIO)
Lead