AWS Overview Part 1

AWS Overview Part 1

I. Tại sao lại chọn AWS?

Có rất nhiều các nhà cung ứng dịch vụ trên mây, và các nhà cung ứng này cũng có những điểm mạnh điểm yếu khác nhau liên quan đến tính năng, cạnh tranh nhau về giá thành để phục vụ người dùng.
Như ảnh dưới đây là thống kê liên quan đến thị phần trên toàn thế giới của thị trường mây Q2/2017.
Market Share

Như ảnh bên dưới là thống kê liên quan đến thị trường ở Nhật được thống kê bởi 日経コンピュータ vào tháng 4/2017.
Market Share

Qua ảnh trên có thể thấy rõ AWS trên thế giới nói chung và ở Nhật nói riêng đều chiếm thị phần lớn như thế nào. Thế nên mình nghĩ là nếu nhập môn về Cloud Computing thì nên bắt đầu từ thằng phổ biến nhất nhỉ ?

Ngoài ra hiện tại AWS cũng đã có hệ thống chứng chỉ, và chứng chỉ AWS cũng là một trong những chứng chỉ có giá trị nhất, được săn đón nhiều nhất.
Như thống kê bên dưới của Forbes thì năm 2016, Chứng chỉ AWS Solution Architect có mức lương trung bình cao nhất bên cạnh các chứng chỉ cũng thuộc loại khủng khác.

Hiện tại khi mình viết nội dung này thì sau khi báo cáo lợi nhuận quý thứ 3 trong năm 2017. Giá trị cổ phiếu của Amazon tăng 8% đã giúp CEO Jeff Bezos tăng giá trị tài sản lên 6.4B$ để có tổng cộng hơn 90B$. Qua đó vượt qua Bill Gates để trở thành người giàu nhất thế giới.

Không biết là ông sẽ giữ được vị thế giàu số 1 thế giới được bao lâu, tuy nhiên trong năm 2017 này thì ông và Bill Gates thay nhau giữ vị trí số 1 thế giới.

Ngoài ra để nói về tầm ảnh hưởng của AWS thì hiện tại rất nhiều những ứng dụng lớn đang sử dụng dịch vụ của AWS như là Instagram, Vine, Netflix, Slack, Quora, Snapchat…
Vào năm 2013, khi dịch vụ s3 của AWS down 40 phút, thì rất nhiều các dịch vụ lớn như Instagram, Vine… đều không thể sử dụng được. Thiệt hại thì không được các bên đối tác của AWS cung cấp. Tuy nhiên hệ thống dừng hoạt động 40 phút khiến AWS mất khoảng 5M$ – Đấy là con số của năm 2013. Còn hiện tại nếu như server của AWS bị down thì có lẽ thiệt hại sẽ còn lớn hơn rất nhiều.

II. Lịch sử của AWS

Cùng nhìn lại các mốc lịch sử đánh dấu sự thành công của AWS

  • 2003 – Chris Pinkham & Benjamin Black đã trình bày một đề án mô tả một tầm nhìn cho cơ sở hạ tầng điện toán bán lẻ của Amazon.
  • 2004 – Dịch vụ SQS chính thức được vận hành
  • 2006 – AWS chính thức được đưa ra thị trường
  • 2007 – Amazon tuyên bố đã có hơn 180.000 developer đăng ký sử dụng dịch vụ của họ
  • 2010 – Tất cả các dịch vụ của web bán lẻ Amazon đã được đưa lên AWS
  • 2012 – Hội nghị re-invent đầu tiên được tổ chức tại Las Vegas
  • 2013 – Hệ thống chứng chỉ được ra đời
  • 2014 – Cam kết dài hạn về việc sử dụng 100% năng lượng tái tạo để bảo vệ môi trường
  • 2015 – Công bố lợi nhuận kiếm được là 6 tỷ USD – Tăng 90% hàng năm
  • 2016 – Công bố doanh thu năm 2016 là 12,2 tỷ USD

