Trang chủ Cloud Computing

Triển khai website lên Amazon Cloud

Triển khai website lên Amazon Cloud

1. Tại sao lại là Cloud?

Ngày nay cloud đã trở lên phổ biến và cần thiết. Nói một cách đơn giản thì điện toán đám mây là tất cả những hoạt động lưu trữ, tính toán được diễn ra trên "đám mây", hay chính là internet. Cụ thể hơn, điện toán đám mây là giải pháp sử dụng nhiều máy tính được kết nối qua internet để đem lại khả năng, dịch vụ mà những thiết bị đơn lẻ không thể làm được. 

Nhìn chung lợi ích của việc sử dụng cloud thì rất là nhiều, nhưng xét trên góc nhìn của 1 developer thì nổi bật nhất đó là “không phải quan tâm quá nhiều tới infra”. Sau khi code xong một web application, chúng ta chỉ việc upload đống code đó lên cloud, và thế là mọi thứ đã sẵn sàng để public, product… 

Sẽ không còn phải thực hiện các việc làm truyền thống như: 

- Triển khai hạ tầng máy chủ  → tốn chi phí về cơ sở vật chất (ví dụ: điện, điều hòa, mặt bằng…), người quản trị. 

- Từng bước cấu hình server. Gồm đủ các công đoạn download, cài đặt, cấu hình OS, IP, DNS, SQL, Redis Server, Apache, memcached… → tốn thời gian, công sức. 

- Nâng cấp, thiết kế lại toàn hệ thống khi website bị quá tải, không thể đáp ứng được với lượng user như dự tính ban đầu → khả năng co giãn, linh động hệ thống kém.

Đưa code web lên cloud có giống đưa code lên host không? 

Thao tác khá giống nhau.

Vậy Cloud khác Host điều gì? 

Về phạm vi: host nhỏ hơn cloud, có thể dùng cloud để tạo ra nhiều host, nhưng host thì không thể tạo ra cloud. 

Host thường dùng cho website nhỏ, khi đó các website dùng chung tài nguyên để tiết kiệm chi phí.

Cloud tuyệt như vậy, tại sao nhiều công ty, doanh nghiệp lại không dùng? 

Bài toán bảo mật, phân quyền. Hoặc doanh nghiệp muốn tự dựng một hệ thống máy chủ có kiến trúc đặc biệt.

Ngoài triển khai web ra Cloud làm được gì nữa? 

Cloud làm được rất nhiều thứ, website chỉ là một mảng nhỏ. Kiến trúc cloud cung cấp dịch vụ ở 3 tầng cơ bản IaaS (Infra as a Service) , PaaS (Platform as a Service), và SaaS (Software as a service).

Khi nào bắt buộc phải sử dụng cloud, mà không có lựa chọn khác? 

Khi hệ thống quá lớn, dịch vụ web phải đáp ứng được số lượng lớn user, hoặc phải lưu trữ dữ liệu khổng lồ, khi đó chỉ có mô hình kiến trúc của cloud mới đủ khả năng giải quyết vấn đề. 

Cloud chính là lời giải của bài toán BigData.

Tại sao bài viết này lại dùng Amazon Cloud mà không phải Google Cloud hay Azure của Microsoft, hay SoftLayer của IBM?

Để sử dụng dịch vụ Amazon Cloud, phải có thẻ Visa. Tại thời điểm hiện tại, các nhà cung cấp dịch vụ cloud đều đã chặn gần hết các đầu số Visa ảo của Việt Nam, do bị lạm dụng quá mức. Chỉ còn mỗi Amazon vẫn dùng được. (Visa ảo là gì, tại sao sử dụng dịch vụ cloud phải có visa…vấn đề này mình sẽ trình bày cụ thể ở những bài viết khác).

2. Các bước thực hiện

Các bước để deploy code lên Amazon Cloud: 

- Chuẩn bị nguyên vật liệu 

- Đưa code lên cloud 

- Sử dụng, vận hành, và thống kê 

Amazon Cloud = AWS = Amazon Web Service = https://aws.amazon.com

Bước 1. Chuẩn bị nguyên vật liệu

Để sử dụng dịch vụ AWS, chúng ta sẽ phải đăng ký một tài khoản trên https://aws.amazon.com. Việc này chỉ khác việc đăng ký thông thường một chút, là ngoài email, xác thực số điện thoại, thì còn phải điền thông tin thẻ VISA/ MasterCard.

