Book Image

Architecting Google Cloud Solutions

By : Victor Dantas
Book Image

Architecting Google Cloud Solutions

By: Victor Dantas

Overview of this book

Google has been one of the top players in the public cloud domain thanks to its agility and performance capabilities. This book will help you design, develop, and manage robust, secure, and dynamic solutions to successfully meet your business needs. You'll learn how to plan and design network, compute, storage, and big data systems that incorporate security and compliance from the ground up. The chapters will cover simple to complex use cases for devising solutions to business problems, before focusing on how to leverage Google Cloud's Platform-as-a-Service (PaaS) and Software-as-a-Service (SaaS) capabilities for designing modern no-operations platforms. Throughout this book, you'll discover how to design for scalability, resiliency, and high availability. Later, you'll find out how to use Google Cloud to design modern applications using microservices architecture, automation, and Infrastructure-as-Code (IaC) practices. The concluding chapters then demonstrate how to apply machine learning and artificial intelligence (AI) to derive insights from your data. Finally, you will discover best practices for operating and monitoring your cloud solutions, as well as performing troubleshooting and quality assurance. By the end of this Google Cloud book, you'll be able to design robust enterprise-grade solutions using Google Cloud Platform.
Table of Contents (17 chapters)
1
Section 1: Introduction to Google Cloud
4
Section 2: Designing Great Solutions in Google Cloud
10
Section 3: Designing for the Modern Enterprise

Designing and managing APIs for microservices

You've learned that each microservice should only be invoked from its interface. But when we design interfaces for our services, how can we let others know how to use them? Considering the fact that different teams may be managing different microservices and that microservices can be exposed as public APIs for others to consume, how can we implement a "contract" so that everyone knows what to expect? Better yet, is there a standard used by many others that we can also adhere to? That's what an API definition language such as OpenAPI (previously Swagger) helps accomplish. The OpenAPI specification (https://www.openapis.org/) is a "broadly adopted industry standard for describing modern APIs," as stated on its website. It's a vendor-neutral description format developed under the Linux Foundation. Another API specification language also backed by a large open source community is RAML (https://raml.org/),...