III. Cơ bản về điện toán đám mây của AWS

  • IaaS – Cung cấp cho người dùng các dịch vụ từ mức cơ sở hạ tầng.
  • Khách hàng lựa chọn và kết hợp phần cứng, phần mềm theo nhu cầu của mình.
  • So với mô hình cơ sở hạ tầng truyền thống thì AWS cũng như các dịch vụ IaaS khác sẽ không mất chi phí xây dựng ban đầu, tất cả các phần việc khó khăn liên quan đến cơ sở hạ tầng, làm mát server… thì chuyển lại cho các chuyên gia của Amazon.
  • Cách tính tiền của AWS thì theo nhu cầu của khách hàng, dùng bao nhiêu – trả tiền bấy nhiêu, không gây lãng phí cho cả hai.
  • Một trong những đặc tính đặc trưng nhất của điện toán đám mây là tính mềm dẻo, mình sẽ nói về tính mềm dẻo của điện toán đám mây ở trong những phần tiếp theo.

IV. Mô hình điện toán đám mây của AWS

Reference Model

Mô hình điện toán đám mây của AWS gồm có những tầng như ảnh trên, mình sẽ giới thiệu lần lượt từ những tầng cơ sở nhất của mô hình này.

1. AWS Global Insfratructure

AWS cung cấp một cơ sở hạ tầng Cloud bảo mật cao cho cả những doanh nghiệp nhỏ cũng như các công ty toàn cầu. Cơ sở hạ tầng bao gồm Regions, Availability Zones, và Edge Locations cho phép các doanh nghiệp lưu trữ dữ liệu của họ một cách mềm dẻo trên nhiều khu vực địa lý và nhiều cơ sở được đặt trên một khu vực địa lý cụ thể.

AWS phục vụ hàng trăm nghìn người dùng ở hơn 190 nước, hệ thống hạ tầng trải khắp trên 4 châu lục, châu Mỹ, châu Âu, châu Á và châu Úc.
AWS mở rộng hệ thống hạ tầng trên toàn thế giới liên tục, để nhằm mục đích hỗ trợ khách hàng giảm thiểu tối đa độ trễ và đảm bảo dữ liệu của KH được nằm trên Region họ yêu cầu, bảo đảm được nhu cầu của KH khi công việc của KH tăng lên.

Tính đến tháng 12 năm 2016 thì hiện tại Cơ sở hạ tầng trên toàn cầu của AWS gồm 14 Regions và 38 Availability Zones. Dự định trong năm 2017 này sẽ tăng thêm 4 Regions và 11 Availability Zones.

  • Regions là gì ?
    Là vùng địa lý nơi đặt Data Center của AWS. Hệ thống hạ tầng trải khắp trên 4 châu lục, châu Mỹ, châu Âu, châu Á và châu Úc.
  • Availabilyty Zones là gì ?
    Là các Data Center của AWS.
    Mỗi Region có ít nhất 2 Availability Zone để phòng chống được việc khi gặp thiên tai, thảm hoạ.
    Các AZ trong cùng một Region luôn được liên kết với nhau bởi các kết nối có độ trễ cực kỳ thấp.
    Nếu như bạn có một hệ thống mà yêu cầu tính sẵn sàng cao thì chắc chắn khi thiết kế bạn phải thiết kế theo mô hình Multi-AZ.
    Theo thiết kế Multi-AZ thì nếu như một AZ của bạn gặp vấn đề thì cũng sẽ đảm bảo được hệ thống của bạn vẫn hoạt động
 do còn có AZ khác backup.
    AWS khuyến cáo KH nên sử dụng multi-AZ. Và KH không phải trả thêm tiền cho việc này.
  • Edge Locations là gì ?
    Là Data Center của AWS đặt khắp nơi trên thế giới chỉ dùng để lưu trữ dữ liệu cho dịch vụ CloudFront và Route53. Nhằm mục đích để giảm độ trễ cho lưu lượng truy cập và thường nằm ở những nơi có mật độ dân cư cao.
    CloudFront là mạng CDN (Content Delivery Network) phân phối nội dung tĩnh và streaming toàn cầu của Amazon.
    Route53 là dịch vụ điều hướng tới các dịch vụ sử dụng AWS. Những phần này sẽ giải thích lại cụ thể hơn ở các tầng tương ứng.
2. Networking

