Что общего у Docker, Kubernetes и Prometheus? Все эти облачные технологии написаны на языке программирования Go. В этой практической книге показано, как использовать сильные стороны Go для разработки масштабируемых и устойчивых облачных служб, действующих в непредсказуемом окружении. Вы узнаете, как конструировать такие приложения, познакомитесь с приемами создания низкоуровневых функций Go, шаблонами проектирования и архитектурными решениями. Каждая глава основана на предыдущей и все они последовательно рассматривают создание простого, но полнофункционального распределенного хранилища пар ключ/значение на языке Go. Вы познакомитесь с передовыми практиками использования Go в качестве языка разработки для решения задач, связанных с управлением и развертыванием облачных приложений, а также:
• узнаете, чем облачные приложения отличаются от других программных архитектур; • увидите, как Go помогает решать проблемы проектирования масштабируемых распределенных служб; • познакомитесь с низкоуровневыми особенностями Go, такими как каналы и сопрограммы (горутины), позволяющими реализовать надежные облачные службы; • узнаете, что такое «надежность» и как она связана с облачными технологиями; • научитесь применять различные шаблоны, абстракции и инструменты для создания сложных распределенных систем и управления ими.
Издание адресовано опытным разработчикам, особенно инженерам веб-приложений и инженерам по надежности, которые решают задачи управления и развертывания облачных приложений.