Bài viết này giới thiệu các tùy chọn Google Cloud cho các tổ chức đang tiến hành đánh giá nội bộ về việc di chuyển ứng dụng web hai tầng lên đám mây ## Các loại ứng dụng Các ứng dụng web hai tầng bao gồm một máy chủ web đang chạy một ứng dụng và một cơ sở dữ liệu để lưu trữ dữ liệu ứng dụng. Chạy Linux, Apache, MySQL và PHPâÃÂÃÂthường được gọi là ngăn xếp LAMP, là một ví dụ phổ biến về ứng dụng web hai tầng. Các biến thể trên bản phân phối Linux, phần mềm máy chủ web, cơ sở dữ liệu hoặc ngôn ngữ lập trình ảnh hưởng đến các chi tiết kỹ thuật của bất kỳ quá trình di chuyển nào, nhưng tổng quan về quá trình di chuyển và các bước nhất quán ## Các giai đoạn di chuyển Di chuyển đám mây xảy ra trong bốn giai đoạn sau Đánh giá Xác định tất cả các đặc điểm của khối lượng công việc của bạn, liệt kê các tài nguyên cần thiết để chạy khối lượng công việc của bạn trên đám mây và gọi ra tất cả các phụ thuộc chính và kết nối với các khối lượng công việc khác. Bằng cách sử dụng danh sách đầy đủ các đặc điểm, sau đó, bạn có thể bắt đầu lập kế hoạch những ứng dụng và khối lượng công việc nào sẽ di chuyển và theo thứ tự nào Trong các doanh nghiệp hiện đại, có nhiều loại ứng dụng khác nhau, từ ứng dụng dành cho khách hàng, đến ứng dụng hỗ trợ văn phòng, công cụ dành cho nhà phát triển, đến ứng dụng thử nghiệm. Di chuyển tất cả các ứng dụng này cùng một lúc và theo cùng một cách sẽ rủi ro và không hiệu quả Một ví dụ sẽ là sắp xếp các ứng dụng vào ba nhóm rộng sau: - Các ứng dụng dễ di chuyển. Những thứ này có ít phụ thuộc hơn, mới hơn, được viết nội bộ nên không cần xem xét cấp phép và dễ mở rộng hơn cũng như hỗ trợ các mẫu thiết kế đám mây - Các ứng dụng khó di chuyển. Chúng có nhiều phụ thuộc hơn, ít khả năng mở rộng quy mô hơn, khó chạy với các dịch vụ đám mây hoặc có các yêu cầu giấy phép phức tạp - Các ứng dụng không thể di chuyển. Một số ứng dụng có thể không phải là ứng cử viên tốt để di chuyển chạy trên phần cứng chuyên dụng hoặc cũ hơn, có các yêu cầu về kinh doanh hoặc quy định khiến chúng cần phải ở lại trung tâm dữ liệu của bạn hoặc có các yêu cầu giấy phép phức tạp không thể thực hiện được. Âkhông cho phép họ chuyển sang đám mây Đây chỉ là một số ví dụ về cách sắp xếp các ứng dụng. Có khả năng là các ứng dụng của bạn có nhiều yếu tố quyết định hơn mà bạn có thể sử dụng để tạo ma trận ưu tiên cho tất cả các ứng dụng. Từ xếp hạng đó, bạn có thể chọn ứng dụng đầu tiên của mình để di chuyển và bắt đầu lập kế hoạch cho nền tảng Google Cloud của mình Sự thành lập Kiến trúc và lên kế hoạch chi tiết cụ thể để triển khai môi trường đám mây mới. Bao gồm các: - Mô hình bảo mật và kiến ​​trúc đám mây để cung cấp nền tảng cơ sở hạ tầng cho khối lượng công việc của bạn Tài nguyên mạng để cho phép liên lạc an toàn và đáng tin cậy giữa các ứng dụng. Điều này đòi hỏi phải lập kế hoạch mở rộng cho thiết kế Quản lý truy cập và nhận dạng (IAM), Đám mây riêng ảo (VPC) và các phương thức truy cập bên ngoài Công nghệ và công cụ ở trạng thái cuối mà khối lượng công việc của bạn sẽ chạy trên đó Kế toán quản lý phụ thuộc, thời gian và phương pháp di chuyển dữ liệu di cư Di chuyển dữ liệu và triển khai các dịch vụ, cơ sở hạ tầng và mã tới đích của bạn. Bạn nên sử dụng tự động hóa và công cụ để hỗ trợ các hoạt động này Tối ưu hóa Xác thực xem các quyết định và giả định bạn đưa ra trong giai đoạn đánh giá và nền tảng có phù hợp với thực tế sau giai đoạn di chuyển hay không. Bạn xác định bất kỳ thay đổi nào bạn có thể cần. Xem xét cách khám phá các tùy chọn gốc trên đám mây khác, chẳng hạn như chuyển từ cơ sở hạ tầng dưới dạng dịch vụ (IaaS) sang nền tảng dưới dạng dịch vụ (PaaS) hoặc tận dụng các ưu đãi dịch vụ được quản lý. Tùy thuộc vào kết quả của giai đoạn tối ưu hóa, bạn có thể bắt đầu lại chu kỳ để giải quyết các thay đổi hoặc sửa đổi. Luôn bắt đầu lại ở giai đoạn đánh giá và sử dụng kinh nghiệm của bạn để trở nên hiệu quả hơn với mỗi lần lặp lại ## Các loại di cư Ba chiến lược di chuyển phổ biến nhất để di chuyển ứng dụng lên đám mây được mô tả trong các phần sau Nâng và dịch chuyển Sử dụng *nhấc và chuyển* khi bạn muốn di chuyển các ứng dụng trong khi thay đổi như càng ít càng tốt trong cách chúng hoạt động. Điều này hoạt động tốt nhất cho các ứng dụng mà có thể chạy không thay đổi trong đám mây, khi di chuyển ứng dụng nhanh chóng là một ưu tiên, hoặc khi doanh nghiệp không muốn hoặc không cần thay đổi. Cái này di chuyển đòi hỏi nhiều công việc hơn từ cơ sở hạ tầng và nhân viên vận hành để hỗ trợ những thay đổi cơ bản về nơi dịch vụ sẽ chạy và ít hoạt động hơn từ các nhà phát triển vì rất ít, nếu có, cần phải thay đổi mã Ví dụ: nếu cả hai tầng của ứng dụng web của bạn được lưu trữ trên máy ảo, thì bạn có thể di chuyển nguyên trạng chúng bằng cách sử dụng Di chuyển sang máy ảo. Khi các máy ảo đó ở trên đám mây, thì bạn có thể xem xét nâng cấp lên nền tảng điện toán gốc đám mây hơn để có thêm lợi ích Cải thiện và di chuyển Sử dụng *cải thiện và di chuyển* khi bạn muốn hiện đại hóa ứng dụng của mình trong quá trình di chuyển nó lên đám mây. Điều này thường được sử dụng khi ứng dụng không được hỗ trợ trên đám mây nguyên trạng hoặc khi có các bản cập nhật lớn về phần mềm hoặc phần cứng đã được xác định phạm vi và lên kế hoạch. Sự di cư này đòi hỏi cơ sở hạ tầng, hoạt động, và các nhà phát triển để làm việc cùng nhau để cải thiện chức năng của ứng dụng trên đám mây và cho phép ứng dụng tận dụng các lợi ích dựa trên đám mây như tính di động, khả năng mở rộng và độ tin cậy cao hơn Một biến thể khác của chiến lược này là cải thiện và di chuyển trong một chuyển động. Nếu cả hai tầng ứng dụng web của bạn được lưu trữ trên máy ảo, thì bạn có thể sử dụng Di chuyển sang bộ chứa để tự động di chuyển và chuyển đổi các máy ảo đó thành bộ chứa chạy trên Google Kubernetes Engine (GKE) Rip và thay thế Sử dụng *xé và thay thế* khi bạn muốn xây dựng một giải pháp mới trên đám mây và dừng phiên bản hiện tại của giải pháp tại chỗ của bạn. Điều này thường được sử dụng khi áp dụng các điều kiện sau: - Ứng dụng hiện tại không đáng để duy trì trên đám mây, về mặt kỹ thuật hoặc tài chính - Việc cấp phép phần mềm trên đám mây bị cấm hoặc không thực tế - Ứng dụng ngừng đáp ứng hoàn toàn nhu cầu công việc Bởi vì rip và thay thế yêu cầu viết lại một ứng dụng từ đầu, nó không được đề cập trong hướng dẫn di chuyển này ## Giai đoạn đánh giá Trước khi bất kỳ quá trình di chuyển nào có thể bắt đầu, bạn phải hiểu rõ về điểm xuất phát của mình Bất kỳ câu hỏi nào chưa được trả lời đều có nguy cơ ảnh hưởng đến sự thành công của quá trình di chuyển. Dành thời gian trong giai đoạn đánh giá giúp đảm bảo giai đoạn di chuyển suôn sẻ và không có biến cố. Dành nhiều thời gian nhất có thể để nắm bắt càng nhiều thông tin liên quan càng tốt để hỗ trợ quá trình di chuyển của bạn Kho phần mềm ứng dụng Làm việc với cơ sở hạ tầng, hoạt động và các nhóm phát triển của bạn để xác định các chi tiết sau: - Hệ điều hành: Phân phối chính xác, phiên bản, bản vá, gói đã cài đặt - Máy chủ web: Gói phần mềm chính xác, số phiên bản, gói hoặc sửa đổi phần mềm khác, và tất cả các tệp cấu hình và quy tắc cho phần mềm máy chủ web - Cơ sở dữ liệu: Tên phần mềm chính xác, phiên bản, lược đồ, chiến lược sao chép và lịch trình sao lưu - Môi trường thời gian chạy: Các phiên bản chính xác, của tất cả các môi trường phụ trợ và giao diện người dùng Tài nguyên phần cứng hệ thống Đối với các tầng máy chủ web và cơ sở dữ liệu, hãy trả lời các câu hỏi sau: - Có bao nhiêu máy chủ đang chạy? - Tổng phân bổ CPU, bao gồm thế hệ, loại kiến ​​trúc và tốc độ là bao nhiêu? - Dung lượng RAM và ổ đĩa được phân bổ cho mỗi máy chủ là bao nhiêu? Ổ cứng hoặc SSD đang được sử dụng? ĐỘT KÍCH? - Mức sử dụng hiện tại, mức sử dụng trung bình và mức sử dụng cao nhất của CPU, RAM và dung lượng ổ đĩa là gì?Xem mức trung bình và mức cao nhất trong bối cảnh sử dụng cụ thể của doanh nghiệp bạn.Ví dụ: một công ty hỗ trợ Thế vận hội có thể cần nhìn lại hai năm để xem đỉnh thực sự trông như thế nào, trong khi các ứng dụng khác có thể có tốc độ chạy ổn định hơn.Xem mốc thời gian trường hợp sử dụng điển hình nhất để biết mức trung bình và mốc thời gian sử dụng nặng nhất của bạn để đạt mức cao nhất.Ngoài ra, hãy tìm các mẫu sử dụng theo chu kỳ, chẳng hạn như cuối tuần, buổi tối và ngày làm việc- Đối với cơ sở dữ liệu, chiến lược sao lưu, sao chép hoặc phân đoạn nào đang được sử dụng và cách thực hiện ảnh hưởng đến yêu cầu dung lượng đĩa và số lượng máy chủ cần thiết?Tài nguyên mạngPhân tích kiến ​​trúc mạng cho phép ứng dụng của bạn hoạt động.Đảm bảo rằng bạn có sơ đồ cấu trúc liên kết mạng logic và vật lý chính xác và cập nhật của cơ sở hạ tầng hỗ trợ ứng dụng của bạn.Sơ đồ phải phác thảo rõ ràng tất cả các kết nối, phụ thuộc và dịch vụ mạngTrả lời các câu hỏi sau:- Khách hàng truy cập ứng dụng của bạn như thế nào?Thông qua trình duyệt web?Trực tiếp thông qua một địa chỉ IP?Thông qua ứng dụng dành cho thiết bị di động?Sử dụng kết nối mạng riêng ảo?- Bạn có danh sách tất cả các khóa mã hóa và chứng chỉ SSL/TLS hiện hành không?- Tất cả các chứng chỉ SSL/TLS hiện hành được lưu trữ ở đâu?Khi nào chúng hết hạn?Làm cách nào để gia hạn chứng chỉ?Làm cách nào để bạn có được chứng chỉ mới?Bạn có quyền truy cập vào tất cả các chứng chỉ hiện tại không?- Bạn có danh sách tất cả các miền hiện hành hỗ trợ ứng dụng không?- Những miền này được lưu trữ ở đâu?Khi nào chúng hết hạn?Bạn làm mới chúng như thế nào?Bạn có quyền truy cập vào các tài khoản kiểm soát đăng ký không?- DNS của bạn được lưu trữ và kiểm soát ở đâu?- Bạn có quyền truy cập vào tất cả các hệ thống và công cụ kiểm soát DNS không?Ánh xạ CNAME sang IP hiện tại cho mỗi miền là gì và bạn có bản sao lưu không?- Cài đặt thời gian tồn tại (TTL) DNS của bạn là gì?- Tường lửa của bạn và các thiết bị kiểm soát và truy cập mạng khác phù hợp với kiến ​​trúc ở đâu?Những quy tắc nào hiện đang được áp dụng để cho phép hoặc từ chối lưu lượng truy cập?Ai chịu trách nhiệm và quy trình thay đổi hoặc cập nhật các quy tắc đó là gì?- Bạn có sử dụng bất kỳ dịch vụ mạng bên ngoài nào không?Ví dụ: nhà cung cấp mạng phân phối nội dung (CDN) hay dịch vụ bảo vệ từ chối dịch vụ phân tán (DDoS)?## Giai đoạn nền tảngGoogle Cloud cung cấp nhiều tùy chọn để chạy khối lượng công việc điện toán và cơ sở dữ liệu cho các ứng dụng nhiều tầng như LAMP.Phần này giới thiệu các tùy chọn đó và giải thích lý do tại sao bạn có thể chọn tùy chọn này thay vì tùy chọn khácTùy chọn tập trung vào điện toánCompute EngineCompute Engine là một IaaS cung cấp cho phép bạn chạy máy ảo (VM) trên Google Cloud.Bạn có thể cài đặt khung web, phần mềm máy chủ, cơ sở dữ liệu và bất kỳ phần mềm nào khác mà hệ điều hành của bạn hỗ trợ.Nếu bạn đang chạy ứng dụng LAMP của riêng mình trên kim loại trần, trên máy ảo, trong trung tâm dữ liệu hoặc trên một nhà cung cấp đám mây khác, thì tùy chọn này có thể sao chép gần như chính xác máy chủ hiện có của bạn, nếu không muốn nói là chính xác.Tùy chọn này cung cấp khả năng kiểm soát tốt nhất đối với cấu hình hệ điều hành và cài đặt phần mềm máy chủ web.Compute Engine cho phép kiểm soát sâu các loại máy, nhóm phiên bản, tùy chọn lưu trữ, bộ cân bằng tải và nhiều chi tiết khác.Tham khảo tài liệu đầy đủ của Compute Engine để biết thêm về Bắt đầu nhanh, Hướng dẫn và hơn thế nữaDi chuyển ứng dụng của bạn trực tiếp sang Compute Engine là quá trình di chuyển nâng và chuyển phổ biến nhất.Để biết hướng dẫn về ánh xạ tài nguyên tại chỗ sang Compute Engine, hãy xem Các phương pháp hay nhất để di chuyển máy ảo sang Compute EngineCloud Deployment ManagerGoogle Cloud Marketplace cũng cung cấp cài đặt LAMP đơn giản thông qua Deployment Manager.Bạn có thể khởi chạy một máy chủ với Debian Linux, Apache, MySQL, PHP và phpMyAdmin đã được cài đặt và cấu hình trong thiết lập mặc định.Bạn nhận được một máy chủ web hoạt động đầy đủ và thông tin đăng nhập để cài đặt MySQL chỉ sau vài phútGoogle Kubernetes EngineGKE là môi trường sẵn sàng sản xuất, được quản lý để triển khai các ứng dụng được đóng gói.Sử dụng GKE, bạn ngừng quản lý hệ điều hành bằng cách chứa phần mềm máy chủ web của mình.Ví dụ: máy chủ web Apache và NGINX có sẵn từ mọi kho lưu trữ bộ chứa công cộng.Nếu bạn sử dụng bộ chứa để chạy khối lượng công việc trong môi trường của mình, thì GKE là một dịch vụ hiệu quả để duy trì quy trình thử nghiệm và triển khai tương tự khi bạn di chuyển khối lượng công việc LAMP của mình sang Google Cloud.Nếu bạn không sử dụng bộ chứa, hãy cân nhắc khám phá GKE để triển khai và khôi phục nhanh hơn, sử dụng tài nguyên hiệu quả hơn và không phải quản lý hệ điều hành cơ bản và máy ảoĐối với thêm về quản lý ứng dụng vùng chứa trên quy mô lớn, hãy tham khảo tài liệu GKE để biết bắt đầu nhanh, hướng dẫn, khái niệm, hướng dẫn cách thực hiện và các tài nguyên khác để giúp bạn bắt đầuDi chuyển ứng dụng LAMP tại chỗ của bạn sang GKE là quá trình di chuyển cải tiến và di chuyển, trong khi việc di chuyển từ cơ sở hạ tầng dựa trên vùng chứa tự quản lý là quá trình di chuyển liên tục và thay đổiApp EngineApp Engine là một nền tảng không có máy chủ để xây dựng các ứng dụng có khả năng mở rộng cao.Tùy thuộc vào loại ứng dụng bạn đang chạy, App Engine có thể loại bỏ nhu cầu quản lý máy chủ, vùng chứa hoặc triển khai, cho phép nhà phát triển của bạn tập trung vào việc viết mã và giảm độ phức tạp của việc quản lý bất kỳ cơ sở hạ tầng cơ sở nào.Không phải tất cả các khối lượng công việc đều là những ứng cử viên tốt để chuyển sang App Engine, nhưng những khối lượng công việc đó được giảm chi phí và độ phức tạp trong khi tăng tốc độ mở rộng quy mô và khả năng phục hồi của ứng dụng khi tảiApp Engine có hai loại: môi trường tiêu chuẩn bao gồm nhiều ngôn ngữ (bao gồm PHP cho ứng dụng LAMP của chúng tôi) và môi trường linh hoạt cho phép tùy chỉnh nhiều hơn về thời gian chạy, hiệu suất và cơ sở hạ tầng.Khám phá tài liệu dành cho ngôn ngữ bạn chọn để tìm hiểu thêmTùy chọn cơ sở dữ liệu Tự quản lý trên Compute Engine Bạn có thể cài đặt MySQL, PostgreSQL hoặc bất kỳ cơ sở dữ liệu dựa trên SQL nào khác trên phiên bản Compute Engine. Điều này cung cấp mức độ kiểm soát giống như bạn sẽ có khi chạy MySQL trên máy trạm, trên máy chủ trong trung tâm dữ liệu hoặc dưới dạng máy ảo trong nhà cung cấp đám mây khác. Khi bạn chạy cơ sở dữ liệu của mình trên máy ảo, bạn có trách nhiệm định cấu hình, giám sát và duy trì chuyển đổi dự phòng, sao chép, phân vùng và tính sẵn sàng cao Bạn có thể coi cơ sở dữ liệu là khối lượng công việc tính toán, xem xét CPU, RAM và dung lượng ổ đĩa để đảm bảo có đủ tài nguyên để ứng dụng chạy ổn định Giống như di chuyển khối lượng công việc tính toán sang Compute Engine, cách tiếp cận này thể hiện sự di chuyển nâng và chuyển Đám mây SQL Cloud SQL là một dịch vụ cơ sở dữ liệu được quản lý hoàn toàn giúp giảm tải việc cài đặt, thiết lập và bảo trì cơ sở dữ liệu của bạn cho Google Cloud. Nó tự động sao lưu, sao chép, vá lỗi và cập nhật, đồng thời cho phép bạn tập trung vào ứng dụng của mình. Cơ sở dữ liệu Cloud SQL có thể được sử dụng bởi khối lượng công việc chạy trên bất kỳ dịch vụ điện toán nào của Google, bao gồm Compute Engine, GKE và App Engine. Trừ khi bạn cần mức độ kiểm soát sâu đối với cơ sở dữ liệu MySQL của mình, Cloud SQL là một tùy chọn dễ cài đặt và có đầy đủ tính năng để chạy khối lượng công việc LAMP Cloud SQL vốn có thể chạy và hỗ trợ MySQL và PostgreSQL. Nếu bạn đang di chuyển từ một trong các cơ sở dữ liệu đó sang Cloud SQL, thì đây là quá trình di chuyển nâng và thay đổi. Nếu bạn đang khám phá các phương pháp mới để sao chép, chiến lược sao lưu hoặc đơn giản trong việc quản lý cơ sở hạ tầng của mình, thì đây có thể là một di chuyển cải tiến và di chuyển Các tùy chọn lưu trữ khác Cloud Storage là một kho lưu trữ đối tượng hoặc blob có thể mở rộng, được quản lý hoàn toàn, có độ tin cậy cao và tiết kiệm chi phí, lý tưởng để lưu trữ hình ảnh, nội dung tĩnh và dữ liệu phi cấu trúc khác. Lưu trữ đám mây có thể được sử dụng để lưu trữ một trang web tĩnh nhưng không được thiết kế để lưu trữ nội dung cơ sở dữ liệu đang hoạt động. Đây cũng là một vị trí lý tưởng để lưu trữ các đối tượng sao lưu và khắc phục thảm họa cũng như dữ liệu để sử dụng để phát trực tuyến Cân nhắc sử dụng Cloud Storage làm vị trí lưu trữ các bản sao lưu cơ sở dữ liệu của bạn trong và sau quá trình di chuyển lò sưởi Firestore là cơ sở dữ liệu tài liệu NoSQL gốc trên đám mây, không có máy chủ, được quản lý hoàn toàn giúp đơn giản hóa việc lưu trữ, đồng bộ hóa và truy vấn dữ liệu cho các ứng dụng di động, web và Internet vạn vật (IoT) của bạn ở quy mô toàn cầu. Các thư viện máy khách của nó cung cấp hỗ trợ ngoại tuyến và đồng bộ hóa trực tiếp, trong khi các tính năng bảo mật và khả năng tích hợp của nó với Firebase và Google Cloud tăng tốc việc xây dựng các ứng dụng không có máy chủ thực sự. Nếu ứng dụng của bạn có nội dung có thể hưởng lợi từ định dạng NoSQL, chẳng hạn như hồ sơ người dùng, danh mục sản phẩm hoặc trạng thái trò chơi, thì bạn nên khám phá Firestore trong giai đoạn tối ưu hóa quá trình di chuyển của mình căn cứ hỏa lực Firebase là một nền tảng phát triển di động toàn diện bao gồm các tùy chọn lưu trữ và cơ sở dữ liệu. Nếu ứng dụng của bạn hỗ trợ khối lượng công việc di động, nền tảng Firebase sẽ được xem xét trong giai đoạn tối ưu hóa của bạn cờ lê đám mây Spanner là dịch vụ cơ sở dữ liệu cấp doanh nghiệp, phân phối toàn cầu và nhất quán mạnh mẽ được xây dựng cho đám mây. Nó kết hợp các lợi ích của cấu trúc cơ sở dữ liệu quan hệ với khả năng mở rộng theo chiều ngang của cơ sở dữ liệu không quan hệ. Nếu ứng dụng của bạn có thể hưởng lợi từ khả năng quản lý nâng cao, khả năng mở rộng và các giao dịch có tính nhất quán cao, hãy xem xét việc di chuyển cơ sở dữ liệu của bạn sang Spanner trong giai đoạn tối ưu hóa của bạn Google Cloud cung cấp nhiều tùy chọn lưu trữ khác để hỗ trợ nhiều khối lượng công việc ## Giai đoạn di cư Sau khi hoàn thành đánh giá và lên kế hoạch di chuyển, bạn có thể bắt đầu công việc di chuyển dữ liệu, dịch vụ và tài nguyên sang Google Cloud. Mỗi ứng dụng có nhu cầu riêng của nó. Phần này đi qua một vài ví dụ để giúp chứng minh giai đoạn này bao gồm những gì Nâng và chuyển số: Máy tính Bước đầu tiên để bắt đầu quá trình di chuyển theo phương thức lift-and-shift của bạn là thiết lập một dịch vụ nhiều tầng tương thích trong Compute Engine. Mặc dù có nhiều cách tiếp cận vấn đề này; sau đây là ba phổ biến nhất: - Thiết lập thủ công. Khởi chạy một máy ảo với hệ điều hành bạn muốn, sau đó cập nhật các kho lưu trữ theo cách thủ công, cài đặt và định cấu hình phần mềm cũng như cung cấp và định cấu hình cơ sở dữ liệu và môi trường thời gian chạy bằng tay. Cách tiếp cận này mang lại mức độ kiểm soát cao, nhưng mất nhiều thời gian hơn, dễ bị lỗi hơn và ít tái sản xuất hơn các phương pháp khác - Tự động hóa. Sử dụng Di chuyển sang máy ảo để di chuyển một nhóm máy ảo (theo thứ tự đã chỉ định) từ tại chỗ sang các máy ảo có kích thước phù hợp, được cung cấp tự động và được định cấu hình trong Compute Engine - Thị trường đám mây. Khởi chạy ngăn xếp LAMP được định cấu hình sẵn trong dự án Google Cloud của bạn. Đảm bảo kiểm tra xem phiên bản phần mềm và hệ điều hành được cung cấp có hoạt động với ứng dụng của bạn không. Khám phá tài liệu Cloud Marketplace để tìm hiểu thêm - Triển khai tự động. Tạo các máy ảo sẵn sàng sản xuất bằng cách sử dụng khái niệm tích hợp liên tục/triển khai liên tục và nhiều công cụ quản lý cấu hình (Chef, Puppet, Ansible, Salt), cơ sở hạ tầng dưới dạng công cụ mã (Deployment Manager, Terraform) và khung tự động hóa (Cloud Build). Triển khai tự động cho phép các phương pháp có thể kiểm tra, lặp lại và tự động để triển khai máy ảo và phần mềm đáp ứng nhu cầu quản trị và ứng dụng của bạn Cải thiện và di chuyển: GKE và Cloud SQLĐể chuyển sang giải pháp vùng chứa được quản lý, trước tiên bạn phải thiết lập nền tảng cho cụm của mình và giải pháp SQL được quản lýKhởi chạy cụm GKETạo một cụm trên GKE và quản lý cụm đó là các bước đầu tiên.Sử dụng thông tin từ các giai đoạn đánh giá và nền tảng của bạn để xác định kích thước và định cấu hình cụm ban đầu của bạn một cách thích hợp cũng như áp dụng các phương pháp hay nhất về tăng cường bảo mậtKhởi chạy các tùy chọn cho Cloud SQLSử dụng thông tin cơ sở dữ liệu thu được trong các giai đoạn đánh giá và nền tảng của bạn, tạo một phiên bản Cloud SQL mới và làm theo các hướng dẫn cách thực hiện khác để xây dựng cơ sở dữ liệu cho ứng dụng của bạn.Google cung cấp danh sách các phương pháp hay nhất về Cloud SQL, hướng dẫn thiết lập tính khả dụng cao và các hướng dẫn khác về mở rộng quy mô theo chiều ngang.Khám phá các tùy chọn để kết nối từ Google Kubernetes Engine với Cloud SQL và chọn tùy chọn phù hợp với cấp độ trải nghiệm và ứng dụng của bạnCải tiến và di chuyển Serverless: App Engine và Cloud SQLNếu quyết định di chuyển ứng dụng LAMP của mình sang khung không có máy chủ, bạn có thể cần phải sửa đổi ứng dụng của mình để hỗ trợ App Engine.Mỗi ứng dụng đều khác nhau và có nhiều chiến lược.Bắt đầu bằng cách xem lại những điều sau:- Tìm hiểu tổng quan về kiến ​​trúc microservice trên App Engine- Hiểu cách tạo và đặt tên cho dev, test, QA, staging và môi trường sản xuất với vi dịch vụ trong App Engine- Tìm hiểu các phương pháp hay nhất để thiết kế API nhằm giao tiếp giữa các vi dịch vụ- Tìm hiểu các phương pháp hay nhất để đạt hiệu suất vi dịch vụTùy thuộc vào kinh nghiệm cá nhân và tổ chức của bạn cũng như mức độ quen thuộc với việc chạy mã serverless, chiến lược di chuyển và cải thiện serverless có thể mất nhiều thời gian hơn đáng kể so với các tùy chọn nâng và chuyển.Tuy nhiên, việc mang lại serverless tốt nhất cho bạn có thể là một tài sản lớn cho tổ chức của bạn## Giai đoạn tối ưu hóaSau khi ứng dụng của bạn đang chạy trên Google Cloud, bạn có thể xác thực các giả định và quyết định của mình từ ba giai đoạn trước.Di chuyển toàn bộ có thể mất nhiều thời gian và nhiều chi tiết có thể thay đổi trong suốt quá trình.Tối ưu hóa bao gồm nhiều lĩnh vực, nhưng đây là một vài danh mục phổ biếnTối ưu hóa chi phíDi chuyển từ tại chỗ sang đám mây sẽ thay đổi cách bạn chi tiền cho các ứng dụng , dịch vụ và cơ sở hạ tầng.Bạn có thể hoàn thành đánh giá dịch vụ tại chỗ kế thừa và khám phá sau khi di chuyển rằng phần cứng hiện đại, bộ nhớ nhanh hơn và kiến ​​trúc CPU mới hơn sẽ chạy dịch vụ đó hiệu quả hơn.Điều này có thể có nghĩa là máy ảo của bạn được cung cấp quá mức và lãng phí tiềnBạn có thể điều tra bằng cách sử dụng các phiên bản máy ảo có thể sử dụng trước trên Compute Engine.Có lẽ bạn không cần nhiều bộ cân bằng tải như bạn nghĩ hoặc bạn đã quản lý để dọn sạch cơ sở dữ liệu của mình khi đang di chuyển và hiện có dung lượng mà bạn không sử dụng.Tìm cách tiết kiệm tiền và giảm chi phí vận hành trên đám mây có thể trở thành công việc toàn thời gian tự trả lương.Google Cloud có một số công cụ quản lý chi phí có thể hỗ trợ bạn hiểu về giá cả trên đám mâyTự động hóaTự động hóa chính xác khối lượng công việc điện toán của bạn trong đám mây có thể dẫn đến giảm chi phílợi ích tiết kiệm và hiệu quảDeployment Managerlà sản phẩm của Google Cloud được thiết kế để giúp bạn tạo và quản lý tài nguyên đám mâybằng các mẫu đơn giảnViết kịch bản vớigcloudlà một tùy chọn nếu bạn thích viết tự động hóa của riêng mình.Mặc dù lợi ích tài chínhđi kèm với tự động hóa, các lợi ích khác bao gồm:- Các quy trình tiêu chuẩn và có thể lặp lại để giảm tỷ lệ lỗi- Theo dõi có thể kiểm tra để tuân thủ và quản trị- Nâng cao hiểu biết về cách ứng dụng của bạn hoạt động, cách ứng dụng bị hỏng và cách khắc phụcTự động hóa tăng thời gian hoạt động bằng cách giảm sự phụ thuộc vào cảnh báo và thời gian phản ứng của con người, giảm nợ kỹ thuật bằng cách ghi lại quy trình làm việc và cho phép các kỹ sư của bạn ít tập trung hơn vào việc bật đèn và tập trung nhiều hơn vào việc xây dựng các sản phẩm, công cụ và dịch vụ tốt hơn.Các khái niệm này là cốt lõi của Kỹ thuật độ tin cậy của trang web (SRE).Google Cloud cung cấp sách trực tuyến đọc miễn phí về Kỹ thuật độ tin cậy của trang web, cũng như Sách bài tập SRE cung cấp các ví dụ thực tế và nghiên cứu điển hìnhTách rời cơ sở hạ tầng và mã của bạnBạn tách các dịch vụ nhiều lần khi ứng dụng phát triển.Chia nhỏ các dịch vụ được kết nối và biết cách mở rộng chúng một cách độc lập sẽ cải thiện tính khả dụng và độ tin cậy của các ứng dụng của bạn.Nói chung có ba bước cho quy trình này:- Triển khai cơ sở hạ tầng dưới dạng mã (IaC) ở mọi nơi.Bằng cách triển khai các quy trình quản lý cấu hình và IaC, bạn có được các khối xây dựng có thể theo dõi, kiểm tra và tái sản xuất để cung cấp và định cấu hình toàn bộ cơ sở hạ tầng của mình- Tách các dịch vụ hiện có của bạn thành các dịch vụ siêu nhỏ.Sử dụng phần mềm trung gian hướng thông báo, như Pub/Sub, để cho phép mọi dịch vụ siêu nhỏ trở thành miền lỗi của chính nó- Bắt đầu di chuyển dịch vụ từ cơ sở hạ tầng dưới dạng dịch vụ sang nền tảng dưới dạng dịch vụ hoặc thậm chí hoạt động như một dịch vụ hoặc không có máy chủ như một dịch vụ.Hành trình từ "cơ sở hạ tầng và mã nguyên khối"đến "các vi dịch vụ tách rời hoạt động hiệu quả trên toàn bộ dải IaaS"là một mục tiêu có giá trị cần có thời gian, công sức và tâm huyếtĐiều chỉnh hiệu suấtĐiều chỉnh hiệu suất có thể mang lại mức tăng đáng kể trong thời gian phản hồi và sử dụng hệ thống.Mỗi khối lượng công việc có một phương pháp khác nhau để điều chỉnh hiệu suất, từ tệp cấu hình phần mềm cho đến điều chỉnh cờ nhân.Đối với các ứng dụng LAMP, điều chỉnh hiệu suất thường nằm trong ba loại:- Điều chỉnh đám mây, mạng và hệ điều hành: - 5 bước để cải thiện hiệu suất mạng Google Cloud có thể giúp bạn hiểu cách tận dụng tối đa Google Cloud Networking - Tối ưu hóa TCP cho hiệu suất mạng trong Google Cloud có thể hữu ích nếu bạn có các yêu cầu về độ trễ TCP cụ thể - Tối ưu hóa ổ đĩa liên tục và hiệu suất SSD cục bộ có thể giúp bạn tìm hiểu về kiến ​​trúc cho khối lượng công việc nặng IOPS - Cải thiện hiệu suất trên Compute Engine có thể giúp hiệu suất ứng dụng API khi tương tác với các dịch vụ và API Google Cloud khác - Tinh chỉnh máy chủ web: - Điều chỉnh hiệu suất Apache và Điều chỉnh hiệu suất NGINX hoặc tìm kiếm chung trên Google cho "điều chỉnh hiệu suất máy chủ web của bạn"sẽ đưa bạn đi đúng hướng Điều chỉnh cơ sở dữ liệu: ## Cái gì tiếp theo - Thiết lập LAMP trên Compute Engine - Triển khai LAMP Stack - Tìm hiểu thêm về cách chạy khối lượng công việc điện toán trên Compute Engine hoặc GKE Kết nối GKE với Cloud SQL Khám phá Di chuyển sang máy ảo và Di chuyển sang bộ chứa Xây dựng ứng dụng có khả năng mở rộng cao trên nền tảng serverless được quản lý hoàn toàn với App Engine Tìm hiểu thêm về các tùy chọn cơ sở dữ liệu trên Google Cloud Khám phá kiến ​​trúc tham khảo, sơ đồ, hướng dẫn và các phương pháp hay nhất về Google Cloud. Hãy xem Trung tâm kiến ​​trúc đám mây của chúng tôi.