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

 

Владимир Закоулов со-основатель iFunny

iFunny – одно из самых популярных в мире развлекательных приложений, доступное в AppStore и Google Play. Приложение позволяет пользователям просматривать и загружать смешные фотографии, видео и GIF-файлы. Созданное компанией Flysoft и запущенное 1 апреля 2011 года.

Cегодня приложение предлагает сотни тысяч развлекательных снимков и видео миллионам пользователей в США и других странах мира. Целевая аудитория приложения – подростки и все те, кто чувствует себя молодыми.

Приложение входило в топ 100 самых скачиваемых приложений АppStore в 2013 году, было в топе 10 самых популярных молодежных приложений США и лучшим среди самых используемых развлекательных приложений на платформе Android.

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

Мобильные приложения сегодня – одна из самых конкурентных сфер ИТ, где развитие происходит стремительными темпами и конкуренция с каждым днём растет.

До 2013 года компания для обеспечения работы своего приложения использовала стандартную ИТ-инфраструктуру с выделенными серверами хостинг-провайдера.

“Приложение росло и развивалось, и нас совершенно не устраивала скорость развёртывания новых серверов, весь процесс выделения ресурсов и планирования мощностей отнимал много времени. Для некоторых видов серверов время ожидания доходило до нескольких недель. В рамках быстрого развития и активного привлечения пользователей предусмотреть что-то заранее достаточно сложно. Нам нужно было быстро масштабироваться, и облачные технологии подходили лучше всего, они привлекли нас своей простотой, доступностью, скоростью использования и подключения. С точки зрения финансов, облачные решения также помогли нам экономить”, - говорит старший системный архитектор iFunny Роман Скваж.

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

“Многие приложения и сервисы стараются распределить нагрузку, а мы наоборот делаем так, чтобы волна пользователей сразу пришла, чтобы они чувствовали, что их много, комментировали, общались. Поэтому для нас возможность гибко масштабироваться была самой приоритетной”, - говорит Роман Скваж.

“Перед нами стояла задача – эластично масштабироваться, и Amazon Web Services предложил нам решения, которые помогают нам делать это эффективно, гибко и быстро, позволяют сконцентрироваться на нашей миссии развлечения пользователей, разрабатывая новые дополнения приложения, и не тратить силы на инфраструктурные процессы”, - говорит старший системный архитектор iFunny, Роман Скваж.

Компания искала надежного партнера, поэтому выбор пал на AWS, как на одного из ведущих игроков на рынке облачных решений.

Свое знакомство с AWS компания начала с сервиса Amazon Simple Storage Service (Amazon S3), который удобен в использовании, оснащен простым веб-интерфейсом и позволяет хранить и получать любой объем данных из любой точки сети.

“Amazon S3 позволяет платить только за используемый объем. Это было удобно. Мы присмотрелись и поняли, что хотим перенести всю свою структуру на Amazon”, - говорит Роман Скваж.

Процесс перехода на AWS начался в ноябре 2013 года и был закончен точно в срок, заняв около месяца.

“В первую очередь мы описали всю текущую инфраструктуру и определили те части, которые необходимо было мигрировать, определив порядок миграции. После этого были созданы check-листы. Сама миграция началась с создания и конфигурации Amazon Virtual Private Cloud (Amazon VPC) на стороне AWS, а основное время заняла миграция данных Cassandra и MongoDB. Мы использовали AWS SDK для автоматизации создания инстансов и общего конфигурирования AWS. Весь процесс прошел гладко, нам даже не пришлось пользоваться службой поддержки AWS”, - говорит старший системный администратор iFunny Дмитрий Кривоногов.

Сегодня вся инфраструктура – приложение iFunny, сайт и система управления контентом - построена только лишь с использованием AWS сервисов, таких как Amazon Elastic Cloud Compute (Amazon EC2), Amazon Elasticache, Amazon S3, Amazon Simple Queue Service (Amazon SQS), Amazon Route53, VPC, Amazon CloudWatch, Amazon CloudFront, Amazon Simple Notification Service (Amazon SNS).

В самом продукте компания использует такие технологии, как Linux, PHP для API, Java для быстрых уведомлений (> 1 миллиона в минуту), Node.js для сайта, MongoDb для хранилища и Cassandra, для ленты уведомлений и “лайков”.

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

"Раньше у нас уходило от 4 дней до месяца на подключение дополнительных серверов. Сейчас на это требуется несколько минут. Все работает автоматически и настолько слажено, что не смотря на то, что приложение постоянно развивается, на поддержание инфраструктуры нам требуется всего два системных администратора. Если бы мы придерживались стандартных решений, как и раньше, штат специалистов был бы раза в три больше", - говорит Владимир Закоулов.

Решения Amazon Web Services позволили компании также сократить издержки на инфраструктуру примерно на 20%. В этом им помогло использование зарезервированных инстансов (Reserved Instances) и планирование мощностей там, где это было возможным.

"В наши пиковые часы нагрузки - к 10 часам утра и 6 часам вечера, когда одновременно приложение используют более 1 миллиона человек, мы добавляем мощностей и по мере спада нагрузки отключаем инстансы. Основной мерой успеха использования облачных решений для нас было уменьшение времени задержки к API и возможность незамедлительного расширения backend-кластера в моменты пиковых нагрузок. Хочу подчеркнуть, что время задержки уменьшилась примерно в 2 раза для европейских пользователей. Мы также достигли большей отказоустойчивости за счет дублирования мощностей и уменьшили количество точек отказа. Наша доступность повысилась за счет использования multi-az & multi-region инфраструктуры AWS. Можно сказать, что наше приложение стало в полтора раза доступнее", - говорит Роман Скваж.

Как для динамично развивающегося продукта, для iFunny также важна безопасность работы и ее стабильность.

"С AWS мы получили и используем VPC. До этого договориться с хостинг-провайдерами о таком сервисе всегда было проблематично. Мы используем VPC чтобы закрывать доступ к инстансам извне, а наши сотрудники легко попадают в Интранет через VPN. При таком раскладе мы уверены, что кибер-атаки и компьютерные угрозы нам не страшны", - говорит Роман Скваж.

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

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

"Все, что мы делаем, мы делаем, чтобы было весело. Раньше часто приходилось расстраиваться, когда что-то шло не так. Сегодня у нас есть время на то, чтобы посмеяться", - подвел итог сотрудничества с AWS Владимир Закоулов.

Чтобы узнать, как AWS может помочь использовать облачные сервисы, посетите: https://aws.amazon.com/ru/websites/