Sử dụng Google App Engine (GAE) – Có xứng đáng với $300 (Phần 1)
Bạn đang tìm một nơi để lưu trữ và chạy thử trang web mình vừa tạo? Bạn đang tìm một nơi có thể quăng cái demo trang web của mình cho khách hàng ở xa xem? Bạn code một ứng dụng web thật xịn mà lại không có tiền mua server, vps để chạy? Bạn có 1 trang web tỏ tình, 1 web chơi game online ...
Bạn đang tìm một nơi để lưu trữ và chạy thử trang web mình vừa tạo? Bạn đang tìm một nơi có thể quăng cái demo trang web của mình cho khách hàng ở xa xem? Bạn code một ứng dụng web thật xịn mà lại không có tiền mua server, vps để chạy? Bạn có 1 trang web tỏ tình, 1 web chơi game online nhưng lại không tìm được chỗ nào free để lưu code ? Hay đơn giản bạn đang tìm kiếm 1 con vps xịn mà free để thay thế cái heroku cùi bắp 15 phút sập 1 lần?
Nếu bạn là một trong những đối tượng trên, đã đến lúc bạn nghĩ tới việc dùng thử công cụ hỗ trợ lập trình web chất lượng cao của bác Google. Bài viết này hướng tới đối tượng:
- Các bạn dự định theo hướng DevOps. Xem thêm DevOps là gì?
- Các bạn lập trình web front-end, Back-end, và full-stack
- Các bạn đang tìm một nơi để show trang web của mình lên cho mọi người trầm trồ
- Các bạn đơn giản muốn tìm hiểu thêm về Google Cloud Platform
Bài viết này mình sẽ chia làm 2 phần:
- Giới thiệu
- Thực hành
Có thể bạn đã biết năm 2008 Google cho ra mắt một dịch vụ mới đó là Google Cloud Platform (GCP), trong phạm vi bài biết mình sẽ không giải thích GCP là gì mà chỉ tập chung vào 1 sản phẩm nhỏ trong GCP đó là Google App Engine (GAE) nơi mà chúng ta có thể deploy ứng dụng web của mình lên một cách dễ dàng và hoàn toàn FREE.“Google App Engine (gọi tắt là GAE hay App Engine) là một môi trường phát triển ứng dụng dựa trên công nghệ điện toán đám mây. Ở đó Google cung cấp một hệ thống gồm: ngôn ngữ lập trình, hệ cơ sở dữ liệu, các thư viện lập trình, người lập trình sẽ viết ứng dụng và ứng dụng này sẽ chạy trên các máy chủ của Google.”__Wikipedia.
Chúng ta có thể hiểu đơn giản là nó giống như một cái máy chủ ảo được đặt ở trụ sở của google và bạn có thể quản lí nó. Ta có thể làm gì tùy thích với nó, ở đây chúng ta sẽ cùng đưa Web App của mình lên GAE. Và mọi người có thể truy cập và chiêm ngưỡng trang web của mình.
Question: Vì sao tôi phải sử dụng nó thay vì các dịch vụ khác như heroku, azure, aws,…??
Answer: Đơn giản vì GAE giải quyết được 3 vấn đề mà 1 lập trình viên web thường gặp:
FREE
- Khi bạn đăng kí tài khoản Google bạn sẽ được tặng 300$ trong 1 năm để sử dụng tất cả các dịch vụ mà GCP cung cấp như Big Data, Compute, Networking, Cloud AI, ….
- Với 300$ được cấp bạn có thể tạo cho mình cả chục trang web mà lại có tên miền đẹp với đuôi .appspot.com
- Với bất cứ web app nào được deploy lên GAE sẽ đều được cấp SSL miễn phí
- Một vấn đề với các bạn muốn sử dụng GCP lâu dài là các sản phẩm của GCP áp dụng cơ chế càng dùng càng rẻ, nghĩa là số tiền bạn phải chi trả cho 1 sản phẩm tháng này chắc chắn sẽ thấp hơn tháng trước.
PERFORMANCE
- Bạn sẽ được sử dụng cơ cở hạ tầng của chính Google, nghĩa là trang web của bạn sẽ được lưu trữ cùng một chỗ với Youtube, Gmail, Drive,…
- Tốc độ nhanh: Google cung cấp 1 đường truyền riêng cho các sản phẩm của mình, nghĩa là khi bạn truy cập bất cứ dịch vụ nào của Google thì tốc độ đường truyền sẽ nhanh hơn hẳn so với các dịch vụ khác
- GAE được tạo ra để đơn giản hóa việc triển khai dự án Web App, nhờ vậy công việc của bạn chỉ cần tập chung vào việc xây dựng chức năng mà không cần bận tâm đến vấn đề config server hay deploy khó khăn nữa.
SECURITY
- Vì là hàng Mĩ và dùng chung cơ sở hạ tầng với các sản phẩm khác của Google nên vấn đề bảo mật có thể yên tâm mà tin tưởng vào GCP nhá.
Question: Làm cái này có phức tạp, lâu la không?
Answer: Nó sẽ hơi khó khăn với một số bạn mới bắt đầu tìm hiểu nhưng qua bài viết này các bạn sẽ tiếp cận dễ hơn thôi, nếu bạn từng sử dụng Git thì sẽ thấy nó cũng na ná việc push code lên hub thôi hehe.
Question: Vì sao không sử dụng Compute Engine đa chức năng hơn?
Answer: Vì 3 lí do chính:
- Nó rẻ, GAE rẻ hơn rất nhiều so với GCE
- GAE được cấu hình sẵn, công việc của bạn chỉ việc deploy sản phẩm lên là nó sẽ chạy được chứ không phải cấu hình phức tạp như GCE
- Chúng ta không dùng dao mổ trâu để giết gà, vì GCE vốn là một máy ảo (Virtual Machine) nên việc deploy một dự án nhỏ lên là không cần thiết và rất phí phạm.
Question: Vậy GAE hỗ trợ những ngôn ngữ lập trình nào?
Answer: GAE hỗ trợ hầu hết các ngôn ngữ lập trình Back-End hiện nay như Python, Nodejs, .Net, Java, PHP, Go, Ruby.
Question: Vậy GAE hỗ trợ CSDL không?
Answer: có, các bạn có thể sử dụng các sản phẩm khác để tạo CSDL như BigQuery – bạn sẽ được cung cấp tất cả các công cụ để lọc và xử lí dữ liệu của hệ thống một cách tốt nhất.
Ở phần tiếp theo mình sẽ hướng dẫn các bạn thực hành đưa ứng dụng web lên GAE một cách đơn giản nhất.
To be continued…
TopDev via viblo