Các dịch vụ của AWS Networking giúp mở rộng các cơ sở hạ tầng của doanh nghiệp trên AWS Cloud. Các thành phần chính của tầng này bao gồm:

  • Direct Connect : AWS Direct Connect cho phép bạn thiết lập kết nối mạng riêng giữa cơ sở hạ tầng của doanh nghiệp với tất cả các dịch vụ AWS, giúp giảm thiểu chi phí, tăng băng thông, và cung cấp tính nhất quán.
  • VPN Connection : Cho phép bạn kết nối mạng ảo VPC tới data center riêng sử dụng VPN connection, biến AWS cloud thành 1 phần mở rộng của data center.
  • Amazon Virtual Private Cloud - VPC : Là một mạng ảo tách biệt với các mạng ảo khác trong AWS Cloud. Chúng ta có thể khởi chạy các tài nguyên của AWS như Amazon EC2 instances, vào VPC trên mạng ảo này. Chúng ta có thể cấu hình mọi thứ trong mạng ảo của mình VPC như là chọn dải IP address, tạo các subnets, và cấu hình các route tables, network gateways, và các thiết lập security.
  • Router 53 : Là một DNS (Domain Name System) web service có khả năng mở rộng. Nó cung cấp tính bảo mật và điều hướng đáng tin cậy tới cơ sở hạ tầng của bạn sử dụng AWS. Chúng ta cũng có thể sử dụng Amazon Route 53 để điều hướng người dùng tới cơ sở hạ tầng bên ngoài AWS.
3. Compute

Nhóm dịch vụ xử lý tính toán của AWS cung cấp khả năng để mở rộng tài nguyên tính toán của bạn lớn lên hoặc giảm xuống dựa trên nhu cầu và tạo ra khả năng cung cấp dịch vụ mới một cách dễ dàng.
Các thành phần chính của tầng này bao gồm:

  • Amazon Elastic Compute Cloud - Amazon EC2 : là môi trường tính toán ảo cung cấp khả năng tính toán trong đám mây – bạn có thể hiểu đơn giản là các máy chủ ảo.
    EC2 cho phép người dùng có thể tạo, khởi động và tắt máy ảo theo nhu cầu. Máy ảo hỗ trợ nhiều hệ điều hành khác nhau như Red Hat Enterprise, Amazon Linux AMI, Windows Server 2003, Oracle Enterprise Linux, OpenSolaris, Ubuntu Linux…

Máy ảo cũng hỗ trợ nhiều phần mềm như Oracle 11g, Microsoft SQL Server 2005 Standard Edition, Apache Web Server, IIS / ASP.Net, Java Application Server… Qua đó giúp cho người dùng có thêm nhiều chọn lựa với nhu cầu sử dụng của mình.

  • Auto-Scaling : Giống như các ví dụ đã mô tả về đặc tính co dãn của điện toán đám mây. Vai trò của Auto-Scaling để cấu hình làm nhiệm vụ tăng các máy ảo khi có nhiều người sử dụng, cũng như giảm các máy ảo khi không cần thiết.
  • Elastic Load Balancing : Đây là một feature của EC2 Services. ELB sẽ tự động phân bố những access đến các EC2 Instance nằm trong nó. Tính năng này sẽ giúp giảm thiểu tối đa tình trạng một EC2 Instance bị quá tải và ngưng hoạt động. Nếu một EC2 có số lượng truy cập hoặc xử lý quá nhiều thì ELB ngay lập tức điều chỉnh các truy cập sang các EC2 Instance còn lại.
4. Storage

Nhằm thay thế cho mô hình lưu trữ trong cách vận hành IT truyền thống, đa phần thì việc lưu trữ được lưu ở ổ cứng.
Dịch vụ lưu trữ của AWS là tập hợp các dịch vụ với các cấp độ khác nhau về giá cả, độ bền vững và mức độ sẵn sàng
Các thành phần chính của tầng này bao gồm:

  • Amazon Simple Storage Service - S3 : Là một dịch vụ lưu trữ có khả năng lưu trữ không giới hạn với tốc độ truy cập cao.
    Amazon S3 lưu trữ dữ liệu như các object trong các bucket.
    Bucket là các thùng chứa cho các object. Bạn có thể tạo 1 hay nhiều bucket. Với mỗi bucket, bạn có thể điều khiển việc truy xuất đến nó (ai có thể tạo, xóa và xem các object trong bucket), xem nhật ký truy xuất đến bucket và đến các object bên trong, cũng như chọn region mà Amazon S3 sẽ lưu bucket và nội dung trong nó. Cụ thể chi tiết về phần này thì bọn mình sẽ viết, và giải thích cụ thể trong chủ đề lớn hơn.
  • Amazon Glacier : Là một dịch vụ lưu trữ dài hạn với giá thành rất rẻ – chuyên dùng để sao lưu, backup.
    Amazon Glacier là sự lựa chọn lưu trữ tuyệt vời khi chi phí lưu trữ thấp là tối quan trọng, dữ liệu được truy xuất không thường xuyên và độ trễ truy xuất vài giờ là có thể chấp nhận được.
  • Elastic Block Store : Là một dịch vụ lưu trữ giống như một ổ đĩa vật lý vậy. Vào một thời điểm duy nhất thì EBS chỉ có thể sử dụng ở một EC2. 1 EC2 có thể sử dụng nhiều EBS cùng một lúc.
