Pull to refresh
0
0
Send message

В чем польза ZooKeeper для админов и разработчиков. Семинар в Яндексе

Reading time7 min
Views88K

Привет! Меня зовут Андрей Степачев. В конце прошлого года я выступил перед коллегами с небольшим рассказом о том, что такое ZooKeeper, и как его можно использовать. Доклад изначально был рассчитан на широкий круг аудитории и может быть полезен и разработчикам, и админам, желающим разобраться, как все это примерно работает.





Начнем, пожалуй, с истории появления ZooKeeper. Сначала, как известно, в Google написали сервис Chubby для управления своими серверами и их конфигурацией. Заодно решили задачу с распределенными блокировками. Но у Chubby была одна особенность: для захвата локов необходимо открывать объект, потом закрывать. От этого страдала производительность. В Yahoo посчитали, что им нужен инструмент, при помощи которого они могли бы строить различные системы для конфигураций своих кластеров. Именно в этом основная цель ZooKeeper — хранение и управление конфигурациями определенных систем, а локи получились как побочный продукт. В итоге вся эта система была создана для построения различных примитивных синхронизаций клиентским кодом. В самом ZooKeeper явных понятий подобных очередям нет, все это реализуется на стороне клиентских библиотек.


Стоит отметить, что протокол, используемый Zookeeper называется ZAB, ссылки на описания протокола приведены в конце статьи.



Читать дальше →
Total votes 58: ↑53 and ↓5+48
Comments22

SFTP и FISH протоколы для SSH доступа к контейнерам Jelastic

Reading time3 min
Views9.7K
Ранее, мы рассказали о SSH доступе к облаку Jelastic и его особенностях:
  • SSH шлюз как новый элемент инфраструктуры
  • генерация и добавление SSH ключа в аккаунт Jelastic
  • прямой SSH доступ к контейнерам

В этой статье мы хотели бы обратить внимание на некоторые дополнительные способы SSH доступа к контейнерам Jelastic, а именно, используя SFTP (SSH File Transfer Protocol) или FISH (Files transferred over Shell protocol) протоколы. Данные протоколы позволяют проводить различные операции с файламы (доступ, передача и др.) по защищенному каналу.

image
Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments9

Преимущества ценообразования Jelastic над Amazon

Reading time8 min
Views8.5K
Jelastic часто сравнивают с Amazon Web Services, так как эти два облака имеют много общего: упрощение облачных вычислений, веб-интерфейс для создания и управления окружениями, широкий выбор программных стеков и полный контроль над серверами, с возможностью применять все необходимые настройки и многое другое.

В этой статье мы хотели бы обратить внимание на одно очень существенное различие между Jelastic и Amazon EC2 — систему ценообразования.

Ценовая политика


Основная идея ценообразования Amazon EC2 в том, что вы используете предопределенное количество ресурсов для добавляемых серверов. Чтобы получить немного дополнительных ресурсов, вам придется приобрести сервер в два раза больше уже используемого. В результате, это ведет к значительному повышению стоимости при необходимости лишь немного увеличить количество ресурсов. Даже если ваше приложение потребляет меньше ресурсов, чем предоставляется в одном сервере Amazon, вам все равно придется платить за весь его объем. Более того, если вы хотите просто изменить размер текущего сервера, без переноса данных вам придется использовать EBS, который стоит значительно больше чем не-EBS AMI.

Jelastic vs Amazon
Читать дальше →
Total votes 25: ↑15 and ↓10+5
Comments22

Ext JS 5: MVC, MVVM и др

Reading time5 min
Views42K
Фреймворк Sencha Ext JS стал индустриальным стандартом для разработки корпоративных веб-приложений благодаря обширной библиотеке виджетов, мощной поддержке работы с данными и богатым набором инструментов разработки. Со дня релиза Ext JS 1.0 в 2007 году в нашей отрасли многое изменилось, а веб-приложения несомненно стали больше и сложнее, чем когда-либо ранее.
Читать дальше →
Total votes 34: ↑29 and ↓5+24
Comments16

