• «Восстание машин» часть 1: continuous delivery для базовых Docker образов


      Всем привет! Меня зовут Леонид Талалаев, я работаю в Одноклассниках в команде Платформы. Более 3-х лет назад мы запустили внутреннее облако one-cloud. Сейчас под его управлением находятся тысячи серверов в 4 дата-центрах, сотни сервисов и более десятка тысяч контейнеров.


      Наше облако – это технология, проверенная временем и инцидентами — вплоть до пожара в одном из наших дата-центров. По мере роста числа сервисов росла и сложность управления. Задачи, которые раньше выполнялись вручную, начинали отнимать слишком много времени и сил.


      В серии статей «Восстание машин» я расскажу, как автоматизация в one-cloud помогает экономить не только время, но и деньги. Сегодня пойдет речь о том, как мы реализовали процесс непрерывной доставки изменений базовых Docker образов.

      Читать дальше →
    • Графовые рекомендации групп в Одноклассниках


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

        Читать дальше →
        • +38
        • 2,9k
        • 2
      • Эффективные надежные микросервисы


          В Одноклассниках запросы пользователей обслуживает более 200 видов уникальных типов сервисов. Многие из них совмещают в одном JVM-процессе бизнес-логику и распределенную отказоустойчивую базу данных Cassandra, превращая обычный микросервис в микросервис с состоянием. Это позволяет нам строить высоконагруженные сервисы, управляющие сотнями миллиардов записей с миллионами операций в секунду на них.


          Какие преимущества появляются при совмещении бизнес-логики и БД? Какие нюансы надо учесть, прибегая к такому подходу? Что с надёжностью и доступностью сервисов? Расскажем подробно об этом всём.

          Читать дальше →
        • Масштабирование андроид-тестирования в Одноклассниках



            Привет! Меня зовут Роман Иваницкий, я работаю в команде автоматизации тестирования Одноклассников. OK — огромный сервис с более чем 70 миллионами пользователей. Если говорить про мобильные устройства, то большинство пользуется OK.RU на смартфонах под управлением Android. По этой причине мы очень серьёзно относимся к тестированию нашего Android-приложения. В этой статье я расскажу историю развития автоматизированного тестирования у нас в компании.

            2012 год, «Одноклассники», компания переживает активный рост числа пользователей и увеличение количества пользовательских фич. Для того, чтобы удовлетворять задачам бизнеса, нужно было сокращать релизный цикл, но это было затруднено тем, что все функциональности тестировались вручную. Решение этой проблемы пришло само собой – нужна автотесты. Таким образом, в 2012 году в «Одноклассниках» появилась команда автоматизации тестирования, и первым шагом было – начать писать тесты.
            Читать дальше →
            • +21
            • 2,5k
            • 2
          • Кластер Elasticsearch на 200 ТБ+


              С Elasticsearch сталкиваются многие. Но что происходит, когда хочешь с его помощью хранить логи «в особо крупном объёме»? Да ещё и безболезненно переживать отказ любого из нескольких дата-центров? Какой стоит делать архитектуру, и на какие подводные камни наткнёшься?


              Мы в Одноклассниках решили при помощи elasticsearch решить вопрос лог-менеджмента, а теперь делимся с Хабром опытом: и про архитектуру, и про подводные камни.

              Читать дальше →
            • ок.tech: QATOK #2



                5 марта в питерском офисе Одноклассников состоится ок.tech: QATOK #2 – митап, посвященный тестированию и всему что связано с обеспечением качества в ИТ-проектах. Нас ждет 3 технических доклада от представителей OK, Яндекса и VK, ребята расскажут про проблемы Espresso-автотестов Android в реальном мире, поделятся опытом использования Openapi-generator для написания автотестов на REST-API и покажут, как проводить оценку тестового покрытия API без снятия Сode Сoverage.

                Зарегистрироваться на ок.tech: QATOK #2
                Читать дальше →
              • Новый фронтенд Одноклассников: запуск React в Java. Часть II



                  Мы продолжаем рассказ о том, как внутри Одноклассников с помощью GraalVM нам удалось подружить Java и JavaScript и начать миграцию в огромной системе с большим количеством legacy-кода.

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

                  Если вы не читали первую часть, то очень рекомендую это сделать. Из неё вы узнаете об истории фронтенда в Одноклассниках и познакомитесь с его историческими особенностями, пройдете путь поиска решения проблем, которые накопились у нас за 13 лет существования проекта, а в самом конце окунетесь в технические особенности серверной реализации принятого нами решения.
                  Читать дальше →
                • Статическое тестирование безопасности опенсорсными инструментами


                    Уязвимости в своём коде хочется находить как можно быстрее, а значит нужно автоматизировать этот процесс. Как именно автоматизировать поиск уязвимостей? Существует динамическое тестирование безопасности, существует статическое — и у обоих свои преимущества и недостатки. Сегодня подробно разберёмся со статическим на опыте его применения в Одноклассниках.


                    По каким принципам можно выбирать инструмент для статического тестирования? С какими сложностями сталкиваешься, когда уже выбрал? Как писать собственные правила анализа, расширяющие стандартную функциональность? Я занималась всеми этими вопросами — и теперь делюсь с Хабром тем, что узнала.


                    Речь пойдёт о Java, веб-приложениях, SonarQube и Find Security Bugs, но рассказанное применимо также для других языков и технологий.

                    Читать дальше →
                    • +28
                    • 7,1k
                    • 3
                  • Новый фронтенд Одноклассников: запуск React в Java. Часть I



                      Многие слышали название GraalVM, но опробовать эту технологию в продакшене пока довелось не всем. Для Однокласснииков эта технология уже стала «священным Граалем», меняющим фронтенд.

                      В этой статье я хочу рассказать о том, как нам удалось подружить Java и JavaScript, и начать миграцию в огромной системе с большим количеством legacy-кода, а так же как на этом пути помогает GraalVM.

                      Во время написания статьи оказалось, что весь объём материала не влезает в традиционный для ХАБРа размер и если выложить публикацию целиком, то на её прочтение уйдет несколько часов. Поэтому мы решили разделить статью на 2 части.

                      Из первой части вы узнаете об истории фронтенда в Одноклассниках и познакомитесь с его историческими особенностями, пройдете путь поиска решения проблем, которые накопились у нас за 11 лет существования проекта, а в самом конце окунетесь в технические особенности серверной реализации принятого нами решения.
                      Читать дальше →
                    • ок.tech QATOK: материалы мероприятия



                        11 декабря в петербургском офисе Одноклассников состоялся ок.tech: QATOK – мероприятие, посвященное обеспечение качества в ИТ проектах и всему, что с этим связанно. К нам в гости пришло более 100 человек. В рамках программы мероприятия, вместе с коллегами из OK, Mail.ru и Qameta Software поговорили про замеры производительности в Android-приложениях, обсудили визуализацию покрытия автотестов, разобрались почему PageObject уже устарел и пришло время его заменить.

                        Под катом вас ждут видеозаписи докладов и презентации.
                        Читать дальше →
                      • Видеозвонки под капотом: от миллионов в сутки до 100 участников в одной конференции

                          Сейчас, кажется, невозможно найти мессенджер без функции звонков. Это удобно для пользователей, потому что все коммуникации можно вести в одном приложении. Если объединить всю доступную в СМИ статистику, то получится, что люди разговаривают через интернет более миллиарда минут в день. И по мере развития технологий растет доля видеосвязи, потому что видео лучше передает эмоции собеседника и позволяет создать эффект присутствия.

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

                          Руководитель разработки платформ Видео и Лента Александр Тоболь (alatobol) покажет, что под капотом у сервиса видеозвонков, какие технологии и хаки применить, чтобы сделать свой сервер конференций, и как правильно передавать видео. Заходите под кат и узнаете, как перевести сервис звонков один на один к групповым звонкам на 100 человек и зачем вообще нужна поддержка такого количества участников.
                          Читать дальше →
                          • +45
                          • 5,1k
                          • 2
                        • ок.tech: Data Толк #4 интервью спикеров



                            Подходит к концу десятилетие, и без преувеличения можно сказать, что одной из основных тенденций этих десяти лет стало повсеместное внедрение анализа данных. От проектирования самолётов до выплавки стали, от вызова такси до умных чайников и говорящих колонок. Рекомендательные системы, компьютерное зрение, обработка естественного языка, машинное обучение, оптическое распознавание символов, нейронные сети, искусственный интеллект, все эти направления деятельности прочно закрепились в мире информационных технологий и нет ни малейшего повода полагать, что в ближайшее время что-то изменится. Общественность ждёт, что Data Science придет во все большее количество сфер жизни человека, автомобили станут беспилотными, а границы государств будут охранять огромные боевые человекоподобные роботы.

                            Какой была индустрия раньше, что она представляет сейчас и какие сюрпризы нас ждут в будущем. Ответы на все эти вопросы вы сможете получить 16 декабря на ок.tech: Data Толк #4. В предверии мероприятия мы поговорили со спикерами о прошлом настоящем и будущем Data Science. Под катом вас ждут мини-интервью.

                            Зарегистрироваться на мероприятие.
                            Читать дальше →
                          • Записи докладов ок.tech: Frontend Meetup #2



                              26 ноября в петербургском офисе Одноклассников состоялся ок.tech: Frontend Meetup #2.
                              Вместе с коллегами из Одноклассников, ВКонтакте и Hazelcast поговорили про новый фронтенд OK.RU, сделанный на связке React + Graal, обсудили может ли “Lifting State Up” – один из двенадцати ключевых концепций в официальной документации React, приводить к плохой производительности, а также узнали несколько историй про баги и технические решения, которые были предприняты, чтобы с ними справиться.

                              Заходите под кат если хотите увидеть видеозаписи докладов.
                              Читать дальше →
                            • ок.tech: Data Толк #4 новогодний выпуск



                                Если вспомнить практику анализа данных 10 лет назад и сравнить её с тем, что есть сейчас, то станет очевидно —за это время Data Science проделал гигантский путь. Компьютерное зрение, рекомендательные системы, большие данные, искусственный интеллект — в 2010 эти слова использовались в основном только передовыми ИТ-компаниями. Никто не мог представить, что всего лишь за 10 лет эти технологии изменят мир.

                                Каким бы был Netflix без рекомендательной системы? Кто будет подсказывать какие сериальчики смотреть по вечерам. Или Apple music, в котором вам ничего не рассказывают про новые альбомы в стиле христианский блэк-метал? Только подумайте сколько времени займет выдача кредита без применения скоринговой системы? Представьте себе YouTube, который ничего не показывает в разделе «Рекомендованные видео». Хотя… при таком сценарии я бы больше спал, а не смотрел смешные видосы про котов до 3-х часов ночи. Мир ждет, что водителей заменят беспилотные автомобили, хотя в 2010 это было научной фантастикой. Да чего там, Tinder подбирает пары на основе алгоритмов машинного обучения, люди женятся, у них рождаются дети, если призадуматься, то окажется, что фактически это дети искусственного интеллекта Sic.

                                Мы многим обязаны Data Science, поэтому 16 декабря в московском офисе Одноклассников соберемся и вместе с коллегами из OK, Сбербанка, VK и X5 Retail Group проведем ок.tech: Data Толк #4 новогодний выпуск. Поговорим про итоги года и десятилетия в области анализа и обработки данных. Какой была индустрия раньше, что она представляет сейчас и какие сюрпризы нас ждут в будущем, когда Илон Маск заменит людей огромными человекоподобными роботами. Ответы на все эти вопросы вы получите на нашем мероприятии.

                                Приходите! Будет полезно, интересно и весело!
                                Зарегистрироваться на мероприятие.

                                Под катом вас ждут описания докладов и расписание.
                                Читать дальше →
                              • ок.tech: QATOK



                                  11 декабря в петербургском офисе Одноклассников состоится ок.tech: QATOK – мероприятие, посвященное обеспечение качества в ИТ проектах и всему, что с этим связанно. Вместе с коллегами из OK, Mail.ru и Qameta Software поговорим про замеры производительности в Android-приложениях, обсудим визуализацию покрытия автотестов, разберемся почему PageObject уже устарел и пришло время его заменить.

                                  Зарегистрироваться на ок.tech: QATOK

                                  Если хотите увидеть описания докладов и расписание, то приглашаем под кат.
                                  Читать дальше →
                                • ок.tech: Frontend Meetup #2: мини-интервью спикеров



                                    Фронтенд — одно из самых быстроразвивающихся направлений разработки, вспомните разработку интерфейсов 3-х годичной давности и сравните её с тем, что происходит сейчас и сразу станет понятно — изменилось очень многое, если не совершенно все. С молниеносной скоростью устаревают подходы, считавшиеся передовыми, новый библиотеки становятся популярными буквально в считанные дни.

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

                                    Под катом ответы на многие интересующие вас вопросы.

                                    Зарегистрироваться на мероприятие
                                    Читать дальше →
                                  • Записи докладов ок.tech: Data Толк #3



                                      6 ноября в московском офисе компании Одноклассники прошел ок.tech Data Толк #3, в этот раз мероприятие было посвящено рекомендательным системам. Вместе с коллегами из OK.ru, Joom и СколТеха мы поговорили про прошедший RecSys19, а также о теории, практике и трендах рекомендательных систем.

                                      Заходите под кат, если вам интересны рекомендательные системы.
                                      Внутри поста: видеозаписи докладов и дискуссии, а также презентации спикеров.
                                      Читать дальше →
                                    • Бойтесь уязвимостей, воркэраунды приносящих. Часть 1: FragmentSmack/SegmentSmack



                                        Всем привет! Меня зовут Дмитрий Самсонов, я работаю ведущим системным администратором в «Одноклассниках». У нас более 7 тыс. физических серверов, 11 тыс. контейнеров в нашем облаке и 200 приложений, которые в различной конфигурации формируют 700 различных кластеров. Подавляющее большинство серверов работают под управлением CentOS 7.
                                        14 августа 2018 г. была опубликована информация об уязвимости FragmentSmack
                                        (CVE-2018-5391) и SegmentSmack (CVE-2018-5390). Это уязвимости с сетевым вектором атаки и достаточно высокой оценкой (7.5), которая грозит отказом в обслуживании (DoS) из-за исчерпания ресурсов (CPU). Фикс в ядре для FragmentSmack на тот момент предложен не был, более того, он вышел значительно позже публикации информации об уязвимости. Для устранения SegmentSmack предлагалось обновить ядро. Сам пакет с обновлением был выпущен в тот же день, оставалось только установить его.
                                        Нет, мы совсем не против обновления ядра! Однако есть нюансы…
                                        Читать дальше →
                                        • +25
                                        • 3,4k
                                        • 2
                                      • Могут ли автотесты заменить человека в поиске уязвимостей: интервью с Александрой Сватиковой


                                          Александра Сватикова работает экспертом по информационной безопасности в Одноклассниках. Более 8 лет назад она перешла от разработки на Java к тестированию безопасности приложений.


                                          Мы взяли у неё интервью, где обсудили:


                                          • сложно ли перейти разработчику в аналитику приложений;
                                          • различия в работе пентестера, ресерчера и аналитика;
                                          • security development lifecycle или SDLC;
                                          • роль человека в поиске уязвимостей;
                                          • как обстоят дела с аналитикой безопасности в других компаниях.

                                          В этой статье не будет хардкора — за ним можно съездить на Heisenbug 2019 Moscow, где Александра расскажет о статическом тестировании безопасности. Подробнее к её докладу перейдём в конце поста, а пока добро пожаловать под кат.

                                          Читать дальше →
                                          • +26
                                          • 4,7k
                                          • 2

                                        Самое читаемое