Hướng dẫn deploy website lên google cloud

Build, deploy, run, and operate a dynamic website leveraging responsive web frameworks and familiar languages.

New customers get $300 in free credits to spend deploying this solution

Who this is for

Developers and Cloud learners

What you’ll deploy

A sample dynamic website with open source code on Google Cloud

How you’ll deploy

Once you’ve signed up for Google Cloud, you can deploy through the console or GitHub.

Overview

What is a dynamic website?

A dynamic website is a website that changes as users interact with it. Dynamic websites allow for things like showing real time inventory and personalization by user.

What are the differences between dynamic and static websites?

Static websites contain stable content, and display the exact same thing to every visitor, while dynamic websites display an experience that updates automatically every time it is visited.

What are different types of dynamic web pages?

There are two types of dynamic web pages: client-side scripting and server-side scripting. A client-side scripting page triggers changes based on user actions on the web page, and a server-side scripting page changes when the page gets loaded or visited.

What are some examples of dynamic websites?

Most websites today are dynamic websites, such as e-commerce sites, social media sites like blogs, entertainment sites, and news sites.

What are the benefits of a dynamic website?

There are multiple benefits of a dynamic website. First of all, updating a dynamic website is much easier than updating a static website since there is no need to recreate or redeploy the entire site. It also makes it possible to personalize your website’s content to individual visitors for better engagement and conversion, and offers more flexibility for building richer features and functionalities.

Deploy a retail website to Firebase Hosting, powered by Cloud Run

Learn how to use Firebase Hosting, Cloud Run, and Cloud SQL together with Python and Javascript to create a basic retail website.

Solution Architecture

  1. The user connects to the application.
  2. The web client calls an API backend written in Python that is running as a Cloud Run service.
  3. The configuration and other secrets for the Python application are stored in Cloud Secrets Manager.
  4. Static assets for the application, and container images are stored in Cloud Storage.
  5. CloudSQL for PostgreSQL is used as the relational database backend for the Python application.

Deploy a dynamic website using Python and Javascript

Google Cloud Experience Level

Beginner

Estimated deployment time

10 min

2 min to configure, 8 min to deploy

New customers get $300 in free credits to fully explore and conduct an assessment of Google Cloud.

Requirements

  • Active Google Cloud account
  • Administrator rights to your project

Deploy a dynamic web app to Cloud Run

Learn how to use Cloud CDN, Cloud Load Balancing, Cloud Storage, Cloud Run, and Firestore together with Next.js to create a simple gaming web app.

Google Cloud Platform được biết đến với các dịch vụ như BigData, Machine Learning và các dịch vụ hạ tầng toàn cầu được phát triển bởi Google. Nhưng bạn có thể chưa biết Google Cloud Platform đã bắt đầu hỗ trợ ASP.NET, một nền tảng hỗ trợ phát triển ứng dụng web mã nguồn mở của Microsoft.

Windows Server trên Google Compute Engine

Để chạy được ASP.NET 4.x bạn cần 1 Windows Server chạy IIS và ASP.NET. Để làm điều này, Google hỗ trợ tạo mới Google Computer Engine VMs từ cả Windows Server Data Center 2008R2 và 2012R2.

Hướng dẫn deploy website lên google cloud

Thứ nhất bạn có file image (IMG) của Windows Server, chỉ mất vài phút để tạo và khởi động, bạn có thể khởi tạo tài khoản user, mở cổng với Firewall, bạn nên định nghĩa sử dụng ASP.NET image trên the Cloud Launcher.

Nếu các phần mềm được bao gồm trong IIS và ASP.NET, sử dụng RDP để kết nối remote đến máy và cài đặt những gì bạn muốn:

Hướng dẫn deploy website lên google cloud

Không chỉ tạo Windows Server cho bạn, nó còn cài đặt cả SQL Server 2008 Express, IIS, ASP.NET 4.5.2 và mở các cổng để cho phép HTTP, HTTPS, WebDeploy và RDP

SQL Server trên Compute Engine

SQL Server Express nằm trong gói của ASP.NET trên Cloud Launcher rất có ích cho việc phát triển nhưng khi chúng lên production bạn sẽ muốn có 1 phiên bản production cho SQL Server. Vì thế Google đã hỗ trợ version SQL Server trên Google Computer Engine.

  • SQL Server Standard (2012, 2014, 2016)
  • SQL Server Web (2012, 2014, 2016)
  • SQL Server Enterprise sẽ được cập nhật sớm (2012, 2014, 2016)

Ba phiên bản của SQL Server đã có mặt trên Google Compute Engine bên cạnh Windows Server. Đây là lần đầu tiên Google sử dụng các phiên bản này của SQL Server, vì thế họ rất vui khi lắng nghe ý kiến người dùng!

Thư viện Google API trên NuGet

Với Windows Server, ASP.NET và SQL Server, bạn đã có tất cả mọi thứ để đưa ứng dụng ASP.NET 4.x và các Service của mình lên Google Cloud Platform.

Hơn nữa, Google đã nhận được các phản hồi rất tích cực từ các khách hàng của họ về việc cung cấp hơn 100 Google APIs, tất cả chúng đều có sẵn trên nhiều nền tảng và ngôn ngữ, bao gồm cả .NET, trên Nuget. Hơn thế, họ đã làm việc rất cố gắng để đảm bảo các API này dễ hiểu cho các .NET Developer. Cuối cùng, Google muốn thông báo về việc quản lý tài nguyên giống VMs và lưu trữ. Điều đó được thể hiện trong công cụ Google Cloud Tools for Visual Studio tại in the Visual Studio Gallery.

Hơn nữa để tăng tính hữu dụng của các thư viện này, Google đã tạo ra các thư viện wrapper cho mỗi Cloud API cho từng ngôn ngữ. Các thư viện này đang ở bản thử nghiệp và bao gồm các wrapper cho Google BigQuery, Google Cloud Storage, Google Cloud Pub/Sub vả Google Cloud Datastore, và nhiều thứ khác. Google StackDriver Logging cũng hỗ trợ thư viện , cung cấp cách đơn giản cho việc theo dõi nhật ký ứng dụng của bạn. Các thư viện này đã có sẵn trên nuget cũng như GitHub, nơi bạn có thể tạo bug, tạo các yêu cầu tính năng mới.

Hướng dẫn deploy website lên google cloud

Cloud Tools cho Visual Studio

Một trong các lý do chính để Google tạo tất cả các thư viện đó lên Nuget là bạn có thể đưa chúng vào dự án dễ dàng thông qua Visual Stdudio. Tuy nhiên bạn biết rằng bạn muốn nhiều hơn thế với dự án cloud hơn là viết code, bạn cũng muốn quản lý tài nguyên như VM và các kho lưu trữ. Google cũng cung cấp extension Google Cloud Tools for Visual Studio, bạn có thể cài đặt tại Visual Studio Gallery.

Bạn cũng có thể triển khai ứng dụng ASP.NET 4.x lên Google Compute Engine thông qua Visual Studio với chức năng Publish có sẵn nhưng với extension Cloud Tools, bạn sẽ dễ dàng quản lý các thông tin đăng nhập được liên kết với VM và tạo ra các cài đặt cho publish bên trong Visual Studio

Chức năng này đã có sẵn bên trong Google Cloud Explore, nó cho phép bạn duyệt và quản lý Compute Engine của bạn, Cloud Storage và Google Cloud SQL

Hướng dẫn deploy website lên google cloud

Đây mới chỉ là khởi đầu. Google đã có rất nhiều các kế hoạch để tích hợp Cloud Platform sâu hơn với Visual Studio. Nếu bạn có các gợi ý, báo lỗi hoặc cần sự trợ giúp, vui lòng truy cập Cloud Tools cho Visual Studio được chia sẻ trên GitHub

Hướng dẫn deploy website lên google cloud
Cloud Tools cho PowerShell