Использование ViewController в ExtJS 5

Reading time9 min
Views25K
ExtJS 5 приносит несколько восхитительных улучшений архитектуры: мы добавили поддержку ViewModel'ей, MVVM, а также ViewController'ов для усовершенствования MVC-приложений. Что самое приятное — эти функции не взаимоисключающие, так что вы можете вводить их шаг за шагом или использовать одновременно.
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments2

JPS (Jelastic Packaging Standard) для установки сложных приложений в один клик

Reading time10 min
Views6K
Jelastic стремится сделать использование сложных вещей максимально простым, сократить затраты времени разработчика на рутинные задачи, а также управление процессами и, как результат, увеличить эффективность работы, направленной на саму разработку.

В этой статье мы расскажем о нашем уникальном решении по автоматизации установки приложений в один клик — Jelastic Packaging Standard (JPS). Используя данный метод вы сможете запаковать ваше приложение и предоставить его конечным пользователям уже как готовый продукт.

jps
Читать дальше →
Total votes 7: ↑5 and ↓2+3
Comments6

Введение в Nashorn

Reading time3 min
Views35K

Введение


imageNashorn* — движок JavaScript, разрабатываемый полностью на языке программирования Java компанией Oracle. Основан на Da Vinci Machine (JSR 292) и будет доступен в составе Java 8 (релиз которой ожидается в марте 2014 года). Стоит отметить что выполнение JavaScript (и поддержка скриптов в целом) была уже в Java 6, но в ней использовался движок Rhino, также написанный на Java, но поддерживаемый Mozilla Foundation.

О списке нововведений в Java 8 уже писали ранее. В данной статье будет приведена пара простых примеров, которая даст вам представление об использовании Nashorn.
Читать дальше →
Total votes 17: ↑14 and ↓3+11
Comments28

Как находить и устранять утечки памяти на примере Яндекс.Почты

Reading time8 min
Views66K
На первый поверхностный взгляд, слова JavaScript и «утечка памяти» рядом стоять не могут. Настоящих утечек памяти в JS, конечно, не может быть, потому что процесс сборки мусора происходит автоматически и не может контролироваться из нашего кода. Выделить память под объект и забыть освободить невозможно. Но могут быть ситуации, связанные с ошибками в логике работы приложения, которые приводят к утечкам памяти другого рода. Например, забиндили обработчик, в котором что-то делаем с методами общего объекта и забыли его анбиндить. Или же посылаем письмо с большим телом и не очищаем тело даже после отправки.

image

Мы в Яндекс.Почте, сложном и массовом проекте, накопили заметный опыт в поиске и устранении таких утечек, и хотим им поделиться.
Итак, больше подробностей
Total votes 147: ↑143 and ↓4+139
Comments13

Apache Maven — основы

Reading time6 min
Views540K
После публикации топика о Maven в комментариях возникли вопросы о том, как начать с ним работать, с чего начать, как составлять файлы pom.xml, откуда брать плагины и т.п. Данный топик будет своего рода getting started или f.a.q.
Поехали!
Total votes 45: ↑41 and ↓4+37
Comments29

Ant + Ivy VS Maven: давайте жить дружно

Reading time4 min
Views24K
В этой статье я не буду развивать очередной холивар на тему, что круче. Скорее, будет проведен сравнительный обзор, опираясь на точку зрения самого Apache* и личного опыта нашей команды Build Factory. Обращаю внимание, что речь идет о большом Enterprise. Это означает, что в учет не берутся юзкейсы, когда вчера решили — сегодня уже должно быть сделано. Зато в учет берутся очень большие размеры проекта, распределенные по всему миру команды разработчиков и прочие прелести.
Очень часто можно услышать мнение, что Ant сам по себе с Maven сравнивать нельзя. А вот Ant + Ivy уже может составить конкуренцию Maven. Отчасти это правда.

Читать дальше →
Total votes 13: ↑10 and ↓3+7
Comments90

Учим телефон считать гамма-кванты или вторая жизнь старого советского бытового дозиметра ДБГ-0.5Б…

