История хранилища картинок Avito



А что если вам дадут задачу организовать хранение и раздачу статических файлов? Наверняка многие подумают, что тут все просто. А если таких файлов миллиард, несколько сотен терабайт и запросов к ним несколько миллиардов в сутки. Также много разных систем будут отправлять на хранение файлы разных форматов и размеров. Этот квест уже не кажется таким простым. Под катом история о том, как мы решили такую задачу, какие сложности при этом возникли, и как мы их преодолели.

Avito развивался стремительно с первых дней. Например, скорость загрузки новых картинок для объявлений выросла в первые годы в несколько раз. Это требовало от нас на начальном этапе решать вопросы, связанные с архитектурой, максимально оперативно и эффективно, в условиях ограниченных ресурсов. Кроме того, мы всегда отдавали предпочтение простым решениям, требующим мало ресурсов на поддержку. Принцип KISS («Keep it short and simple») — это до сих пор одна из ценностей нашей компании.
Читать дальше →

Книга «Философия DevOps. Искусство управления IT»

image Привет, Хаброжители! Наконец-то у нас вышла книга Дженнифер Дэвис и Кэтрин Дэниелс — Философия DevOps.

IT-принцип «agile» стал мантрой цифровой эпохи. С ростом проектов, переходом от монолитных приложений к системе микросервисов, увеличением и накоплением продуктов возникают вопросы, которые требуют совершенно иного подхода. Теперь наибольший интерес вызывает находящаяся на стыке разработки и операционного управления методология DevOps.

DevOps — это не просто набор техник, это философия. Разработчики, зацикленные на пользователях, должны уделять внимание поддержке и ее запросам. Сисадмины должны сообщать о проблемах продукта и вносить свой вклад в улучшение процесса работы. Но налаживание связей внутри компании — это лишь первый шаг. Чтобы продукт стал простым и удобным, придется вложить время и ресурсы в его доработку. Конфигурация через центральную службу, внедрение простым копированием, отсутствие внешних зависимостей, обдуманные метрики вместо мусора в логах — вот лишь часть задач, которые придется решать на этом пути.
Читать дальше →

Дайджест: работа IaaS-провайдера, SSL-сертификаты, ЦОД и наш «пятничный формат»

В этой подборке мы приводим материалы, которые помогут разобраться с тем, что происходит в сфере IaaS, новых технологиях для ЦОД, устройстве SSL-сертификатов и познакомиться другими нюансами и тонкостями работы виртуальной инфраструктуры.

В прошлых выпусках:

  • Ультимативный DNS- и SSL-дайджест
  • VPN-дайджест: Ознакомительные и практические материалы на Хабре и не только


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

[Перевод] Идиоматичный Kotlin, набор хороших практик



Чтобы полностью раскрыть все преимущества Kotlin, пересмотрим некоторые подходы, которые мы используем в Java. Многие из них могут быть заменены на лучшие аналоги из Kotlin. Давайте посмотрим на то, как мы можем написать идиоматичный код на Kotlin.

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

Конкурс по программированию на Ada



Make with Ada – конкурс программных проектов для встраиваемых устройств, спонсируемый компанией AdaCore. В нём могут принять участие независимые разработчики и небольшие группы, использующие языки Ada или SPARK для разработки надежных, открытых и безопасных программ.

Цель этого конкурса – распространение информации о преимуществах языков Ada и SPARK и поощрение их использования в новых проектах. Призовой фонд более 8000 €.
Читать дальше →

Совместный просмотр Google I/O в офисе Avito

image


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


Трансляция KeyNote начнется в 20 часов по московскому времени. Если вы не хотите смотреть ее в одиночестве, а готовы сразу обсудить все новости и новинки с коллегами по цеху — приходите на коллективный просмотр к нам в Avito!


А в этом посте мы поделимся основными ожиданиями от конференции и догадками про анонсы новых продуктов.


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

[Перевод] Да будет фильм с Xamarin.Forms

Одной из самых крутых тенденций в дизайне мобильных пользовательских интерфейсов, смело можно назвать использование видео в качестве фона для предоставления. Как пример, приложения Tumblr, Spotify и Vine. В этой статье мы разберём то, как реализовать аналогичное решение в приложении Xamarin.Forms, а в конце расскажем о меророиятии, которое скоро пройдёт в СПб. Всё, что нам нужно, это реализовать два пользовательских рендерера для Android и для iOS по отдельности.


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

[Перевод] Адаптивная типографика и математика

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

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

image

Самое приятное то, что вы можете автоматизировать все это с помощью Sass. Читать дальше →

[Перевод] О том, как в Instagram отключили сборщик мусора Python и начали жить

Отключив сборщик мусора Python (GC), который освобождает память, отслеживая и удаляя неиспользуемые данные, Instagram стал работать на 10% быстрее. Да-да, вы не ослышались! Отключив сборщик мусора, можно сократить объем потребляемой памяти и повысить эффективность работы кэша процессора. Хотите узнать, почему так происходит? Тогда пристегните ремни!

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

Технология MIPS SIMD и процессор Байкал-Т1

Коллеги из Байкал Электроникс предложили поработать с процессором Байкал-Т1 [L1] и написать о своих впечатлениях. Для них это способ рассказать разработчикам о возможностях и особенностях своего процессора. Для меня — шанс поближе познакомиться с системой на современном процессорном ядре и в будущем изобретать поменьше "велосипедов", добавляя, к примеру, новую функциональность в проект MIPSfpga-plus [L2]. Ну и обычное инженерное любопытство, опять же…
Сегодня речь пойдет о векторном расширении архитектуры MIPS SIMD, которое доступно в ядрах MIPS Warrior P-class P5600 [L3], а значит присутствует и в процессоре Байкал-Т1. Статья ориентирована на начинающих разработчиков.


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


Последние посты