Visual Studio là một cách tuyệt vời để tương tác với các tài nguyên cloud của bạn nhưng nó không tối ưu cho việc thực thi tự động. Đó là nguyên nhân tại sao Google cung cấp công cụ mở rộng cho PowerShell có tên Cloud Tools cho PowerShell. Với Google Cloud PowerShell, bạn có thể quản lý Compute Engine và Cloud Storage mạnh mẽ hơn.

Hướng dẫn deploy website lên google cloud

Google đã khởi động việc phát triển công cụ này cho 2 sản phẩm Cloud Platform phổ biến nhất là Compute Engine và Cloud Storage, nhưng họ sẽ nhanh chóng hỗ trợ các sản phẩm khác nữa. Nếu bạn đã có các gợi ý về những gì Google nên làm tiếp theo, thông báo lỗi cho Google bạn có thể truy cập Google Cloud PowerShell cmdlets được phát triển trên GitHub.

Chuyển đổi từ VMs (Virtual Merchine) có sẵn

Compute Engine hỗ trợ Windows Server và SQL Server, giúp việc tích hợp với Visual Studio và PowerShell dễ dàng hơn, giúp đưa ứng dụng .NET của bạn lên Google Cloud Platform. Nhưng bạn cần thêm gì nữa? Nếu bạn không muốn cài đặt 1 VM mới, cấu hình cúng mà muốn chuyển đổi từ một VM có sẵn? Bạn chỉ cần đưa toàn bộ máy ảo này lên và chạy không có gì khác biệt cả.

Hướng dẫn deploy website lên google cloud

CloudEndure mô phỏng Windows và Linux, nên toàn bộ ứng dụng của bạn, dữ liệu và các cấu hình của bạn sẽ được chuyển đổi trong quá trình migration. Để tìm hiểu thêm về các tuỳ chọn migration cho Windows, hoặc giúp đỡ về việc thực hiện migration vui lòng truy cập Google Cloud Platform.

Sẽ sớm có: hỗ trợ cho ASP.NET Core

Nhiều nhà phát triển đang khám phá ASP.NET Core cho phiên bản kế tiếp. Bởi vì ASP.NET Core hỗ trợ cả Linux, bạn có thể đóng gói nó với Docker và triển khai thông qua App Engine Flexible hoặc Kubernets chạy trên Google Container Engine. ASP.NET tuy không hỗ trợ đầy đủ cho tất cả các nền tảng này nhưng nó cho bạn sự trải nghiệm đầu tiên, chúng ta cũng tất cả thư viện Google API Client cho .NET Core. Ví dụ chúng ta có code ASP.NET Core có thể lấy ảnh JPEG từ Google Cloud Storage:

public IActionResult Index() {   var service = new StorageService(new BaseClientService.Initializer() {     HttpClientInitializer =       GoogleCredential.GetApplicationDefaultAsync().Result   });   // find all of the public JPGs in the project buckets   var request = service.Objects.List("YOUR-GCS-BUCKET");   request.Projection = ObjectsResource.ListRequest.ProjectionEnum.Full;   var items = request.Execute().Items;   var jpgs = items.Where(o => o.Name.EndsWith(".jpg") &&                          o.Acl.Any(o2 => o2.Entity == "allUsers"));   // pick a random jpg to show   ViewData["jpg"] =     jpgs.ElementAt((new Random()).Next(0, jpgs.Count())).MediaLink;   return View(); }

Chúng ta đang làm việc để kích hoạt việc triển khai ứng dụng ASP.NET Core trên Linux, hãy tham khảo chạy .NET trên Cloud Platform.

Chúng ta mới đang khởi đầu

Đầu tiên, chúng ta nghiêm túc về việc hỗ trợ Windows và .NET trên Google Cloud Platform. Thứ hai, chúng ta đang mới bắt đầu. Chúng ta có một kế hoạch lớn về việc hỗ trợ Windows/.NET trên mọi mặt và Google luôn mong muốn nhận được các góp ý và báo lỗi từ các nhà phát triển.

Google sẽ ra mắt trang .NET trên Google Cloud Platform liệt kê tất cả những gì mà 1 nhà phát triển cần biết để triển khai .NET trên Cloud Platform. Nếu có vấn đề gì bạn không tìm thấy hãy note lại vào .