Reading time3 min
Views113K

Ответ проекту «ДОРА»


habrahabr.ru/post/132351
habrahabr.ru/post/143791



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

Заинтересованных прошу пройти под хабракат.
Читать дальше →
Total votes 108: ↑105 and ↓3+102
Comments47

Jelastic плагин для IntelliJ IDEA

Reading time2 min
Views15K
imageПривет Хабравчанам! Как и обещали в предыдущем посте, закончили работу над плагином для IntelliJ IDEA. Так что теперь не только любители Eclipse могут разворачивать проекты в облако прямо с IDE, но и пользователи самой интеллектуальной среды разработки для Java. Специальный плагин позволяет логиниться в Jelastic, разворачивать приложения, управлять ими и просматривать логи. Работать с плагином очень легко и удобно, но все же давайте рассмотрим основные возможности с помощью краткой инструкции.
Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments2

12 инструментов, о которых необходимо знать каждому программисту, работающему с Big Data

Reading time5 min
Views35K
Проектируете ли вы систему для анализа Big Data или просто пытаетесь собирать и обрабатывать данные своих мобильных приложений, вам никак не обойтись без качественных инструментов для аналитики. Хорошей новостью является то, что в данный момент множество компаний выпускают на рынок инструменты, учитывающие потребности разработчиков и соответствующие их навыкам.
Читать дальше →
Total votes 57: ↑47 and ↓10+37
Comments6

jQuery изнутри — введение

Reading time6 min
Views102K
По работе мне несколько раз приходилось участвовать в собеседовании кандидатов на должность клиент-сайдера у нас в компании, смотреть на их познания в Javascript. Удивительно что никто из них не знал толком как же работает jQuery изнутри, даже те, кто отметил свои знания jQuery уровнем «отлично», увы.

У jQuery очень низкий порог вхождения, о нем часто пишут и используют всюду, где только можно (и даже там, где, в общем-то, не нужно), поэтому некоторые даже не смотрят на чистый Javascript. Зачем, мол, его знать, когда есть jQuery, а по нему — тонны примеров и готовых плагинов? Даже на Хабре видел статью про рисование на Canvas, где автор подключил jQuery и использовал его только один раз — для того, чтобы получить доступ к Canvas по его идентификатору. И не считал это чем-то ненормальным.

Извините, отвлекся. Суть поста и следующих частей серии в том, чтобы рассказать о том, как же работает библиотека изнутри и что же в ней происходит по мере выполнения каких-то методов.
Готов и хочу читать дальше
Total votes 149: ↑139 and ↓10+129
Comments80

Что плохого в работе на результат

Reading time11 min
Views216K
Все чаще приходится слышать: "Работай на результат!"

"Работай на результат!" — кричит начальник подчиненному, чтобы заставить этого тупого неповоротливого кретина, принятого в команду по протекции, приносить хоть какую-то пользу общему делу.

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

"Обязательна ориентированность на результат!" — напишет пожилая кадровичка «ГорАвиаВагонМорСтроя» в требования к кандидату на должность помощника бухгалтера, будучи уверенной в том, что раз все так пишут, то и ей надо.

"Наш девиз — Работа на Результат!" — именно так, с двумя Большими Буквами для большего пафоса пишет на корпоративном сайте очередной говноконторы-однодневки молоденькая девочка-всё-в-одном, гордо именующая себя помощником руководителя по связям с общественностью. И этот самый руководитель, даже не знающий, что секретутка это, оказывается, ни больше ни меньше, целый его помощник, тоже употребит эту фразу на фуршете в городской администрации с целью создать себе рекламу в среде местных бюрократов.

Культ карго. Мало кто из произносящих эту фразу может внятно объяснить, какой смысл в неё вкладывается. Люди верят в неё, как в волшебную формулу, заклинание, они пихают её куда ни попадя, надеясь, что она придаст им уникальность, выделит их из толпы таких же неудачников. Организации, Компании, конторы да и откровенные «шараги» не мыслят себя без этого лозунга. Как же это, «Рога и копыта» работают на результат, а мы, что, хуже?



