Область облачных технологий в последнее время находится в самом разгаре, так что же такое облачные технологии? Что такое облачное решение? Для чего используется Cloud Native? Сегодня старший поведет всех в эпоху облачных вычислений~~
Технологические изменения должны идти в первую очередь с мышлением.Cloud Native — этоКак создавать и запускать приложения,Это набор технической системы и методологии. Cloud Native — слово-портманто,Облако+Родной. Облако означает, что приложение находится в облаке.,Вместо традиционного центра обработки данных; Native означает, что приложение с самого начала разрабатывалось с учетом облачной среды.,Разработан специально для облака,Оптимальная работа в облаке,В полной мере используйте гибкость облачных платформ+Распределенное преимущество。Старший Е ЦюПонимание облачных технологий заключается в сокращении затрат и повышении эффективности.,Как показано ниже:
Редактировать
Старший Е Цю считает, что приложения, соответствующие облачной архитектуре, должны: использовать стеки с открытым исходным кодом (K8S+Docker) для контейнеризации, повышать гибкость и удобство обслуживания на основе микросервисной архитектуры, а также поддерживать непрерывную итерацию, а также автоматизацию эксплуатации и обслуживания с помощью agile. методы и DevOps, используя возможности облачной платформы для достижения эластичного масштабирования, динамического планирования и оптимизации использования ресурсов.
До появления контейнерных технологий наибольшим влиянием в отрасли были виртуальные машины. Представителями технологии виртуальных машин являются VMware и OpenStack. Многие люди использовали виртуальные машины, которые предназначены для установки программного обеспечения в операционную систему, а затем используют это программное обеспечение для моделирования одного или даже нескольких «субкомпьютеров». На «субкомпьютере» вы можете запускать такие программы, как WeChat и Word, как на обычном компьютере. «Субкомпьютер» и «субкомпьютер» изолированы друг от друга и не влияют друг на друга.
Хотя виртуальная машина может изолировать множество «субкомпьютеров», она занимает много места, медленно запускается, а программное обеспечение виртуальной машины может стоить денег (например, VMware). Контейнерная технология не имеет этих недостатков. Она не требует виртуализации всей операционной системы, а требует виртуализации только небольшой среды (похожей на «песочницу»). Время запуска очень быстрое и может быть выполнено в режиме «песочницы». несколько секунд. Более того, он очень эффективно использует ресурсы (один хост может одновременно запускать тысячи контейнеров Docker). Кроме того, он занимает очень мало места. Виртуальным машинам обычно требуется от нескольких до десятков ГБ места, тогда как контейнерам требуется только МБ или даже КБ. Виртуальные машины и контейнеры, представленные Docker, являются технологиями виртуализации, но контейнеры — это облегченная виртуализация. Вот основные сравнения между ними.
Редактировать
Давайте еще раз взглянем на Docker. Docker сам по себе не является контейнером. Это инструмент для создания контейнеров и движок контейнеров приложений. Хотя Docker вывел контейнерную технологию на пик своего развития, контейнерная технология не была изобретена Docker. На самом деле контейнерная технология даже не является новой технологией, поскольку ее зарождение и использование существуют уже несколько лет. Например, самый ранний контейнер LXC был выпущен в 2008 году. Изначально Docker был PaaS-компанией, первоначально называвшейся DotCloud, основанной в 2010 году. Однако по сравнению с такими известными компаниями, как Pivotal и Red Hat, операции DotCloud не являются успешными. Когда проект был на грани провала, DotCloud в 2013 году решила открыть исходный код своего собственного контейнерного проекта Docker. Но всего за несколько месяцев Docker быстро появился и привлек к своему использованию большое количество разработчиков. Поскольку Docker становился все более популярным среди разработчиков, DotCloud официально сменила название на Docker в октябре 2013 года. В августе 2014 года Docker объявила о продаже своего бизнеса PaaS и начала концентрироваться на Docker. Слово Docker означает докер, а его логотип — кит, держащий множество контейнеров, что очень ярко: Docker — это кит, а контейнеры — это контейнеры. На официальном сайте Docker есть объяснение контейнеров в одно предложение: «Стандартизированная единица программного обеспечения», то есть «стандартизированная единица программного обеспечения».
Три основные концепции технологии Docker:
• Изображение
• Контейнер
• Репозиторий
В приведенном выше примере разработанный шаблон — это образ Docker, произведенный (скопированный) компонент — контейнер Docker, а склад Docker — это место, где образы Docker централизованно размещаются и управляются.
Образ Docker — это особая файловая система. Помимо предоставления программ, библиотек, ресурсов, конфигурации и других файлов, необходимых для среды выполнения контейнера, он также содержит некоторые параметры конфигурации (например, переменные среды), подготовленные для среды выполнения. Изображение не содержит никаких динамических данных, и его содержимое не будет изменено после создания.
Каждый шаблон (зеркало) может создавать компонент, но шаблоны могут быть разработаны разными дизайнерами для обеспечения различных целей и стилей, таких как наклонные балконы, утопленные балконы, стиль Баухаус, стили Мондриана и т. д., которые могут использоваться всеми, образуя большой общественный склад.
Docker официально предоставляет Docker Hub для обслуживания и управления всеми образами, но для бесплатных пользователей можно создать только одно частное хранилище. Docker Hub предоставляет большое количество высококачественных официальных образов, таких как Oracle, MySQL, redis, Ubuntu, Nginx, python, Docker (Docker в Docker!) и т. д. Когда разработчикам нужна среда, они могут перейти непосредственно к Docker. Хранилище изображений Найдите и сократите массу ненужной работы по установке среды.
Docker приносит нам много преимуществ. Вот некоторые из них:
• Более эффективное использование системных ресурсов.
С Докером,Мы можем запускать множество приложений на одном сервере,Полностью используйте аппаратные ресурсы. Например, теперь у нас есть Linux-сервер,Различные версии образов Ubuntu могут быть собраны и запущены.,И назначайте разные контейнеры разным пользователям. Таким образом, один сервер можно использовать для виртуализации множества виртуальных серверов под управлением разных операционных систем.,И для пользователей,Все это прозрачно. Многие публичные облака используют контейнерную технологию для предоставления услуг пользователям.,так Виртуализация и контейнеры вместе стали краеугольным камнем современных облачных вычислений.
• Более быстрое время запуска
Традиционная технология виртуальных машин часто требует нескольких минут для запуска служб приложений. Однако приложения-контейнеры Docker запускаются непосредственно в ядре хоста и не требуют запуска всей операционной системы. Поэтому они могут запускаться за секунды или даже миллисекунды, что существенно экономит. время разработки, время тестирования и развертывания.
• Обеспечить экологическую стабильность
Одной из распространенных проблем в процессе разработки является согласованность среды. Из-за несоответствия среды разработки, тестовой среды и производственной среды некоторые ошибки не обнаруживаются в процессе разработки. Образы Docker обеспечивают полную среду выполнения, за исключением ядра. Среда обеспечивает согласованность среды выполнения приложения. Больше не будет ситуации, когда приложение нормально работает в автономной среде разработки, но имеет различные ошибки при развертывании в Интернете.
• Непрерывная доставка и развертывание.
Разработчики, а также персонал по эксплуатации и техническому обслуживанию больше всего надеются на то, чтобы создать или настроить один раз и нормально запускать где угодно. Разработчики могут использовать стандартный образ для создания набора контейнеров разработки. После завершения разработки персонал по эксплуатации и техническому обслуживанию может напрямую использовать этот контейнер для развертывания кода, независимо от того, на скольких серверах он развернут. Docker позволяет быстро создавать контейнеры, быстро выполнять итерации приложений и делать весь процесс видимым.
• Упрощенная миграция
Поскольку Docker обеспечивает согласованность среды выполнения, он упрощает миграцию приложений. Docker может работать на многих платформах, будь то физическая машина, виртуальная машина, общедоступное или частное облако. Результаты работы являются согласованными. пользователи могут легко переносить приложения, работающие с одной платформы, на другую, не беспокоясь об изменениях в операционной среде, которые могут привести к сбою правильной работы приложения.
• Улучшите возможность повторного использования, уменьшите связанность и упростите обслуживание и расширение.
Технология многоуровневого хранения и зеркалирования, используемая Docker, упрощает повторное использование повторяющихся частей приложений, а также упрощает обслуживание и обновление приложений. Также очень просто дополнительно расширить зеркало на основе базового зеркала. После установки Docker мы можем получить различные образы операционной системы из Docker Hub. Эта операция очень проста. Нам нужно только локально загрузить соответствующий образ и запустить его. Кроме того, мы можем запускать базу данных, веб-сервер и сервер кэша в разных контейнерах, что уменьшает связь между различными сервисами и облегчает расширение. В Docker Hub есть различные отличные образы, которые мы можем использовать напрямую. Нет необходимости создавать их самостоятельно. , развертывание приложений так же просто, как строительные блоки.
• Внедрить механизм песочницы для повышения безопасности.
Поскольку приложение работает в контейнере и изолировано от операционной системы, повреждение операционной системы практически невозможно. Кроме того, если приложение парализовано из-за атаки, нет необходимости перезапускать сервер. Достаточно перезапустить контейнер или запустить другой образ.
Контейнеры — лучший носитель реализации микросервисов и облачной архитектуры. Микросервисы и контейнеры — почти идеальное сочетание. Монолитная архитектура (Monolithic) становится архитектурой микросервисов (Microservices), что эквивалентно преобразованию универсального типа в N типов специального назначения. Каждому типу специального назначения назначается изолированный контейнер, что обеспечивает максимальную гибкость.
Редактировать
На этом общение в этом выпуске заканчивается. Следуйте за блоггерами, чтобы не заблудиться. Старший Е Цю проведет вас по шоссе~~~.