Раньше я работал над большим монолитом. Работать над монолитом в мире программирования микросервисов сложно.

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

Когда я пытался улучшить вводную задачу в более эффективную, моей главной мыслью было - я должен реорганизовать это в микросервисы. Мне было ясно, что такое количество строк кода не должно обслуживаться вместе таким образом. В тот момент я понял, что рефакторинга не будет (по крайней мере, на данный момент), и моя позиция была такой: давайте найдем другой способ узнать, о чем все говорят.

Первый шаг был простым, выбор языка программирования. Я давно хотел отточить свои навыки Python. Хотя производительность может быть не лучшей для какой-либо цели, она определенно была лучшей для моего учебного опыта. Такой популярный язык и большое сообщество — хорошая отправная точка.

Я начал искать учебники и нашел несколько отличных (ссылки прилагаются). Я понял, что две распространенные платформы для микросервисов с Python — это Django и Flask. Время принимать решения!

Здесь я столкнулся с дилеммой перфекциониста: как выбрать между двумя парнями, прежде чем встречаться с кем-то из них? Один из моих способов справиться с этим — смоделировать ситуацию «что, если». Как бы это было выбрать Django, как бы я начал. Оказалось, что начало с Django — лучшая часть в этом. Он имеет полный опыт хорошо обслуживаемой платформы. Очень быстро я добрался до функции, которая мне больше всего нравится в Django, — страницы администратора, о которой я расскажу позже. Но вот настал момент, когда я начал флиртовать с Flask — когда мне нужна была гибкость. Конечно, я хотел, чтобы сервис был моим, а с Django не всегда было проще всего.

После основного курса отработки навыков работы с микросервисами приятным бонусом для меня стало использование Docker, благодаря которому все было легко и просто. Нет ничего лучше для запуска легкого микросервиса, чем запуск его на его лучшем друге, легком контейнере Docker.

Что касается административной функции Django, я просто познакомлю вас с первой строкой, представляющей ее на сайте Django:

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

Я должен сказать, что был впечатлен тем, насколько легко реализовать эту конкретную функцию.

Ссылки на учебники для читателей и зрителей:

https://www.fullstackpython.com/microservices.html