За прошедшие годы появилось множество технологических стеков, которые сделали жизнь разработчиков программного обеспечения проще и продуктивнее — повысилась эффективность разработки, стал более понятным выбор программного обеспечения.LAMP stack (Linux, Apache HTTP server, MySQL, PHP), which helped countless developers turn their big ideas into big companies, none bigger perhaps than Mark Zuckerberg creating Facebook. More recently, popular web development patterns that leverage Javascript, like the MEAN stack (MongoDB, Express.js, Angular, Node.js) and its close cousins, MERN (swap Angular for React) and MEVN (swap Angujar for Vue.js), have shrunk idea-to-market time dramatically.
Однако, поскольку облачные вычисления становятся способом потребления ресурсов инфраструктуры по умолчанию, просто запустить и запустить приложение уже недостаточно для следующей волны инноваций — идея должна не только быстро выйти на рынок, но и должна быть спроектирована.for scale from the get-go to handle rapid growth and ideally without vendor lock-in of any sort.
To meet this demand, a new infrastructure pattern is emerging called the KOST stack (Kubernetes, Operator, Spark, TiDB). This set of open-source technologies and framework provides a pattern that lets a developer consume cloud computing resources of any mix (public, private or hybrid) with a relational database management system that can performantly handle a hybrid of transactional and analytical processing workloads, so-called HTAP.Встроенная интеграция Между этими технологиями можно создать «кластер KOST» во время любого хакатона выходного дня — независимо от того, являетесь ли вы частью устаревшего ИТ-отдела, стремящегося стать «облачным» или отдельным разработчиком, стремящимся запустить «следующую большую вещь».
Components
Kubernetes
Kubernetes — это набор API-интерфейсов для оркестрации контейнеров с открытым исходным кодом, который фактически стал набором инструментов для развертывания, запуска и управления контейнерными рабочими нагрузками. увеличились захватывающими дух темпами — некоторые даже называют этоthe Operating System of the cloud, Соучредитель Redmonk и аналитик Стивен О'Грэйди сказалit most succinctly, «…это мир Kubernetes, и мы все просто живем в нем…»
While other container orchestration layers do exist (e.g. Docker Swarm, Apache Mesos, OpenStack), the cloud computing world has coalesced around Kubernetes. As a case in point, all major public cloud platforms offer their own managed Kubernetes engines (Amazon Elastic Container Service for Kubernetes on Amazon Web Services, Azure Kubernetes Service in Microsoft Azure, The Kubernetes Engine on the Google Cloud Platform, and the Container Service for Kubernetesв облаке Alibaba), а также большое количество поставщиков, предоставляющих управляемые решения Kubernetes либо локально, либо в разных средах. облака —OpenShift, VMware PKS, Rancher, Giant Swarm, to name just a few.
Kubernetes — это общий знаменатель всех рабочих нагрузок облачных вычислений и основа для использования частного облака или многооблачной архитектуры, что особенно привлекательно для крупных предприятий, которые не хотят быть привязанными к одному общедоступному поставщика облачных услуг или должны управлять собственной облачной инфраструктурой из соображений безопасности, соответствия требованиям или управления данными.
Operator
An Operator is a method of packaging, deploying, and managing a Kubernetes application. It is designed for running stateful workloads easier to manage and operate, which is a relative weakness of vanilla Kubernetes (most Kuberentes production workloads to date are stateless). The Operator pattern was pioneered by CoreOS, championed and fostered by Red Hat after its acquisition of CoreOS, and has gained popularity among different database technologiesпоиск способов предоставления своего решения так называемым «облачным» способом, который стал в некоторой степени синонимом «родной для Kubernetes». И Spark, и TiDB имеют собственную реализацию оператора с открытым исходным кодом именно по этой причине. Percona, ведущий поставщик корпоративной поддержки, услуг и консалтинга для открытого исходного кода базы данных, а такжеannounced two operators for its XtraDB Cluster and MongoDB offering respectively.
Это критический уровень в стеке KOST, поскольку запуск стека базы данных HTAP в облаке требует тщательного управления состоянием данных, чтобы гарантировать, что данные строго непротиворечивы и доступны для анализа практически в режиме реального времени. существуют и другие рутинные, но важные операционные задачи, такие как горизонтальное масштабирование емкости, резервное копирование и восстановление в ходе работы базы данных.Все эти задачи могут быть закодированы и полуавтоматизированы в операторе. по сути этоencoded extension of your SRE team.
Spark
Apache Spark, впервые созданный в Калифорнийском университете в Беркли.AMPLabв 2009 году — это широко используемая среда распределенных кластерных вычислений, превосходно работающая с большими данными. аналитика — классические рабочие нагрузки онлайн-аналитической обработки (OLAP). со Spark MLlib.
Spark has its own Operator, and can interface with a variety of distributed storage systems to aggregate data, including Alluxio, HDFS, Cassandra, AWS S3, OpenStack Swift, and TiKV, which is a distributed transactional key-value store and also a Cloud Native Computing Foundation (CNCF) member project.
TiDB
While Spark provides a strong analytical engine, TiDB completes in the transaction side of the puzzle to make HTAP a reality in the cloud. TiDB is an open-source NewSQL database solution that speaks the MySQL protocol and guarantees strong data consistency. The project has significant traction in China, where it first started, by taking advantage of the massive scaleинтернет-экономики страны, чтобы испытать себя в бою. рост в Юго-Восточной Азии и Индии, а также рост в Европе и Северной Америке, отмеченный недавно отраслевой аналитической фирмой,451 Research.
TiDB has its own Operator implementation, called TiDB-Operator, and works natively with TiKV to provide a relational MySQL-like database that scales horizontally without giving up transactional consistency. (TiDB and TiKV were both initially created and maintained by the commercial company, PingCAP, before TiKV became a member project of CNCF. There is also an open-source Spark plug-in called TiSparkэто поддерживается PingCAP.)
Cloud Native HTAP in the Wild
Traditionally, transactions and analytics are run on two different databases (often designed to be well-suited for one or the other), and often managed by two different teams, even residing in two different buildings if you are a large enough enterprise. The architecture is monolithic (as opposed to microservices-based), difficult to scale horizontally, and data is only made available for analysis by managing a separate ETL (Extract, Transform and Load) pipeline that runs once or a few times a day, likely done by a third team.
Хотя этот устаревший способ все еще может работать в определенных отраслях, высококонкурентные вертикали, такие как розничная торговля / электронная коммерция, перенимают собственный облачный способ HTAP со стеком KOST, чтобы предоставлять такие функции, как «умное ценообразование», лучшее управление запасами, обнаружение мошенничества и новые возможности, такие как «buy online, pick up in store.” Все эти инновационные подходы к покупкам требуют гибкой цифровой инфраструктуры, с помощью стека KOST, который может быстро масштабироваться, легко работать и обеспечивать согласованность данных, делая их доступными для агрегирования и анализа, не требуя конвейера ETL.
Стек KOST ни в коем случае не является статичным, потому что каждый компонент имеет открытый исходный код, расширяемый и хорошо интегрируется с другим программным обеспечением, когда возникает необходимость. Слой сервисной сетки с открытым исходным кодом, такой какIstio, Kong, or Linkerd, also tends to sit on top of KOST to manage a set of microservices to power your applications.
Поскольку KOST состоит только из программного обеспечения с открытым исходным кодом, его можно использовать совершенно бесплатно, если ваша команда хочет его использовать, что позволяет крупным предприятиям развиваться в цифровом формате, отказываясь от дорогостоящих лицензий проприетарных альтернатив. ваш стиль, у каждого компонента есть по крайней мере один коммерческий поставщик, готовый его поддерживать.
While stack patterns may sometimes inadvertently pick technology winners, irking certain vendors who have vested interests in the popularity of specific software, developers generally не против. As the new Kingmakersвыбора технологий, разработчики все более изощренно фильтруют шумиху поставщиков в пользу открытого исходного кода. технологии, которые имеют активное сообщество, хорошо сочетаются с другим программным обеспечением и решают реальные технические проблемы.Так же, как LAMP осветил путь для первой волны веб-разработки, а MEAN/MERN/MEVN раздвинули границы мобильной разработки, KOST облегчит использование облачных вычислений для масштабирования работы вашей базы данных за счет анализа данных в реальном времени, что позволит разработчикам и предпринимателям делать то, что у них получается лучше всего: строить.
Red Hat is a sponsor of The New Stack.