Go in Practice, Second Edition cover
welcome to this free extract from
an online version of the Manning book.
to read more
or

12 Cloud-ready applications and communications

 

This chapter covers

  • Following best practices for containerization and deployment of Go applications
  • Keeping microservices highly available in the cloud
  • Speeding up communications among microservices
  • Compiling to various operating systems and architectures
  • Monitoring the Go runtime in an application
  • Approaches to handling back pressure in services

In previous chapters, we worked toward building fully featured applications using Go. With development and testing covered, a natural next step is deployment. Although we can still deploy applications in myriad ways, sending an application to the cloud in some way is the standard. In this chapter, we’ll start with an introduction to cloud computing that explores this question and what cloud computing looks like in a practical sense. You’ll see how it relates to the traditional models working with hardware servers and virtual machines (VMs).

Cloud computing is a space filled with various cloud providers, which are easy to get locked into. You’ll learn how to avoid vendor lock-in through generalization while architecting code in a manner that’s easier to develop and test locally.

12.1 Cloud computing overview

12.1.1 The types of cloud computing

12.1.2 Containers and cloud-native applications

12.2 Microservices and high availability

12.3 Communicating among services

12.3.1 Making REST faster

12.4 Running on cloud servers

12.4.1 Performing runtime detection

12.4.2 Building for the cloud

12.5 Performing runtime monitoring

Summary