[Dev Ops với AWS] – Giới thiệu về AWS Cloud

1. Cloud computing là gì? Trong quá khứ, nhiều công ty và tổ chức lưu trữ và bảo trì phần cứng như network, storage, server,.. tại trung tâm dữ liệu riêng của họ cũng như cần phân bổ cơ sở hạ tầng, nhân sự để theo dõi, bảo trì dẫn đến chi phí tốn kém,

1. Cloud computing là gì?

Trong quá khứ, nhiều công ty và tổ chức lưu trữ và bảo trì phần cứng như network, storage, server,.. tại trung tâm dữ liệu riêng của họ cũng như cần phân bổ cơ sở hạ tầng, nhân sự để theo dõi, bảo trì dẫn đến chi phí tốn kém, nhiều khối lượng công việc.

Với việc internet ngày càng phổ biến hơn, nhu cầu này càng ngày càng tăng. Đối với 1 số công ty và tổ chức, chi phí duy trì này là rất lớn và không bền vững. Để giải quết vấn đề này, điện toán đám mây (cloud computing) đã được tạo ra.

Cloud computing là 1 dịch vụ cung cấp tài nguyên CNTT theo yêu cầu qua internet với mức giá trả theo mức sử dụng. Bạn không cần phải quản lý, bảo trì phần cứng trong data center của bạn. Các công ty như AWS sở hữu và duy trì các data center này, đồng thời cung cấp các dịch vụ công nghệ trung tâm dữ liệu ảo hoá cho người dùng thông qua internet.

Để giúp bạn phân biệt và so sánh khối lượng công việc nếu tự triển khai so với cloud computing, mình có 1 ví dụ như sau:

  • Bạn cần triển khai một tính năng mới trên ứng dụng của bạn. Trước khi triển khai, nhóm muốn thử nghiệm tính năng này trong một môi trường riêng (môi trường thử nghiệm – Staging) có cùng config với môi trường live – (Production).
  • Nếu bạn tự triển khai môi trường này, bạn phải mua và cài đặt phần cứng, kết nối network, power, cài đặt hệ điều hành,… Tất cả các nhiệm vụ này có thể tốn thời gian và mất nhiều ngày để thực hiện. Trong khi đó, thời gian đưa tính năng mới này ra thị trường ngày càng gấp rút, các dev thì lại vẫn đang phải chờ đợi môi trường mới này availlable.
  • Trong khi đó, nếu sử dụng điện toán đám mây, bạn không chỉ tiết kiệm thời gian từ góc độ thiết lập mà còn có thể loại bỏ các công việc nặng nhọc, tốn thời gian và chi phí. Bằng cách loại bỏ các tác vụ phổ biến lặp đi lặp lại như cài đặt máy ảo, lưu trữ bản sao, bạn có thể tập trung vào những gì mang tính chiến lược cho doanh nghiệp của mình và để AWS xử lý các tác vụ tốn thời gian đó.

2. AWS gì?

Chung quy lại, AWS chỉ đơn giản là cung cấp các dịch vụ điện toán đám mây. AWS sẽ kiến trúc một cơ sở hạ tầng có thể mở rộng, có tính khả dụng cao và viết kiệm chi phí. Bằng cách này, các doanh nghiệp có thể nhanh chóng đưa ứng dụng của công ty ra thị trường nhanh chóng mà không cần phải quản lý bất kỳ phần cứng vật lý nào.

Có 6 lợi ích chính khi sử dụng AWS:

  • Sử dụng bao nhiêu thanh toán bấy nhiếu: thay vì đầu tư vào một data center và phần cứng trước khi bạn biết mình cần sử dụng chúng như thế nào thì với AWS, bạn chỉ cần thanh toán cho số lượng tài nguyên mà bạn sử dụng
  • Chi phí thấp hơn: Bạn sẽ cần bỏ ra mức chi phí thấp hơn nhiều so với việc tự mình triển khai.
  • Dễ dàng tăng giảm scale phần cứng theo nhu cầu.
  • Tăng tốc độ xử lý và dễ dàng sử dụng: chỉ cần thao thác qua vài cú nhấp chuột thay vì phải tự mình xử lý hàng tuần => chi phí và thời gian phát triển ứng dụng thấp hơn đáng kể
  • Dễ dàng triển khai ứng dụng trên quy mô toàn cầu với độ trễ thấp và chi phí tối thiểu, vì AWS có server phủ khắp toàn cầu

3. Các dịch vụ mà AWS cung cấp

a. EC2 — Virtual machines

EC2 là một cơ sở hạ tầng điện toán đám mây được cung cấp bởi AWS, giúp cung cấp tài nguyên máy tính ảo hoá theo nhu cầu.
EC2 cung cấp các ứng dụng máy tính ảo hoá có thể mở rộng về khả năng xử lý cùng các thành phần cứng ảo như bộ nhớ máy tính, vi xử lý, linh hoạt trong công việc, lựa chọn theo các phân vùng cung cấp lưu trữ dữ liệu ở các nền tảng khác nhau. Được đảm bảo an toàn trong quản lý dịch vụ bởi kiến trúc ảo hoá đám mây của AWS. Dễ dàng triển khai ứng dụng nhanh nhất và đảm bảo tính sẵn sàng cao nhất. Thậm chí về mặt thanh toán bạn dễ dàng biết được các mức chi phí cần thanh toán dựa trên thông tin tài nguyên bạn sử dụng.

