Что такое Cloud Native и CNCF?
Что такое Cloud Native и CNCF?

1 Введение в CNCF

CNCF: Полное название — Cloud Native Computing Foundation. Он был основан 11 декабря 2015 года. Это фонд программного обеспечения с открытым исходным кодом, который занимается популяризацией и устойчивым развитием облачных технологий (Cloud Native).

Первоначальное намерение или видение создания CNCF просто:

  • Содействовать устойчивому развитию облачных родных вычислений;
  • помощьоблачный родной Технические разработчики быстро создают отличные продукты:

2 Дорожная карта CNCF по ландшафту

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

весьдорожная карта разделена на десять шагов, каждый шаг пользователь или разработчик платформы будет облачным При внедрении родной технологии в реальной среде возникают проблемы, которые необходимо учитывать и решать шаг за шагом:
  1. Контейнеризация。На данный момент самый популярный Контейнеризациятехнология это Docker,Вы можете создавать приложения и зависимости любого размера.,Некоторые программы даже запускаются на эмуляторе,Все выполнено Контейнеризация. через некоторое время,Вы также можете разделить приложение,И напишите будущие функции как микросервисы.
  2. CI/CD (непрерывная интеграция и непрерывный выпуск)。создавать CI/CD среде, так что любые изменения исходного кода можно автоматически скомпилировать, протестировать через контейнер и развернуть в предпроизводственной или даже производственной среде.
  3. Оркестровка приложений (Kubernetes)。Kubernetes В настоящее время это наиболее широко используемый инструмент в области оркестрации приложений на рынке. Charts Может использоваться для помощи разработчикам приложений и издателям в обновлении. Kubernetes запущенные приложения.
  4. Мониторинг и анализ。на этом этапе,Пользователям необходимо выбрать соответствующие инструменты для мониторинга и отслеживания журналов для платформы.,Например, изменитьPrometheusдля мониторинга、Fluentd для ведения журналов、Jaeger используется для отслеживания всей цепочки вызовов приложений.
  5. Брокерские услуги, обнаружение и управление。CoreDNS、Envoy и LINKerd можно использовать для обнаружения и управления сервисами соответственно, чтобы обеспечить проверку работоспособности сервисов.、Маршрутизация запроса、Балансировка нагрузки и другие функции.
  6. сеть。Calico、Flannel а также Weave Net и другое программное обеспечение используются для обеспечения более гибкой функциональности сети.
  7. Распределенная база данных и хранилище。Распределенные базы данных могут обеспечить лучшую отказоустойчивость.и Масштабирование производительности,Но в то же время для его поддержки требуется профессиональное контейнерное хранилище.
  8. Потоки и обработка сообщений。Когда приложению требуется болееJSON-RESTЭтот режим обеспечивает более высокую производительность, когда,Можно рассмотреть возможность использования gRPC или NATS。gRPC генерал Структура RPC (удаленный вызов) (аналогично вызовам RPC в различных средах), NATS Это система публикации/подписки и очереди сообщений с балансировкой нагрузки.
  9. Библиотека образов контейнеров и операционная среда。Harbor В настоящее время это самая популярная библиотека образов контейнеров. В то же время вы также можете использовать различные операционные среды контейнеров для запуска программ-контейнеров.
  10. выпуск программного обеспечения。Наконец, вы можете использовать Notary и другое программное обеспечение используются для безопасного выпуска программного обеспечения.

3 Панорама CNCF (Пейзаж)

Дорожная карта CNCF Landscape помогает пользователям выбрать лучший процесс для всего облачного приложения, исходя из практических шагов. Однако на каждом этапе всего практического процесса пользователям необходимо понимать особенности программного обеспечения и вариантов продукта. Именно здесь в игру вступает панорама ландшафта CNCF (https://landscape.cncf.io/).

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

4. Введение в облачную среду

облачный родной native)Это облачное решениеИдеи архитектуры программного обеспечения,а Также это распределенное облако, основанное на распределенном развертывании и унифицированной эксплуатации и управлении, а также система продуктов облачных технологий, основанная на контейнерах, микросервисах, DevOps и других технологиях.

  • облачный роднойБуквально его можно разделить наОблачное и родноедве части。
  • Облако относительно локального,Традиционные приложения должны работать на локальных серверах.,Сегодня популярные приложения работают в облаке.,Облако включает в себя IaaS, PaaS и SaaS.
  • Родной – значит рожденный и выросший,Когда мы приступили к разработке приложения, мы подумалиВ будущем приложения будут работать в облачных средахвнутри,Воспользуйтесь всеми преимуществами облачных ресурсов,Например, эластичность и распределенные преимущества облачных сервисов.

Как разрабатывать программы, подходящие для развертывания в облачных средах? На самом деле, есть в основном несколько принципов развития, которых необходимо придерживаться:

4.1 Контейнеризация (докер + k8s)

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

4.2 Микросервисы

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

4.3 Бессерверная технология

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

4.4 DevOps

DevOps (сочетание разработки и эксплуатации) означает интеграцию разработки и эксплуатации. Включает непрерывную разработку, непрерывное тестирование, непрерывную интеграцию, непрерывное развертывание и непрерывный мониторинг программного обеспечения на протяжении всего жизненного цикла разработки.

  • Википедия против.DevOpsОпределение довольно сложно произнести。Фактически, чтобы упроститьDevOpsЭто пропагандируетсяВысокая степень сотрудничества между разработкой и ИТ-операциями,Таким образом, завершая высокочастотное развертывание,,Повышение надежности производственной среды, стабильности и стабильности. и безопасность.
  • из другого измерения,В общих чертах,DevOps не только должен прорваться сквозь ведомственные стены между разработкой и эксплуатацией.,Мы считаем, что DevOps необходимо учитывать больше на протяжении всего жизненного цикла приложения.,Реализуйте интеграцию и автоматизацию связи инструментов полного жизненного цикла.、межкомандный онлайнВозможность совместной работы

4.5 Сервисная сетка (Сервисная сетка)

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

4.6 Облако

Облакооблачный Основа родной,Без облаков не было бы облачного родной. Без правильного понимания облака невозможно понять облако. у родного есть правильный способ его открыть. Нетехническим людям необходимо как минимум понимать различные модели обслуживания облака, такие как IaaS, PaaS, SaaS. А также сценарии применения и ценность различных моделей обслуживания.

5 Резюме

  • Нам это не сложно узнать, облачный родной — это очень широкое понятие, и я хочу разработать поддержку облачного Применение родной не сложно,Возможно, это простая реализацияНа основе развертывания контейнеров, использования Kubernetes для оркестрации и планирования, интеграции инструментов CI/CD, инструментов мониторинга Prometheus и т. д.

  • но,Хотите построить по-настоящему облачную родную систему,Требует от нас рассмотрения всех аспектов системы.,Мы должны не только овладеть простыми навыками разработки,Вам также необходимо понимать многие области, такие как SDN, SDS, распределенное планирование и даже компьютерную инфраструктуру.,Уметь сформулировать наиболее подходящее архитектурное решение согласно сценарию.。Только улучшив комплексные возможности во всех аспектах, мы сможем построить готовое приложение или систему в эпоху облачного родного.

От больших данных и совместного использования облачных технологий, автор liugp

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose