𝔖 Scriptorium
✦   LIBER   ✦

📁

Designing Applications for Google Cloud Platform: Create and Deploy Applications Using Java

✍ Scribed by Ashutosh Shashi


Publisher
Apress
Year
2023
Tongue
English
Leaves
257
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


Learn how to use Google Cloud Platform (GCP) and its services to design, build, and deploy applications. This book includes best practices, practical examples, and code snippets written in Java, making it a key resource for developers seeking hands-on experience with GCP.

This practical guide will provide developers and architects with the tools and knowledge they need to design and build applications on GCP using Java. Through this book, I hope readers overcome any challenges they encounter when using GCP and that they gain the confidence and skills they need to build robust and scalable Java applications.

You'll begin with an introduction to GCP services and a review of what Java offers while developing applications for GCP. Next, you'll be walked through how to set up Google App Engine, Google Storage Cloud, and Google Cloud SQL with use cases, as well as application development and deployment. As the book progresses, you'll be exposed to advanced GCP services, deploying and scaling applications on GCP services, and troubleshooting and optimization of Java applications on GCP. The book uses real-world examples to help you understand how GCP services can solve everyday problems.

After completing this book, you will understand Google Cloud Platform and its services, and will have the knowledge needed to design, build, and deploy your own applications on GCP using Java.

Vertex AI is a managed Machine Learning platform for developing, training, and deploying Machine Learning models. It provides cloud-based infrastructure for running large-scale Machine Learning workflows and offers various services, including hosting models, training algorithms, and deploying machine learning applications. The platform is designed for data scientists and machine learning engineers who need to quickly and easily build and deploy complex models at scale. With Vertex AI, users can take advantage of Google’s infrastructure and expertise in machine learning and focus on their core task of developing models without worrying about managing the underlying infrastructure. For example, you can use Vertex AI to create a recommendation engine. You can get predictions through batch requests by using the data provided and Machine Learning.

What You'll Learn:

Create a GCP project, configure authentication and authorization, and deploy a sample application.
Use GCP services to solve common problems and apply them to real-world scenarios
Implement GCP services such as Datastore, SQL, and Spanner
Leverage GCP tools such as the SDK and Cloud Shell

Who This Book Is For:
Software developers, Cloud architects, and managers looking to design and build applications for Google Cloud Platform. This book is for those with software development experience who are familiar with Java programming. It is also suitable for those new to GCP who have a basic understanding of cloud computing concepts.

✦ Table of Contents


Table of Contents
About the Author
About the Technical Reviewer
Introduction
Untitled
Chapter 1: Introduction
Start a Free Trial on GCP
Creating a New Project
Overview of GCP and Its Services
Google Compute Engine
Google Kubernetes Engine
Google Cloud Storage
Google BigQuery
Google Cloud SQL
Google Cloud Spanner
Google Cloud Dataflow
Vertex AI
Google Cloud Translation API
Overview of Java and Its Capabilities
The Benefits of Using GCP for Application Development
Overview of Microservices
Summary
Chapter 2: Setting Up the Development Environment
Installing the GCP SDK and Java Development Kit
Installing Java (Oracle) JDK
Installing Java Open JDK
Creating a GCP Project and Setting Up Credentials
Creating a Project
Setting Up Credentials
Setting Up an IDE and Configuring a GCP Plugin
Configuring the GCP Plugin
Summary
Chapter 3: Google App Engine
Why Use Google App Engine?
Use Case of Google App Engine
Understanding the Google App Engine Runtime and Service Options
GAE Runtime
GAE Service Options
Building a Web Application for GAE
Creating a Sample Web Application
Deploying a Web Application
Deploying a Java Web Application
Setting Firewall and Security Considerations
Scaling and Optimizing App Engine Applications
Setting Up Manual and Autoscaling in GAE
Manual Scaling
Automatic Scaling
Chapter 4: Data Storage in Google Cloud
Understanding the Various Storage Options in GCP
Cloud Storage
Cloud SQL
Cloud Spanner
The Use Cases for Cloud Spanner
Cloud Bigtable
The Use Cases for Cloud Bigtable
Cloud Datastore
The Use Cases for Cloud Datastore
Cloud Memorystore
Features of Memorystore
Use Cases of Memorystore
Cloud SQL vs. Cloud Spanner
When to Use Cloud Spanner Instead of Cloud SQL
When to Use Cloud SQL Instead of Cloud Spanner
Cloud Spanner vs. Cloud Datastore
When to Use Cloud Datastore Instead of Cloud Spanner
When to Use Cloud Datastore Instead of Cloud SQL
When to Use Cloud SQL Instead of Cloud Datastore
Using Java to Interact with Cloud Storage
Java Code for Creating a Bucket and Uploading the File to the Bucket
Java Code for Downloading Files from a Cloud Storage Bucket
Java Code for Managing Files in a Cloud Storage Bucket
Using Cloud Storage for File Storage in a Java Application
Setting Up a GCS Bucket
Authenticating with GCS
Creating a Service Account, Downloading It, and Using It in the Project
Installing the GCS Java Client Library
Uploading a File
Downloading a File
Deleting a File
Summary
Untitled
Chapter 5: Google Cloud SQL
Automatic Backup of Cloud SQL Database
Configuring Automatic Backup
Automatic Software Updates of Database Software to the Latest Version
High Availability of Google Cloud SQL
Cloud SQL Read Replicas
Cloud SQL: Automatic Failover
Multizone Deployment
Cloud SQL: Scalability
Cloud SQL: Security
Authentication
Authorization
Encryption
Private IP
Audit Log
Cloud SQL: Monitoring and Logging
Monitoring
Logging
Integration of Cloud SQL with Other GCP Services
Integration of Cloud SQL with Cloud Storage
Integration of Cloud SQL with Cloud Load Balancing
Integration of Cloud SQL with IAM
Integration of Cloud SQL with Cloud Data Loss Prevention
Integration of Cloud SQL with Cloud Dataflow
Integration of Cloud SQL with Cloud App Engine
Understanding the SQL/NoSQL Options in GCP
Benefits of Cloud SQL Instead of a Self-Managed, On-Premises Database
Use Case for Cloud SQL
Situations When Cloud SQL Is the Best Choice
Using Java to Interact with Cloud SQL
Creating Tables in Cloud SQL Using Java
Inserting Data into Cloud SQL Tables Using Java
Running Queries on a Cloud SQL Instance Using Java
Using Cloud SQL for Data Storage in a Java Application
Summary
Chapter 6: Advanced GCP Services
GCP Advanced Services
Big Data and Machine Learning
Kubernetes and Containers
Security and Identity
Popular GCP Advanced Services
Cloud Pub/Sub
Reason to Use Cloud Pub/Sub
Drawbacks of Using Cloud Pub/Sub
Use Case Where Cloud Pub/Sub Is Bad Choice
Using Cloud Pub/Sub in Java Application
Cloud Dataflow
Java Example of Cloud Dataflow
Cloud Dataproc
Java Example for Cloud Dataproc
Configuring Cloud Dataproc
Cloud Functions
Use Cases for Cloud Functions
Limitations of Cloud Functions
Java Example of Cloud Functions
Summary
Chapter 7: Deployment and Scaling
Deploying a Java Application on GCP Using Various Options
Deploying a Java Application on App Engine Manually
Deploying a Java Application on GAE Automatically
Deploying a Java Application on GKE
Deploying a Java Application on GKE Through Automation
Deploying a Java Application on Google Compute Engine
Google Compute Engine Automation for Deployment
Deploying a Containerized Java Application on Google Cloud Run
Deploying a Java Application on Cloud Functions
Scaling a Java Application on GCP
Steps for Scaling Applications
Scaling a Java Application on Google Kubernetes Engine
Scaling a Java Application on App Engine
Scaling a Java Application on Compute Engine
Monitoring Performance and Autoscaling
Scaling in Serverless
Summary
Chapter 8: Troubleshooting and Optimization
Troubleshooting Java Applications on GCP
Example 1: Slow Response Time
Example 2: Exception Handling
Example 3: Memory Leak
Optimizing a Java Application Running on GCP
Example 1: Improving Response Time
Example 2: Improving Reliability
Example 3: Improving Scalability
Example 4: Improving Security
Example 5: Improving Performance
Tips and Tricks for Optimizing Performance
Architecture Concepts
Caching
Code Optimization
Database Optimization
Autoscaling
Load Balancing
Monitoring and Logging
Network Optimization
Implementing Microservices
Summary
Chapter 9: Conclusion
Summary of Key Takeaways
Additional Resources
Next Steps for Learning More About GCP and Java Development
Summary
Index


