Today, companies and developers need to respond to changing markets at breakneck speeds. Organizations that aren't built on highly-available, rapidly-evolving software are going the way of the dinosaurs. Cloud Native Gobrings together the knowledge developers need to build massive-scale cloud applications that meet the insatiable demands of today's customers and markets.
Kevin Hoffman and Dan Nemeth start with a primer on Go, a programming language that's rapidly gaining traction due to its elegant simplicity, performance, and exceptional suitability for cloud development. Next, they describe the modern cloud-native application in detail, illuminating the 12 Factors associated with successful cloud-native development and the modern disciplines and habits that drive rapid and reliable cloud development.
Hoffman and Nemeth then guide you through building the skills you need to create microservices in Go, helping you master key techniques such as Test-Driven Development (TDD). Once you're comfortable building microservices, the authors show how to add front-end web components using ReactJS and Flux. They walk through Go-based, cloud-native techniques for request routing, RESTful service creation, Event Sourcing and CQRS, securing services, OAuth2 authentication, and much more.
You'll find practical techniques for working with web sockets at scale in the cloud, developing reactive UIs, making the most of concurrency, and integrating database access. At each appropriate stopping point,Hoffman and Nemeth show you how to go from git commit to a continuous delivery pipeline with tools like Wercker, Docker, and Dockerhub, automatically pushing your apps to platform providers like Cloud Foundry/Pivotal Web Services, watching them run there, and assessing their ability to dynamically scale, support failover, fault tolerance, and monitoring.
With cloud-native development rapidly accelerating in importance, these are skills you need now - and no other book brings them together like this. By the time you're finished, you'll be ready to build cloud-native apps that dynamically scale to handle virtually any volume of data, traffic, or users.