Как в 2009 году мы начали строить облако, и где ошиблись

Автор: admin от 28-03-2018, 13:55, посмотрело: 248

Как в 2009 году мы начали строить облако, и где ошиблись


В октябре 2009-го мы всё перепроверили. Надо было строить дата-центр на 800 стоек. На основании нашей интуиции, прогнозов по рынку и американской ситуации. Вроде как звучало логично, но было страшновато.



Тогда «облачных» вычислений в России не было, как и облачных хостингов. Собственно, и само слово-то почти не использовалось на рынке. Но мы уже видели по Америке, что там подобные инсталляции пользуются спросом. У нас были за плечами большие проекты создания HPC-кластеров для авиаконструкторов на 500 узлов, и мы верили, что облако — это такой же большой вычислительный кластер.



Наша ошибка была в том, что в 2009 году никто не думал, что облака будут использоваться для чего-то, кроме распределенных вычислений. Всем нужно процессорное время, думали мы. И начали строить архитектуру так, как строили HPC-кластеры для НИИ.



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

Категория: Программирование / Веб-разработка

 
 

Классы и фабричные функции в JavaScript. Что выбрать?

Автор: admin от 28-03-2018, 13:55, посмотрело: 313

В javascript существуют разные способы создания объектов. В частности, речь идёт о конструкциях, использующих ключевое слово codev_0 и о так называемых фабричных функциях (Factory Function). Автор материала, перевод которого мы публикуем сегодня, исследует и сравнивает эти две концепции в поисках ответа на вопрос о плюсах и минусах каждой из них.



Классы и фабричные функции в JavaScript. Что выбрать?

Категория: Программирование / Веб-разработка

 

Книга «Психбольница в руках пациентов. Алан Купер об интерфейсах»

Автор: admin от 27-03-2018, 23:05, посмотрело: 307

Книга «Психбольница в руках пациентов. Алан Купер об интерфейсах»
Все мы — безумцы, живущие в технологическом сумасшедшем доме, и создали этот безумный мир мы сами. Своими руками сотворили этот кошмар: интерфейсы, которые нас раздражают и утомляют глаза, устройства, которые приводят к болям в спине и в запястьях. Эта книга стала манифестом и до сих пор не потеряла актуальность. Дверь на свободу распахнута. Почему же мы не замечаем выхода? Об этом и рассказывает Алан Купер, объясняя разницу между интерфейсом и взаимодействием.



Проектируйте только для одной персоны



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

Категория: Программирование / Веб-разработка

 

Какие инструменты для командной работы делают из обычных сотрудников Команду Мечты?

Автор: admin от 27-03-2018, 23:05, посмотрело: 171

Вы когда-нибудь задумывались, какой процент успешно реализованных проектов был выполнен вами самостоятельно, а сколько из них требовало участия команды? Думается, ответ очевиден: для крутых проектов необходима крутая команда.



Какие инструменты для командной работы делают из обычных сотрудников Команду Мечты?

Категория: Программирование / Веб-разработка

 

Как создавали большую энциклопедию для сотрудника

Автор: admin от 27-03-2018, 23:05, посмотрело: 168

Банковскими услугами в России активно пользуется более 50% населения. Вне зависимости от возраста, специальности и размера бюджета, клиенту важно получать полную и достоверную информацию о состоянии счетов и быстрые ответы на свои вопросы. Для этого банки оптимизируют телефонию, разрабатывают скрипты разговора, создают роботов для ответов на типовые запросы. Помимо технологии, внедряются прогрессивные методики обучения, проходит регулярное тестирование знаний сотрудников и оценка качества обслуживания, но все держать в голове невозможно. Особенно, если в продуктовой линейке банка десятки различных продуктов, проходят акции и действуют специальные предложения для клиентов.



Под катом сегодня рассказываем о нашей википедии – умном справочнике, где есть вся информация обо всех продуктах и услугах банка.



Как создавали большую энциклопедию для сотрудника

Категория: Программирование / Веб-разработка

 

Воссоздание эффекта воды из Super Mario Sunshine для Nintendo GameCube

Автор: admin от 27-03-2018, 23:00, посмотрело: 200

Воссоздание эффекта воды из Super Mario Sunshine для Nintendo GameCube


Примечание: В оригинале статьи есть демо на WebGL2, которые в переводе заменены на видео и GIF.



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



Недавно я расширил возможности моего приложения просмотра игровых моделей на основе WebGL, добавив поддержку некоторых игр с Nintendo GameCube, в том числе The Legend of Zelda: The Wind Waker и Super Mario Sunshine. В GameCube, если вы не знаете, установлен передовой, почти программируемый видеопроцессор, но с фиксированным функционалом. Разработчики не могли писать шейдеры, и вместо этого программировали наборы комбинаторов текстур способом, похожим на использованные в конвейерах glTexEnv, но доведённым до максимума возможностей.

Категория: Программирование / Веб-разработка

 

ES6: полезные советы и неочевидные приёмы

Автор: admin от 27-03-2018, 23:00, посмотрело: 191

Стандарт EcmaScript 2015 (ES6) существует уже несколько лет. Он принёс с собой множество новых возможностей, разные способы использования которых далеко не всегда очевидны. Вот обзор некоторых из этих возможностей с примерами и комментариями.



ES6: полезные советы и неочевидные приёмы

Категория: Программирование / Веб-разработка

 

Software Transactional Memory на Free-монадах

Автор: admin от 27-03-2018, 23:00, посмотрело: 167

Осознав, что я давно не писал на Хабр ничего полезного о ФП и Haskell, и что имеется вполне отличный повод для технической статьи, — решил тряхнуть стариной. Речь в статье пойдет о Software Trasactional Memory (STM), которую мне удалось реализовать на Free-монадах при участии ADTs и MVars. И, в общем-то, Proof of Concept оказался крайне простым, в сравнении с «настоящим» STM. Давайте это обсудим.



Software Transactional Memory

Категория: Программирование / Веб-разработка

 

SOA: послать запрос на сервер? Что может быть проще?

Автор: admin от 27-03-2018, 23:00, посмотрело: 148

Возможно, вы уже слышали про компанию Booking.com, что они много экспериментируют и часто деплоятся без тестирования. И еще, что есть один большой репозиторий на 4 Гб, в нем 4 миллиона строчек перлового кода, и вообще монолитная архитектура.



В то же самое время Booking.com меняется. Нельзя сказать, что это кардинальное скачкообразное изменение, но медленное и уверенное преображение. Меняется стек, постепенно внедряется Java в тех местах, где это актуально. В том числе термин сервис-ориентированная архитектура (SOA) слышится все чаще и чаще во внутренних дискуссиях.



Далее рассказ Ивана Круглова (@vian) об этих изменениях с точки зрения взаимодействия внутренних компонентов на Highload Junior ++ 2017. Попав в западню циклически зависимых воркеров пришлось качественно разобраться, что к чему, и какими средствами можно все это исправить.



SOA: послать запрос на сервер? Что может быть проще?

Категория: Программирование / Веб-разработка