Как масштабировать Java (и любые) проекты
с помощью Docker, Jenkins, Kubernetes.
Подробный курс на русском языке для новичков
Методология автоматизации технологических процессов сборки, настройки и развертывания программного обеспечения
Это должен знать любой разработчик ПО (не важно на каком языке)
Основные возможности DevOps/Jenkins/Kubernetes должен знать любой разработчик ПО. Таким образом вы сможете разрабатывать любые типы проектов даже локально у себя на компьютере и применять все современные технологии.
Сейчас почти все крупные IT компании перешли на методологию DevOps, поэтому эти знания будут вам в плюс, если вы ищете работу по вакансиям.
Интересно, что инструменты DevOps можно использовать для автоматизации и масштабирования любых проектов, даже необязательно именно разработка ПО.
Программная система с открытым исходным кодом на Java, предназначенная для обеспечения процесса непрерывной интеграции программного обеспечения.
Вы будете использовать его, чтобы создавать pipelines и автоматизировать весь процесс обновления проекта.
Этот инструмент использует примерно 60-70% IT компаний (похожие решения есть у GitLab, GitHub, но меньше возможностей)
jenkins.io
Программное обеспечение (изначально в Google) для оркестровки контейнеризированных приложений — автоматизации их развертывания, масштабирования и координации в условиях кластера. Поддерживает основные технологии контейнеризации, включая Docker.
Этот инструмент нужно знать любому разработчику ПО (неважно на каком языке).
Используется в большинстве IT компаний
kubernetes.io
Крупнейший веб-сервис для хостинга IT-проектов и их совместной разработки. Веб-сервис основан на системе контроля версий Git и разработан на Ruby on Rails и Erlang компанией GitHub, Inc.
Вы будете использовать его на базовом уровне, чтобы создать репозиторий и "заливать" туда свои обновления.
Специальных или сложных знаний не требуется.
Этот инструмент также использует примерно 60-70% IT компаний
github.com
Для тренировки работы с DevOps лучше не использовать свой компьютер, т.к. он скорее всего будет "тормозить" и не справится с запуском нескольких виртуальных машин.
Поэтому будете использовать облачное решения от Google, где вы создадите отказоустойчивый кластер для вашего Java приложения.
Причем можно использовать бесплатный аккаунт на 30 дней (вполне хватит для изучения курса).
cloud.google.com
В разработке ПО, CI/CD или CICD — это комбинация непрерывной интеграции и непрерывного развертывания программного обеспечения в процессе разработки. CI/CD объединяет разработку, тестирование и развёртывание приложений. В настоящий момент DevOps-программисты стремятся применять CI/CD практически для всех задач.
Не обязательно, хотя и приветствуется. Необязательно быть админом Linux.
Вы не будете выполнять сложные команды, а только самые минимальные.
Саму систему Linux можно не знать (как она работает внутри), это лучше будет изучить позже.
Все команды DevOps будут показаны, поэтому справится и обычный разработчик.
В этом курсе вы будете много пользоваться консольными командами, т.к. это быстрее и эффективнее. Это обязательный навык для любого разработчика.
DevOps не требует специфичных знания систем Linux или что-то подобное. Все максимально упрощено, чтобы можно было использовать любому разработчику.
Все консольные команды будут показаны, вы просто будете их повторять по необходимости.
Научить вас быстро и удобно доставлять ваши обновления проектов до серверов (а значит и до клиентов).
Для этого в основном будете использовать 3 инструмента:
- GitHub
- Jenkins
- Kubernetes
Помимо среды разработки IDEA.
На выбор можно применять Gradle или Maven.
Если вы научитесь делать это один раз, то сможете применять уже в любых следующих проектах.
Сами проекты вы с нуля тут разрабатывать не будете, потому что упор будет идти на DevOps.
Создание проектов мы проходили в предыдущих курсах комплекта fullstack web.
В этом курсе вы будете использовать уже различные готовые исходники (сначала простой проект, затем сложный), чтобы на них получить практику DevOps.
После практики сможете уже применять знания для своих приложений, т.к. поймете основную суть.
Вопросы можно будет задавать в комментариях к уроку или в телеграмм группе
На этот курс - примерно неделя-две
Да, сможете изучать на любом компьютере, независимо от операционной системы. Можно даже смотреть видео на мобильных устройствах, но сам код придется создавать на компьютере/ноутбуке.
Да. Периодически выходят различные дополнения, связанные с решением недочетов или ошибок, обновляется исходный код. Вся информация будет в личном кабинете для каждого урока.
Доступ к материалам и поддержке - неограничен. Можете изучать и возвращаться к урокам в любое время.
Да, особенно если покупаете по акции со скидкой - многие так делают. Изучение курса можете начинать в любое время. Вопросы сможете задавать также в любое время.