А хуже ли?
Осторожно! Тентакли под катом!
Total votes 255: ↑227 and ↓28+199
Comments174

Облачный PHP хостинг теперь и в России

Reading time3 min
Views20K
Всем привет!

imageС радостью сообщаем, что облачный PHP хостинг Jelastic теперь доступен в России у хостинг провайдера Русоникс. В первую очередь стоит отметить, что платформа обладает такими функциями, как: вертикальное и горизонтальное масштабирование, поддержка различных серверов и баз данных, а также VDS серверов, поддержка Git и SVN, доступны различные PHP расширения, предоставляется возможность изменения конфигурационных файлов, выбор версии PHP и много других полезных и удобных фич.
Читать дальше →
Total votes 49: ↑38 and ↓11+27
Comments104

Океаны, роботы и Java

Reading time4 min
Views10K
Последний проект отца Java Джеймса Гослинга привлек к себе огромное внимание. Мы тоже активно следим за его развитием. Оказалось, что он использует Jelastic для своих разработок.

Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments5

Один в поле не воин: как создать отказоустойчивый кластер

Reading time5 min
Views37K
Часто случается, что после запуска какого-нибудь амбициозного интернет проекта и удачного его пиара в СМИ компания ожидает большой приток посетителей. К сожалению, наш мир не идеален и так случается, что сайт не справляется с таким потоком посетителей, называемым в наших кругах «хабраэффектом», и начинает тормозить. Соответственно компания теряет и деньги и репутацию. В таких случаях программисты обычно сваливают вину на админов, а админы на программистов. Получается замкнутый круг.

imageЧто же делать, если ваше приложение стало тормозить? Одним из способов является перевод его в кластерную архитектуру. К сожалению, есть не так много инструкций и статей, которые подскажут, как это сделать. Поэтому мы решили опубликовать небольшой пример того, как можно создать отказоустойчивый кластер на базе GlassFish. Этот процесс и многое другое автоматизировано в Jelastic, но если Вы по каким-либо причинам не можете перейти на облачный хостинг, то эта статья именно для Вас.
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments6

Три подхода к методологии построения сложного клиентского приложения

Reading time6 min
Views10K
Наверно, не существует единого рецепта, который бы всех устроил. Это касается любой проблемы. Для разработчиков этот тезис самоочевиден, и вовлеченность в использование и проектирование отдельных инструментов определяется, главным образом, лишь профессионализмом. Изобретение велосипедов романтично и неизбежно.

Особо вероятно изобретение велосипеда, когда рост сложности приложения происходит постепенно и в некотором смысле незаметно. Сложное приложение обычно является богатым приложением (rich), его элементы и особенности специфицированы W3C www.w3.org/TR/backplane. Известный JavaScript-евангелист Addy Osmani так дополнительно определяет сложное приложение: “По-моему, крупное JavaScript приложение есть нетривиальное приложение, требующее значительных усилий разработчика для поддержки, причем наиболее сложное оперирование обработкой и отображением данных ложится на браузер” (http://addyosmani.com/largescalejavascript/).
Читать дальше →
Total votes 40: ↑34 and ↓6+28
Comments27

Уроки Python от компании Google

Reading time1 min
Views120K
Отличный способ освоить Python — учебный класс Python в Google Code University. Уроки для этого класса написал Ник Парланте из Стэнфорда, и прошедшие курс люди отмечают не просто высокое, а фантастически высокое качество уроков.

Курс включает в себя шесть видеолекций на Youtube, где Ник проводит обучение новичков-гуглеров и подробно рассказывает о разных хитростях и фичах Python. Некоторые видеолекции длиной до 50 минут.

Есть ещё скачиваемые задачки. Они довольно простые и созданы специально для начинающих. Курс идеально подходит для изучения Python программистами, имеющими опыт работы с другими языками программирования.
Total votes 159: ↑148 and ↓11+137
Comments77

Information

Rating
Does not participate
Registered
Activity