Uber vs. Lyft, Vrbo vs. Airbnb, Netflix против Hulu, Hubspot vs. Salesforce или Spotify против Pandora — это соперничество, которое заинтересована большинству предпринимателей и владельцев стартапов, стремящихся создать свое собственное решение в нише.
Почему? Потому что знание — это сила. Как только вы узнаете, что находится под капотом самых выдающихся технических гигантов 21 -го века, планирование технического стека для вашего собственного бизнеса намного проще. Изучение выбора выдающихся компаний показывает, какие языки, инструменты и рамки уже оказались эффективными в этой области.
Во -первых, давайте рассмотрим, что за Технологический стек Перед погружением глубоко в то, что происходит за шторами приложений, которые миллионы людей используют каждый день.
Что такое технический стек?
Технический стек-это выбор технологий, используемых для питания каждого аспекта продукта от бэк-конца до пользовательского интерфейса/UX. Он включает в себя хостинг и облачное хранилище. Проще говоря, технический стек — это по сути, все инструменты и материалы, ваши Команда разработчиков будет использовать для создания приложения с нуля.
Почему технологические стеки имеют значение?
Выбор технического стека — стратегическое решение. Это оказывает длительное влияние на все Жизненный цикл разработки и даже за пределами. Те же задачи могут быть решены с помощью различных технологий, и вам необходимо найти те, которые соответствуют вашим индивидуальным потребностям, то есть те, которые эффективны и экономичны.
Почему имеют значение технологические стеки других компаний?
Не каждый язык кодирования, облачное хранилище, структура или виртуальная машина сделана равным. Более того, большинство предназначены для решения очень специфического набора проблем.
Например, посмотрим на Python. Это интерпретированный язык высокого уровня, который, согласно его общему описанию, используется для программирования общего назначения. Это верно в некоторой степени: теоретически вы можете кодировать все, что захотите с ним. Вы можете использовать Python для разработки приложения Data Science, инструмента Web Scraping, AI или продуктов IoT. Было бы намного сложнее разработать интерфейс веб-страницы или мобильное приложение с использованием Python.
Если вы попытаетесь использовать Python для разработки вещей, для которых он не предназначен, вы будете тратить больше времени, делать чрезмерные переосмысления и инвестировать в сторонние инструменты. Весь процесс разработки станет проблематичным для команды и инвесторов.
Открыть бутылку вина с вилкой возможно, но зачем беспокоиться, когда есть совершенно хороший штопок?
Именно поэтому многие предприятия шпиовают за самыми успешными продуктами рынка, чтобы увидеть, какие решения соответствуют этим решениям.
Без лишних слов давайте посмотрим на технические стеки самых выдающихся ИТ -компании Анкет
Uber Tech Stack
Uber изначально взял Инновационный подход : Они решили разбить тогдашнюю основную монолитную архитектуру на многие независимые элементы, чтобы масштабирование (а также широкое разнообразие исправлений и улучшений в применении) было максимально безболезненным.
Инфраструктура и хранение данных, вероятно, являются одними из наиболее важных элементов приложения Uber, поскольку существует огромная необходимость в работе с картами, транспортными средствами и пользователями на основе каждого размещения. Компания выбирает модель гибридного облака, которая опирается на множество поставщиков услуг, инструментов и резервных серверов, которые заменяются, если и когда возникнет необходимость.
Docker и Mesos используются для запуска и масштабирования сотен микросервисов, на которые опирается приложение Tech Giant. Есть также специальная библиотека сборок, которая была преобразована в изображения Docker.
Первоначально пинает вещи на более низких уровнях с питоном и узлом. JS, Uber расширился до Java и вышел на свою более высокую экосистему с открытым исходным кодом. Кроме того, нативное асинхронное программирование Go дает команде лучше понять микросервисы на основе Python, как только они будут разбиты.
Языки кодирования:
- Питон
- Джава
- Идти
- C
- C++
- Торнадо
- Хапрокс
- Node.js
QA и QC:
- Udestroy
- Град
- Нагиос
- Фабрикатор
Анализ данных и производительности:
- M3
- Umonitor
- Общие шлюз
- Гроза
- Графана
- Реагировать
- Webgl
- Svg
- Холст 2d
- Искра
Процесс развития:
- GitHub
- Докер
- Opengrok
- Бото
- Унижение
- Ublame
- OSX
- Debian Jessie
- Linux
- Класт
- Дженкинс
Положения применения:
- Докер
- Аврора
- Мезос
Регистрация данных:
- Кафка
- Кибана
- Logstash
- Hadoop
Elasticsearch Хранение данных и инфраструктура:
Mysql
Кассандра
Hadoop
Редис
Постгрес
Риак
Терраформ
Twemproxy
Картирование:
- Ueta
- Dropwizard
- Гурафу
- Джава
Lyft Tech Stack
Как и любая услуга такси, Lyft построила свой технологический стек вокруг трех столбов: простота, отличный пользовательский интерфейс и отличная геолокация.
С точки зрения архитектуры, Lyft и Uber похожи на: оба агрегатора строятся с использованием масштабируемых микросервисов. Выбор Python, Java и GO кажется очевидным.
Lyft в значительной степени полагается на различные решения для хранения облаков и данных. Но ни один из них не установлен в камне: компания использует только сторонние услуги, если они дешевле, чем внутреннее хранение и серверы.
Приложение и данные:
- Nginx
- Реагировать
- PHP
- Питон
- Cloudflare
- Mongodb
- Amazon Services
- Dropbox
- Идти
- Быстрый
- Android SDK
- Монголаб
- Джава
- Фляжка
- Angularjs
Утилиты:
- Git
- Дженкинс
- GitHub
- Вим
- Пичам
- Возвышенный текст
- VirtualBox
- Атом
- Xcode
- Соус лаборатории
Бизнес -инструменты:
- Ослабление
- Джира
- Слияние
- Середина
- G Suite
- HelloSign
Airbnb Tech Stack
С более чем 150 миллионов активных пользователей , Airbnb по праву король сцены бронирования. Как они достигли этого? Существует два основных ответа: удивительные функции фильтров и алгоритмы отличных предложений.
Вся приложение построено вокруг сложного алгоритма с AI, который находит соответствующие комнаты и жилье в соответствии с требованиями пользователя. Приложение рассматривает бесчисленные факторы: например, рейтинги, опыт и близость к закусочным или общественным транспортным суставам.
Недавняя пандемия Covid стала намного сложнее для всех, но Airbnb более чем готов справиться с повышенной нагрузкой, когда ограничения путешествия исчезнут. Причина в том, что это не облачное приложение, поэтому они готовы к масштабированию, когда есть рост спроса.
Приложение и данные:
- JS
- Реагировать
- Nginx
- Джава
- Mysql
- Редис
- Нахем
- Рубин
- Amazon Services
- Hadoop
- Друид
- Авиапала
Утилиты:
- Гугл Аналитика
- Твилио
- MixPanel
- Nexmo
- Aerosolve
- Вигрифи
- Суперсет
DevOps:
- GitHub
- WebPack
- Кибана
- Часовой
- Шутка
- Airbnb SmartStack
- Фермент
- Шеф -повар
Бизнес -инструменты:
- Ослабление
- Gsuite
- Асана
- Invision
- Сборка
- Монитор кампании
Netflix Tech Stack
Некоторые могут утверждать, что Netflix обязан своим успехом из -за огромной доступности потрясающего контента, но это лишь частично верно. В конце концов, какой смысл получить признанные критиками шоу в месте, где никто не может их увидеть?
Приложение Netflix основано на нескольких языках программирования: Python, Node. JS, Java, Kotlin и Swift. Это сделано для обеспечения всесторонней совместимости приложения Netflix на нескольких платформах: браузеры, интеллектуальные телевизоры, смартфоны и игровые приставки.
Комплексная библиотечная часть стека предназначена для того, чтобы предложить пользователям наиболее отточенный опыт, который они выросли, чтобы ожидать от потоковой службы. Netflix обязан своим удобным интерфейсу, чтобы React и JS UI библиотеки.
Учитывая тяжелый акцент приложения на облачных решениях, команда, стоящая за потоковым гигантом, решила использовать Dynomite в качестве службы управления кластерами баз данных. Он предлагает несколько исключительных преимуществ: например, поддержка в памяти, подключаемых и постоянных двигателях для хранения.
Приложение и данные:
- Питон
- Узел. JS
- Реагировать
- Джава
- Mysql
- Postgresql
- Фляжка
- Оракул
- Кассандра
- Престо
- Amazon Services
Утилиты:
- Falcor
- Городской дирижабль
- Amazon Ses
DevOps:
- Дженкинс
- Грань
- GitHub
- Git
- Apache Mesos
- Сумо логика
- Крайтерцизм
- Вектор
- Диномит
- Граница
- AWS Cloudtrail
Бизнес -инструменты:
- Gsuite
- Слияние
- OTELOGIC
- Hubcommander
Salesforce Tech Stack
Многое о техническом стеке, стоящей за самим Salesforce, не является общедоступным знанием, но можно многое понять из ассортимента инструментов, которые, как известно, использует компания.
Основным направлением, как и все крупномасштабные проекты, которые поддерживают тысячи пользователей в режиме реального времени, является масштабируемость. Затем появляется юзабилити на множестве платформ, включая веб -браузеры и собственные мобильные приложения. И, конечно же, хранение данных и безопасность являются ключевыми, учитывая количество контактов и сделок, которые пользователи хранят в своих учетных записях Salesforce.
Кроме того, Salesforce оснащены пользовательскими аналитическими инструментами и сложными алгоритмами поиска и анализа.
Приложение и данные:
- Акам
- Cleardb
- Облачный
Утилиты:
- Гугл Аналитика
- Твилио
- Куча
- Нестандартно
- Циф
- Zuora
- Оптимизируемо
- Resomogrifai
DevOps:
- Дженкинс
- Стилочный
- Кукольные лаборатории
- DataDog
- Соус лаборатории
- Cloud9 IDE
- Битбакет
Бизнес -инструменты:
- Salesforce Sales Cloud
- Бальзамик
- Invision
- Uxpin
- Джира
- Docusign
Spotify Tech Stack
По сути, все приложения потоковой передачи музыки работают одинаково. Миллионы треков хранятся либо на физических серверах, либо в облаках (Spotify выбрал последний), а затем передаются на устройство пользователя.
Но есть гораздо больше, чтобы Spotify. Основным для успеха гиганта потокового музыки является его функциональность обнаружения музыки, основанные на сложных алгоритмах предпочтения и анализа поведения.
Технический стек Spotify фокусируется на трех основных проблемах:
- Непрерывная потоковая передача: несколько серверов в разных местах
- Хранение данных: собственная облачная архитектура, Hub Framework, Google Cloud, Docker, Apache Storm
- Рекомендации на основе ИИ: Python
Приложение и данные:
- Питон
- Nginx
- Джава
- Postgresql
- Начальная загрузка
- Кафка
- Кассандра
- Hadoop
- Google Cloud
- Apache Storm
- BigQuery
Утилиты:
- Гугл Аналитика
- Твилио
- Оглядываться
- Google Cloud Dataflow
- Хаб Фреймворк
DevOps:
- Докер
- Новая реликвия
- DataDog
- Пингдод
- Testflight
- Перси
- Гелиос
Бизнес -инструменты:
- G Suite
- Адролл
- Qualaroo
- Desk.com
- Цвести
Соглашение правильного технологического стека — это непрерывная задача, и один из способов добиться успеха — обратиться к крупнейшим игрокам в отрасли. Видеть, что они выбирают, может дать вам подсказки относительно того, что нужно вашему собственному проекту. И исследование логики, стоящей за их выбором, может помочь вам принять лучшие решения в области технического стека.
Ранее опубликовано в maddevs.io/blog
Оригинал: «https://dev.to/maddevs/tech-stack-of-prominent-companies-what-are-industry-giants-using-to-power-their-applications-2dno»