5. Database

Database (cơ sở dữ liệu) là phần không thể thiếu trong bất kì hệ thống ứng dụng phần mềm hiện nay. Và các công việc liên quan đến Database cũng rất là nhiều, chính vì thế nên nhóm dịch vụ cơ sở dữ liệu của AWS sẽ giúp đỡ người dùng về những việc này.
Các thành phần chính của tầng này bao gồm:

  • Relational Database Service : là dịch vụ đám mây do Amazon Web Services phát triển với mục tiêu cung cấp giải pháp cài đặt, vận hành và mở rộng dành cho relational database (cơ sơ dữ liệu có quan hệ – tự tìm hiểu).
    Các hệ quản trị cơ sở dữ liệu quan hệ mà Amazon RDS hỗ trợ hiện nay gồm có SQL Server, Oracle, MySQL, PostgreSQL, MariaDB, Amazon Aurora.
  • DynamoDB : là một dịch vụ cơ sở dữ liệu NoSQL, có hiệu suất cao, hoàn toàn được quản lý cho phép dễ dàng thiết lập, hoạt động và mở rộng.
    DynamoDB có cấu trúc bao gồm các bảng giống như với DB thông thường, tuy nhiên bảng không được sắp xếp theo các cột và dòng mà là tập hợp các item, mỗi item lại là tập hợp của các attribute. Mỗi item được định danh duy nhất bởi một giá trị của khóa chính.
6. App Services

Các thành phần chính của tầng này bao gồm:

  • Amazon SQS : Amazon Simple Queue Service (SQS) là một dịch vụ hàng đợi (queue) lưu trữ thông điệp (message) nhanh chóng, đáng tin cậy, có khả năng mở rộng và quản lý một cách đầy đủ. Amazon SQS giúp bạn có thể di chuyển dữ liệu giữa các thành phần phân tán của ứng dụng của bạn để thực hiện các nhiệm vụ khác nhau. Bạn có thể sử dụng SQS để truyền tải bất kỳ khối lượng dữ liệu, ở bất kỳ mức độ thông lượng nào mà không sợ bị mất đi các thông điệp hoặc yêu cầu của mỗi thành phần là luôn luôn có sẵn. :sleepy:
    Chăc chắn là sau khi đọc nội dung trên thì bạn cũng chưa hiểu thằng SQS để làm gì đúng không ? Về cơ bản thì bạn chỉ cần hiểu ta dùng SQS với 1 số tính năng mà không yêu cầu tính realtime, ta có thể gửi message đến queue và xử lí sau đó thông qua batch.
    Để giải thích cụ thể cho SQS thì mình sẽ dùng ví dụ để giải thích nhé.
    Lấy ví dụ về xử lý lưu user download nhạc ở trang web tải nhạc nhé.
    Nếu như việc lưu user là cần thiết, thì theo đúng xử lý bình thường của bạn thì sẽ tiến hành lưu user tải, sau khi thông tin của user được lưu vào DB hoàn chỉnh thì mới cho phép tải nhạc. Nếu trong quá trình lưu đó mà phát sinh lỗi gì đấy coi như người dùng sẽ ko tải được nhạc luôn.
    Thực tế việc lưu user là cần thiết, tuy nhiên nó không phải là việc cần làm ngay lập tức. Chính vì thế nên bạn có thể sử dụng SQS, bạn có thể xử lý cho user tải nhạc một cách bình thường, còn việc lưu thông tin user vào DB thì bạn chỉ cần đưa vào Queue cái job đó, rồi job đó sẽ được thực hiện vào 1 lúc nào đó thông qua batch chạy bởi server khác vào lúc nửa đêm chẳng hạn.
  • CloudFront : Amazon Cloudfront là mạng CDN(Content Delivery Network) phân phối nội dung tĩnh và streaming toàn cầu của Amazon. Khi bạn sử dụng CDN sẽ giúp cho khách truy cập nhanh vào dữ liệu máy chủ web gần họ nhất thay vì phải truy cập vào trung tâm dữ liệu của nhà cung cấp hosting bạn đang dùng.