Nôm na cho ai chưa biết về thẻ VISA, MasterCard: thẻ này giống ATM ngân hàng, nhưng dùng để thanh toán quốc tế. AWS bắt điền thông tin thẻ này để thanh toán cho các hóa đơn dịch vụ cloud. Vì là sử dụng dịch vụ trước, trả tiền sau, nên AWS có rất nhiều biện pháp để hạn chế việc bị user lạm dụng hệ thống mà không trả tiền, trong đó có việc kiểm soát nghiêm ngặt thông tin thẻ Visa, Mastercard. 

Muốn có thẻ VISA/ Master chính thống, bạn phải ra ngân hàng làm, thẻ càng chính thống, hợp lệ thì càng được AWS mở giới hạn nhiều hơn.

Note: Việc kích hoạt tài khoản AWS sẽ bị mất $1 trong thẻ VISA/ Master, $$ này sẽ được trả lại sau 30 ngày. Sau khi đăng ký AWS thành công, sẽ phải đợi từ 15p tới vài tiếng để nhân viên Amazon đồng ý đơn đăng ký. 

Giao diện sau khi đăng ký và được kích hoạt thành công.

Triển khai website lên Amazon Cloud - Ảnh 1.

Giao diện sau khi đăng ký và được kích hoạt thành công

Bước 2. Đưa code lên cloud

1. Chọn Region 

 Thao tác này để chọn vị trí địa lý web server muốn triển khai. Ví dụ: tình hình suốt ngày đứt cáp, mà website lại phục vụ user trong nước là chính, thì có thể chọn Region: Asia Pacific (Singapore)

2. Sử dụng service Elastic Beanstalk 

Đây là module của AWS, có hỗ trợ việc deploy code. Để sử dụng, truy cập https://us-west-2.console.aws.amazon.com/elasticbeanstalk. 

Hoặc search tab: Elastic Beanstalk... Mình thực hiện tạo một web app mới. Hiện tại mình đang có 1 project Java web, mình đã export ra file .war, và thực hiện upload lên đây.

Triển khai website lên Amazon Cloud - Ảnh 2.

Sử dụng service Elastic Beanstalk

Thực hiện cấu hình trước khi Create Application.

Triển khai website lên Amazon Cloud - Ảnh 3.

Thực hiện cấu hình trước khi Create Application

Mặc định 1 tài khoản AWS sau khi được kích hoạt, sẽ được sử dụng gói Free Tier 1 năm, tuy nhiên hàng trial nên cấu hình server có thể sử dụng rất thấp (1 Core, Ram 1GB) , có thể vào Modify để chỉnh cấu hình Server cao hơn. 

Để biết được tài khoản aws của mình được phép sử dụng những cấu hình máy chủ nào, thì vào mục Limit của Region để xem. 

Cấu hình database nếu web app muốn sử dụng gói database tích hợp luôn của Amazon. Thực hiện Create Application và chờ vài phút dể Beanstalk triển khai.

Triển khai website lên Amazon Cloud - Ảnh 4.

Website sau khi triển khai thành công có thể vào bằng IP hoặc domain. (xem log, hoặc detail web app để biết thông tin)

Bước 3. Sử dụng, vận hành, và thống kê

AWS cung cấp rất nhiều module, để tùy chỉnh cloud. Ví dụ như Firewall, Group Security… Ngoài monitor web app trong Beanstalk, có thể monitor web server trong EC2 (Elastic Compute Cloud). 

Sử dụng Bill Dashboard để xem số tiền phải trả cho các dịch vụ đã sử dụng.

Triển khai website lên Amazon Cloud - Ảnh 5.

Sử dụng, vận hành, và thống kê

3. Kết luận

Việc sử dụng cloud, giúp cho các developer không phải bận tâm nhiều tới việc triển khai hạ tầng, đưa sản phẩm của mình tới user, tiết kiệm thời gian tối đa cho việc build application... Dùng bao nhiêu trả tiền bấy nhiêu. Không phải lo lắng về việc đầu tư cơ sở hạ tầng server ban đầu.

Thực sự rất tối ưu và hiệu quả!

Nếu bạn muốn trải nghiệm Cloud miễn phí, với sự hỗ trợ tận tình của đội ngũ kĩ thuật, đừng ngần ngại trải nghiệm dịch vụ Cloud Server của VCCloud.

Theo: viblo.asia

>> Có thể bạn quan tâm: Tổng quan về Điện toán đám mây (Cloud computing)