Google App Engine

  • Author: Ronald Fung

  • Creation Date: 12 June 2023

  • Next Modified Date: 12 June 2024


A. Introduction

Build monolithic server-side rendered websites. App Engine supports popular development languages with a range of developer tools.


B. How is it used at Seagen

Google App Engine is a fully managed platform that allows developers to deploy and run web applications without the need for managing the infrastructure. Here are some ways Seagen can use Google App Engine:

  1. Porting existing applications: Seagen can port existing web applications from Microsoft Azure to Google App Engine. This can be done by using the appropriate programming language and framework supported by Google App Engine, such as Python, Java, or Go.

  2. Developing new applications: Seagen can develop new web applications using the programming language and framework of their choice supported by Google App Engine. These applications can then be deployed to Google App Engine.

  3. Running microservices: Seagen can use Google App Engine to deploy and run microservices that are part of a larger application architecture. This can help Seagen to scale individual microservices independently and improve the overall performance of the application.

  4. Running serverless functions: Seagen can use Google App Engine to run serverless functions that are triggered by events, such as HTTP requests or cloud storage events. This can help Seagen to reduce costs and improve scalability by only paying for the resources used by the function at runtime.

  5. Integrating with other Google Cloud services: Seagen can integrate their applications running on Google App Engine with other Google Cloud services, such as Google Cloud Storage, Google Cloud Pub/Sub, and Google Cloud SQL. This can help Seagen to build more robust and scalable applications that can take advantage of the features and capabilities offered by Google Cloud Platform.

Overall, by using Google App Engine, Seagen can benefit from a fully managed platform that can help them deploy and run web applications quickly and efficiently. With its support for porting existing applications, developing new applications, running microservices, running serverless functions, and integrating with other Google Cloud services, Google App Engine provides a range of options that can meet the needs of a variety of workloads and use cases.


C. Features

Fully managed

A fully managed environment lets you focus on code while App Engine manages infrastructure concerns.


D. Where Implemented

LeanIX


E. How it is tested

Testing Google App Engine involves ensuring that the web application is properly configured and optimized for performance, reliability, and security. Here are some steps to test Google App Engine:

  1. Create a test environment: Create a test environment that mimics the production environment as closely as possible, including the application code, machine types, and storage options. Ensure that the application and its dependencies are properly configured and that the security policies are in place.

  2. Deploy the web application: Deploy the web application to Google App Engine. Ensure that the application is properly configured and that it can communicate with other resources, such as databases or APIs.

  3. Test application performance: Test the application performance by sending HTTP requests to the deployed application using web testing tools, such as Google Cloud Console or Postman. Ensure that the application is responding to requests properly and that there are no errors or timeouts.

  4. Test application scaling: Test the application scaling by increasing the number of requests sent to the application and observing how Google App Engine automatically scales up the application to handle the increased load. Ensure that the application is scaling properly and that there are no performance or availability issues.

  5. Test application security: Test the application security by using web security testing tools, such as OWASP ZAP or Google Cloud Security Scanner. Ensure that the application is secure and compliant with industry and regulatory standards.

  6. Test application optimization: Test the application optimization by using web optimization testing tools, such as Google Cloud Load Testing or Google PageSpeed Insights. Ensure that the application is optimized for performance, reliability, and security.

  7. Test application integration: Test the application integration with other Google Cloud services or third-party tools by using web integration testing tools, such as Google Cloud Pub/Sub or Microsoft Azure Event Grid. Ensure that the application is integrated properly and that there are no integration issues or errors.

Overall, by thoroughly testing Google App Engine, users can ensure that their web applications are properly configured and optimized for performance, reliability, and security. Additionally, users can reach out to Google Cloud support for help with any technical challenges they may encounter.


F. 2023 Roadmap

????


G. 2024 Roadmap

????


H. Known Issues

While Google App Engine is a reliable and widely used platform for deploying and running web applications, there are some known issues that users may encounter. Here are some of the known issues for Google App Engine:

  1. Cold start issues: When a new instance of a web application is created, there may be a delay in its response time due to the time it takes to start up. This issue can often be resolved by optimizing the application code and using warm-up requests.

  2. Instance health issues: Users may encounter instance health issues, such as high latency or low throughput, especially for workloads that require low latency or high throughput. This issue can often be resolved by using the appropriate machine types, adjusting the routing tables, or enabling network load balancing.

  3. Memory allocation issues: Users may encounter memory allocation issues, especially for workloads that require large amounts of memory or that have memory leaks. This issue can often be resolved by optimizing the application code, using the appropriate machine types, or implementing memory profiling and debugging tools.

  4. Security issues: Users may encounter security issues, such as unauthorized access or data breaches, especially for workloads that require high security. This issue can often be resolved by using the appropriate security policies and access controls, such as firewall rules and VPN connections.

  5. Integration issues: Users may encounter integration issues with other cloud services or third-party tools, such as databases or APIs. This issue can often be resolved by using industry-standard protocols and APIs to enable interoperability between different cloud services and tools.

  6. Cost issues: Users may encounter cost issues, such as unexpected charges or inefficient resource utilization, especially for workloads that require high network bandwidth or complex networking capabilities. This issue can often be resolved by optimizing the application code, using the appropriate machine types, storage options, and pricing models.

Overall, while these issues may impact some users, Google App Engine remains a powerful and reliable platform that is widely used by businesses and organizations around the world. By monitoring their performance and security alerts and logs, reviewing their application code and policies, and using best practices and industry standards, users can ensure that their web applications running on Google App Engine are optimized for performance, reliability, and security. Additionally, users can reach out to Google Cloud support for help with any known issues or other technical challenges they may encounter.


[x] Reviewed by Enterprise Architecture

[x] Reviewed by Application Development

[x] Reviewed by Data Architecture