📜 SIMILAR VOLUMES


Designing Applications for Google Cloud
✍ Ashutosh Shashi 📂 Library 🏛 Apress 🌐 English

<p><span>Learn how to use Google Cloud Platform (GCP) and its services to design, build, and deploy applications. This book includes best practices, practical examples, and code snippets written in Java, making it a key resource for developers seeking hands-on experience with GCP. </span></p><p><spa

Google Cloud Platform Cookbook: Implemen
✍ Legorie Rajan PS 📂 Library 🏛 Packt Publishing 🌐 English

<p><span>Practical recipes to implement cost-effective and scalable cloud solutions for your organization</span></p><h4><span>Key Features</span></h4><ul><li><span><span>Implement Google Cloud services in your organization</span></span></li><li><span><span>Leverage Google Cloud components to secure

Google Cloud Platform Cookbook: Implemen
✍ Legorie Rajan PS 📂 Library 🏛 Packt Publishing 🌐 English

<p><span>Practical recipes to implement cost-effective and scalable cloud solutions for your organization</span></p><h4><span>Key Features</span></h4><ul><li><span><span>Implement Google Cloud services in your organization</span></span></li><li><span><span>Leverage Google Cloud components to secure

Java Ee Applications on Oracle Java Clou
✍ Harshad Oak 📂 Library 📅 2014 🏛 McGraw-Hill/Osborne Media 🌐 English

Master Java EE Application Development on Oracle Java Cloud Build highly available, scalable, secure, distributed applications on Oracle Java Cloud. In this Oracle Press guide, Oracle ACE Director and Java Champion Harshad Oak leads you through the entire Java EE cloud-based application lifecycle--f

Getting Started with Containers in Googl
✍ Shimon Ifrah 📂 Library 📅 2021 🏛 Apress 🌐 English

<p>Deploy, manage, and secure containers and containerized applications on Google Cloud Platform (GCP). This book covers each container service in GCP from the ground up and teaches you how to deploy and manage your containers on each service.<br>You will start by setting up and configuring GCP tool

Java EE Applications on Oracle Java Clou
✍ Harshad Oak [Oak, Harshad] 📂 Library 📅 2014 🏛 McGraw Hill Professional 🌐 English

<span><p class="description">Master Java EE Application Development on Oracle Java Cloud Build highly available, scalable, secure, distributed applications on Oracle Java Cloud. In this Oracle Press guide, Oracle ACE Director and Java Champion Harshad Oak leads you through the entire Java EE cloud-b