7. Deployment & Administration

Các thành phần chính của tầng này bao gồm:

  • Elastic Beanstalk : là một dịch của PaaS của AWS.
    Khi muốn triển khai một ứng dụng, thông thường ta cần xây dựng server và cài đặt môi trường cùng với ứng dụng lên đó. Điều này thường mất nhiều thời gian và công sức. Sau khi cài đặt xong ứng dụng thì công việc của chúng ta vẫn chưa xong, thực ra đó mới là bước đầu. Tiếp đó còn cần có người bảo trì (maintain) hệ thống để đảm bảo nó không tự dưng lăn đùng ra chết, cũng như thay đổi code hay cấu hình server và nhiều việc liên quan khác.
    Với Elastic Beanstalk, những công việc nêu trên được đơn giản hóa tối đa. Thay vì tự mình cấu hình và duy trì hệ thống, Amazon Elastic Beanstalk sẽ giúp mình thực hiện điều đó. Công việc của chúng ta đơn thuần là upload ứng dụng lên, các công việc hạ tầng còn lại sẽ được Elastic Beanstalk lo hết. Không những vậy chúng ta còn có thể sử dụng các tool CI như Jenkins để deploy ứng dụng.
  • Identity & Access Management : AWS Identity and Access Management ( IAM ) là 1  service mà sẽ giúp ta dễ dàng quản lý, kiểm soát quyền truy cập của các user có trong hệ thống. Ví dụ như là phân quyền cho các user như là ai có thể access vào hệ thống để bật tắt server, ai có thể checking hoá đơn hàng tháng chẳng hạn. Chắc chắn là bạn không thể đưa account root cho tất cả mọi người trong công ty rồi đúng không ? :laughing:
  • CloudWatch : Cloudwatch là một dịch vụ giám sát các nguồn tài nguyên cloud và ứng dụng chạy trên AWS (amazon web service). Bạn có thể sử dụng Cloudwatch để thu thập và theo dõi các số liệu thống kê, giám sát log file, và cài đặt cảnh báo (Giả sử giám sát lượng ram của máy chủ đang sử dụng, nếu quá 1 lượng nào đó, ví dụ là lượng ram sử dụng quá 90% thì sẽ thông báo đến 1 email cụ thể nào đó, để người đó có thể nắm bắt và có phương án để cứu chữa tình hình).

V. Mô hình bảo mật của AWS

図1

Mô hình bảo mật của AWS là Shared Responsibility – Đây là mô hình bảo mật mà trách nhiệm bảo mật thuộc về cả khách hàng sử dụng dịch vụ lẫn phía AWS.

Vậy khách hàng sẽ có trách nhiệm bảo mật cái gì ? và AWS sẽ có trách nhiệm bảo mật gì ?

Khách hàng có trách nhiệm bảo mật với những thứ in cloud, còn AWS sẽ có trách nhiệm bảo mật với những thứ of cloud.

Cụ thể như sau:
Khách hàng có trách nhiệm bảo mật tất cả những thứ thông tin của họ khi sử dụng các dịch vụ của AWS như là dữ liệu của họ, hệ điều hành, mạng, tường lửa, quyền IAM…
Còn phía AWS sẽ có trách nhiệm liên quan đến bảo mật vật lý như là cơ sở hạ tầng mà họ cung cấp cho người dùng.

Trung tâm Data Center được quản lý với các tiêu chuẩn rất an toàn như :

  • Data Center được xây dựng ở những nơi bí mật, không công khai.
  • Bên trong Data Center, AWS kiểm soát nghiêm ngặt những truy cập vật lý.
  • Tất cả các truy cập vật lý đều được log lại và check định kỳ
  • CTO cũng không được phép vào AZ.
  • Người có quyền truy cập vật lý thì không được phép truy cập phần mềm, và người có quyền truy cập phần mềm thì không thể truy cập vật lý.
  • Khi một máy tính hoặc một ổ đĩa bị hỏng, hoặc hết thời hạn sử dụng, Amazon có một quy trình huỷ hết sức triệt để -> sau đó chôn nó ở một địa điểm không xác định -> nên không xảy ra việc bị rò rỉ thông tin từ phần cứng cũ.

Leave a Reply

Your email address will not be published. Required fields are marked *