Let’s review the tools you will be using throughout this book. These are not essential, but they will make your life easier, and they will be referenced in the projects.
Google Cloud Architecture Diagramming Tool
The Google Cloud architecture diagramming tool has been used to create the diagram architecture in this book. It supports all Google Cloud services and is free to use.
Command-Line Utilities
While much of this book assumes that you’re using a POSIX-compliant shell, such as those found on Linux or macOS systems, it’s not a hard requirement. You can still follow along using Windows PowerShell or the Windows Subsystem for Linux (WSL). Alternatively, the Cloud Shell, which I mentioned earlier, can also be used.
Let’s move on to some command-line utilities that you’ll find handy:
envsubst
envsubst is a handy command-line tool that substitutes environment variables in a file. It’s part of the gettext package and works across Windows, macOS, and Linux. Refer to the installation instructions.
Use envsubst for replacing environment variables in configuration files. This lets you maintain configuration settings for your gcloud environment separately from your code.
jq
jq is a command -line tool for parsing JSON. Many commands you will use have the option of outputting results in JSON format. Being able to extract information for use elsewhere is handy. jq is available for Windows, macOS, and Linux. Follow the instructions to install.
yq
yq is like jq but for YAML allowing extracting information from commands that output YAML. It is available for Windows, macOS, and Linux. Follow the instructions to install.
pack
In some projects, you will be using Cloud Native Buildpacks to build container images. The pack CLI is a tool for building container images using buildpacks. It is available for Windows, macOS, and Linux. Follow the instructions to install.
cURL
cURL is a command-line tool for sending HTTP requests. You will use this for testing HTTP endpoints from the command line. It is available for Windows, macOS, and Linux and is sometimes installed already. However, follow the instructions to install it on your local machine.
Apache Bench
Apache Bench is a tool for benchmarking web requests. It is a command-line tool that can be used to send a large number of requests to a web server and measure the response time.
If you are using a macOS, Apache Bench is already installed. If you are using Linux, you can install it using your package manager. If you are using Windows, you can install it using Chocolatey.
However, if you are using the Google Cloud Shell, Apache Bench is not installed by default. You can install it using the following command:
sudo
apt-get
install
apache2-utils
Siege
Siege is a similar tool to Apache Bench, but Siege can provide log files of the test with more details, including the response of each request. Follow the instructions to install it.
Kubernetes
While the main Kubernetes command-line tool kubectl is provided as part of the Google Cloud SDK, there are a number of other tools that you will find useful:
k9s
k9s is a command-line tool for managing Kubernetes clusters. It is available for Windows, macOS, and Linux. Follow the instructions to install. It provides a command-line interface to Kubernetes that is much easier to use than the standard kubectl command, and it also looks cool, as shown in Figure 4-3.
Figure 4-3. k9s
kubectx and kubens
kubectx and kubens are a pair of command-line tools for managing Kubernetes clusters and namespaces. They are available on GitHub.
Terraform
Terraform is a tool for managing infrastructure as code that will be introduced toward the end of the book. It is available for Windows, macOS, and Linux. Follow the instructions to install. As well as Terraform itself, there are several other tools that you may find useful:
TFLint
TFLint is a tool for linting Terraform code. Follow the instructions to install.
TFSec
TFSec is a tool for checking Terraform code for security issues. Follow the instructions to install.
Infracost
Infracost is a tool for estimating the cost of Terraform code. It is useful for keeping track of potential Google Cloud expenses. Follow the instructions to install.