EC2 Instance là một cloud server. Với một tài khoản bạn có thể tạo và sử dụng nhiều Amazon EC2 Instance. Các Amazon EC2 Instance được chạy trên cùng một server vật lý và chia sẻ memory, CPU, ổ cứng… Tuy nhiên do tính chất của cloud service nên mỗi một Instance được hoạt động giống như một server riêng lẻ.

b. S3 — Object store

Amazon S3 là một kho lưu trữ cho Internet. Nó được thiết kế cho với dung lượng lớn cho phép lưu trữ với chi phí thấp trên nhiều khu vực địa lý. Amazon S3 cung cấp cho các developer có thể lưu trữ các object an toàn, bền vững và có khả năng scale
Bạn có thể lưu trữ bất kì loại data với bất kì loại format nào. Bao gồm dữ liệu, khóa và siêu dữ liệu (metadata).

c. RDS — databases

RDS là viết tắt của Amazon Relational Database Service là một web service cho phép bạn dễ dàng setup thao tác, scale cơ sở dữ liệu quan hệ trên AWS Cloud.

Amazon RDS sẽ đảm nhận các tác vụ khó hay các tác vụ quản lý:

  • Bạn có thể phân bổ CPU, IOPS hay storage một cách tuỳ biến
  • RDS sử dụng AWS backup service cho việc backup data, tự động phát hiện lỗi và recovery
  • Không support việc access RDS instance thông qua shell
  • Bạn có thể backup tự động hay thủ công Snapshot
  • Khả năng tự đồng bộ cao giữa primary và secondary
  • Kiểm soát được việc access vào RDS thông qua IAM, bảo vệ database bằng cách đẩy lên virtual private cloud

DB Instances
DB instance là một kiểu môi trường cơ sở dữ liệu riêng biệt bên trong AWS cloud.
Bạn có thể tạo hay chỉnh sửa DB instance thông qua AWS CLI, RDS API và AWS management console
Mỗi một DB instance sẽ chạy một DB engine
RDS support các engine sau:

  • MySQL
  • MariaDB
  • PostgreSQL
  • Oraccle
  • Microsoft SQL server

d. VPC — Private network

Amazon Virtual Private Cloud (Amazon VPC) là dịch vụ cho phép bạn khởi chạy các tài nguyên AWS trong mạng ảo cô lập theo logic mà bạn xác định. Bạn có toàn quyền kiểm soát môi trường mạng ảo của mình, bao gồm lựa chọn dải địa chỉ IP, tạo các mạng con, cấu hình các bảng định tuyến và cổng kết nối mạng. Bạn có thể dùng cả IPv4 và IPv6 cho hầu hết các tài nguyên trong đám mây riêng ảo, giúp bảo mật nghiêm ngặt và truy cập dễ dàng các tài nguyên cũng như ứng dụng.

Là một trong các dịch vụ nền tảng của AWS, Amazon VPC sẽ giúp bạn dễ dàng tùy chỉnh cấu hình mạng của VPC. Bạn có thể tạo một mạng con công khai cho các máy chủ web có quyền truy cập internet. Dịch vụ này cũng cho phép bạn đặt các hệ thống backend, như máy chủ ứng dụng hoặc cơ sở dữ liệu, trong mạng con riêng tư không có quyền truy cập internet. Với Amazon VPC, bạn có thể sử dụng nhiều lớp bảo mật, bao gồm các nhóm bảo mật và danh sách kiểm soát truy cập mạng, để giúp kiểm soát quyền truy cập vào các phiên bản Amazon EC2 trong mỗi mạng con.

e. CloudWatch—Monitoring and logging

AWS CloudWatch là một dịch vụ giúp giám sát, tổng hợp, phân tích dữ liệu, nguồn tài nguyên chạy trên AWS.

Dịch vụ này giúp cung cấp thông tin thực tiễn một cách realtime, cho phép:

  • Giám sát các vùng nhớ của ứng dụng, cơ sở hạ tầng và dịch vụ ví dụ như Ram, Disk,…
  • Sử dụng cảnh báo, tự động hành động
  • Hỗ trợ việc tối ưu hóa hiệu suất ứng dụng
  • Quản lý sử dụng tài nguyên và hiểu rõ tình trạng hoạt động của toàn hệ thống.
  • …..

Ngoài ra AWS còn cung cấp vô vàn dịch vụ khác, mời các bạn ghé vào trang chủ AWS để khám phá thêm

Lời kết

Cuối cùng, nhân dịp năm mới, mình chúc toàn tập thể Viblo và mọi người dùng trên nền tảng Viblo một năm mới Vạn sự như ý, tỉ sự như mơ, trăm sự bất ngờ, ngập tràn hạnh phúc!!

Nguồn: viblo.asia

Bài viết liên quan

Thay đổi Package Name của Android Studio dể dàng với plugin APR

Nếu bạn đang gặp khó khăn hoặc bế tắc trong việc thay đổi package name trong And

Lỗi không Update Meta_Value Khi thay thế hình ảnh cũ bằng hình ảnh mới trong WordPress

Mã dưới đây hoạt động tốt có 1 lỗi không update được postmeta ” meta_key=

Bài 1 – React Native DevOps các khái niệm và các cài đặt căn bản

Hướng dẫn setup jenkins agent để bắt đầu build mobile bằng jenkins cho devloper an t

Chuyển đổi từ monolith sang microservices qua ví dụ

1. Why microservices? Microservices là kiến trúc hệ thống phần mềm hướng dịch vụ,