Участник
- Сообщения
- 2,491
- Реакции
- 2,794
- Помог
- 61 раз(а)
В первую очередь создаю для себя, так как стало сложно как то организовать методологию хранения и структурирования информации.
В последнее время я сильно ударился головой в архитектуру сложных масштабированных приложений, и существует множество паттернов, и тулзов для их решения.
Наверно я начну с тулинга. Первым о чем хотелось бы поделится, так это о контейнеризации наших приложений. Это проблему уже давно и успешно решает docker. До этого был vagrant со своим оверхедом на виртуалку. Для чего это нужно. Ну, во-первых, вы из коробки получаете единственную среду как локально, так и на проде/деве/стейджею А во-вторых у вас деплоймент процесс становится значительно проще. Ведь все что вам нужно, так это собрать образ и раскатать его по вашим нодам в облаке/сервере (это намного проще чем каждый раз качать исходники, их компилить/транспилить, и запускать). Ну а в-третьих у вас все таки как-никак, а бонусом изоляция, что означат то, что один процесс не может повлиять на работу другого (банально запись в один и тот же файл. Тупой пример, но что пришло в голову). И так, для начала хотел бы поделиться сериею видео о внутреннем устройстве докера, что это и как оно работает:
Следующим тулингом будет оркестрация этих самых докер образов. Их запуск, discovery, добавление/удаление контейнеров, zero downtime deployment и много других ништяков, о которых можно легко нагуглить. Сейчас парадом рулит Kubernetes. Я давно нашел очень прекрасную презентацию, но увы k8s (Kubernetes сокращенно) настолько часто изменяется, что в нем важно лишь концепции. А именно с рассказом о концепции это видео справляется на ура. Также не стоит забывать, что k8s немного разный везде, и имеет свои тонкости при конфигурировании (у AWS, GCP и Azure он немного разный). Собственно само видео:
Также для того, чтобы не заниматься копипастом и рутиной используют Helm (шаблонизатор для k8s конфигов):
В последнее время я сильно ударился головой в архитектуру сложных масштабированных приложений, и существует множество паттернов, и тулзов для их решения.
Наверно я начну с тулинга. Первым о чем хотелось бы поделится, так это о контейнеризации наших приложений. Это проблему уже давно и успешно решает docker. До этого был vagrant со своим оверхедом на виртуалку. Для чего это нужно. Ну, во-первых, вы из коробки получаете единственную среду как локально, так и на проде/деве/стейджею А во-вторых у вас деплоймент процесс становится значительно проще. Ведь все что вам нужно, так это собрать образ и раскатать его по вашим нодам в облаке/сервере (это намного проще чем каждый раз качать исходники, их компилить/транспилить, и запускать). Ну а в-третьих у вас все таки как-никак, а бонусом изоляция, что означат то, что один процесс не может повлиять на работу другого (банально запись в один и тот же файл. Тупой пример, но что пришло в голову). И так, для начала хотел бы поделиться сериею видео о внутреннем устройстве докера, что это и как оно работает:
11 Окт 2020
Также для того, чтобы не заниматься копипастом и рутиной используют Helm (шаблонизатор для k8s конфигов):