DESIGNING APPLICATIONS FOR GOOGLE CLOUD PLATFORM : create and deploy applications using java
معرفی کتاب «DESIGNING APPLICATIONS FOR GOOGLE CLOUD PLATFORM : create and deploy applications using java» نوشتهٔ Patrick J Carnes، Joseph M. Moriarity و Ashutosh Shashi، منتشرشده توسط نشر Apress L. P. در سال 2023. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.
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 4 About the Author 9 About the Technical Reviewer 10 Introduction 11 Untitled 9 Chapter 1: Introduction 12 Start a Free Trial on GCP 12 Creating a New Project 15 Overview of GCP and Its Services 19 Google Compute Engine 20 Google Kubernetes Engine 23 Google Cloud Storage 26 Google BigQuery 29 Google Cloud SQL 31 Google Cloud Spanner 34 Google Cloud Dataflow 37 Vertex AI 39 Google Cloud Translation API 41 Overview of Java and Its Capabilities 42 The Benefits of Using GCP for Application Development 43 Overview of Microservices 44 Summary 46 Chapter 2: Setting Up the Development Environment 47 Installing the GCP SDK and Java Development Kit 48 Installing Java (Oracle) JDK 51 Installing Java Open JDK 51 Creating a GCP Project and Setting Up Credentials 52 Creating a Project 52 Setting Up Credentials 53 Setting Up an IDE and Configuring a GCP Plugin 58 Configuring the GCP Plugin 58 Summary 59 Chapter 3: Google App Engine 60 Why Use Google App Engine? 61 Use Case of Google App Engine 61 Understanding the Google App Engine Runtime and Service Options 62 GAE Runtime 62 GAE Service Options 63 Building a Web Application for GAE 65 Creating a Sample Web Application 65 Deploying a Web Application 69 Deploying a Java Web Application 73 Setting Firewall and Security Considerations 74 Scaling and Optimizing App Engine Applications 78 Setting Up Manual and Autoscaling in GAE 80 Manual Scaling 80 Automatic Scaling 80 Chapter 4: Data Storage in Google Cloud 82 Understanding the Various Storage Options in GCP 83 Cloud Storage 84 Cloud SQL 86 Cloud Spanner 88 The Use Cases for Cloud Spanner 90 Cloud Bigtable 92 The Use Cases for Cloud Bigtable 93 Cloud Datastore 94 The Use Cases for Cloud Datastore 97 Cloud Memorystore 98 Features of Memorystore 100 Use Cases of Memorystore 101 Cloud SQL vs. Cloud Spanner 102 When to Use Cloud Spanner Instead of Cloud SQL 103 When to Use Cloud SQL Instead of Cloud Spanner 104 Cloud Spanner vs. Cloud Datastore 105 When to Use Cloud Datastore Instead of Cloud Spanner 106 When to Use Cloud Datastore Instead of Cloud SQL 108 When to Use Cloud SQL Instead of Cloud Datastore 109 Using Java to Interact with Cloud Storage 111 Java Code for Creating a Bucket and Uploading the File to the Bucket 112 Java Code for Downloading Files from a Cloud Storage Bucket 114 Java Code for Managing Files in a Cloud Storage Bucket 115 Using Cloud Storage for File Storage in a Java Application 116 Setting Up a GCS Bucket 117 Authenticating with GCS 118 Creating a Service Account, Downloading It, and Using It in the Project 119 Installing the GCS Java Client Library 121 Uploading a File 122 Downloading a File 124 Deleting a File 125 Summary 126 Untitled 96 Chapter 5: Google Cloud SQL 127 Automatic Backup of Cloud SQL Database 128 Configuring Automatic Backup 129 Automatic Software Updates of Database Software to the Latest Version 130 High Availability of Google Cloud SQL 131 Cloud SQL Read Replicas 132 Cloud SQL: Automatic Failover 133 Multizone Deployment 134 Cloud SQL: Scalability 134 Cloud SQL: Security 135 Authentication 136 Authorization 137 Encryption 137 Private IP 138 Audit Log 139 Cloud SQL: Monitoring and Logging 140 Monitoring 140 Logging 140 Integration of Cloud SQL with Other GCP Services 141 Integration of Cloud SQL with Cloud Storage 142 Integration of Cloud SQL with Cloud Load Balancing 143 Integration of Cloud SQL with IAM 144 Integration of Cloud SQL with Cloud Data Loss Prevention 145 Integration of Cloud SQL with Cloud Dataflow 146 Integration of Cloud SQL with Cloud App Engine 147 Understanding the SQL/NoSQL Options in GCP 148 Benefits of Cloud SQL Instead of a Self-Managed, On-Premises Database 149 Use Case for Cloud SQL 150 Situations When Cloud SQL Is the Best Choice 152 Using Java to Interact with Cloud SQL 153 Creating Tables in Cloud SQL Using Java 154 Inserting Data into Cloud SQL Tables Using Java 155 Running Queries on a Cloud SQL Instance Using Java 156 Using Cloud SQL for Data Storage in a Java Application 157 Summary 161 Chapter 6: Advanced GCP Services 162 GCP Advanced Services 162 Big Data and Machine Learning 162 Kubernetes and Containers 163 Security and Identity 164 Popular GCP Advanced Services 164 Cloud Pub/Sub 164 Reason to Use Cloud Pub/Sub 165 Drawbacks of Using Cloud Pub/Sub 166 Use Case Where Cloud Pub/Sub Is Bad Choice 167 Using Cloud Pub/Sub in Java Application 167 Cloud Dataflow 170 Java Example of Cloud Dataflow 172 Cloud Dataproc 175 Java Example for Cloud Dataproc 176 Configuring Cloud Dataproc 180 Cloud Functions 181 Use Cases for Cloud Functions 183 Limitations of Cloud Functions 183 Java Example of Cloud Functions 184 Summary 187 Chapter 7: Deployment and Scaling 188 Deploying a Java Application on GCP Using Various Options 188 Deploying a Java Application on App Engine Manually 190 Deploying a Java Application on GAE Automatically 191 Deploying a Java Application on GKE 192 Deploying a Java Application on GKE Through Automation 193 Deploying a Java Application on Google Compute Engine 196 Google Compute Engine Automation for Deployment 197 Deploying a Containerized Java Application on Google Cloud Run 201 Deploying a Java Application on Cloud Functions 203 Scaling a Java Application on GCP 206 Steps for Scaling Applications 207 Scaling a Java Application on Google Kubernetes Engine 208 Scaling a Java Application on App Engine 209 Scaling a Java Application on Compute Engine 209 Monitoring Performance and Autoscaling 210 Scaling in Serverless 211 Summary 212 Chapter 8: Troubleshooting and Optimization 213 Troubleshooting Java Applications on GCP 215 Example 1: Slow Response Time 217 Example 2: Exception Handling 217 Example 3: Memory Leak 218 Optimizing a Java Application Running on GCP 219 Example 1: Improving Response Time 220 Example 2: Improving Reliability 221 Example 3: Improving Scalability 222 Example 4: Improving Security 222 Example 5: Improving Performance 224 Tips and Tricks for Optimizing Performance 225 Architecture Concepts 228 Caching 228 Code Optimization 229 Database Optimization 230 Autoscaling 231 Load Balancing 232 Monitoring and Logging 234 Network Optimization 236 Implementing Microservices 237 Summary 239 Chapter 9: Conclusion 240 Summary of Key Takeaways 241 Additional Resources 242 Next Steps for Learning More About GCP and Java Development 244 Summary 245 Index 246
دانلود کتاب DESIGNING APPLICATIONS FOR GOOGLE CLOUD PLATFORM : create and deploy applications using java