SlideShare a Scribd company logo
1 of 73
Download to read offline
Handling 1 MILLION requests
per day with AWS
AnhDMT@relipasoft.com
WE WANT TO HEAR FROM YOU
CONTACT DETAILS
Tel.: +84 966.027.391
Mail: anhdmt@relipasoft.com
BKHN-K54
We’d love to hear from you!
CONNECT WITH ME ON
https://www.facebook.com/S.Foolish.S.Hungry
SAO PHẢI CẦN ?
- SẾP BẢO LÀM, KHÔNG ĐƯỢC THÌ NGHỈ VIỆC ĐI !
- EM LÀM VÌ ĐAM MÊ (?)
WHAT
TỐC ĐỘ PHẢN HỒI
PERFORMANCE
KHẢ NĂNG HOẠT ĐỘNG
AVAILABILITY
KHẢ NĂNG MỞ RỘNG
SCALABILITY
Tốc độ phản hồi của hệ thống, được đo
bằng đơn vị thời gian, có thể là giây
hoặc mili giây. Hệ thống hoạt động
càng nhanh thì người dùng làm được
nhiều việc hơn, đem lại lợi nhuận cao
hơn
Chỉ khả năng hoạt động của hệ thống
vào mọi thời điểm, được đo bằng
uptime. Ví dụ như trong 100 ngày, hệ
thống hoạt động 99 ngày còn 1 ngày
die thì uptime là 99/100 = 99%
Khả năng mở rộng của hệ thống. Liệu khi có
đông user hơn thì hệ thống có thể mở rộng
(scale) được không? Việc scale có thể thực
hiện dễ dàng, nhanh chóng hay không? Chi
phí scale như thế nào?
ĐẢM BẢO PERFOMANCE
CÂN BẰNG TẢI
LOAD BALANCER
Thiết bị (phần cứng hoặc phần mềm)
cho phép cân bằng tải đến nhiều
server.
CACHING
Tăng tốc độ đọc dữ liệu, bằng cách lưu
dữ liệu sẵn vào cache server để tăng
tốc độ đọc ở những lần sau.
CONTENT DELIVERY NETWORK
CDN
Mạng lưới các server được phân bố
trên nhiều khu vực
ĐẢM BẢO AVAILABILITY
MASTER/SLAVE
Thay vì chỉ chạy 1 server, ta chạy 2
hoặc nhiều hơn. 1 server chính gọi
là master, các server còn lại là
slave. Khi master có vấn đề (sập
nguồn hay crash), một slave sẽ
được chỉ định để lên thay thế
master.
REPLICATION
Thường được kết hợp chung với
Load Balancer. Code của ứng dụng
sẽ được deploy lên nhiều server.
Khi có 1 server die, load balancer
sẽ chuyển request sang server
khác, đảm bảo request vẫn được
thực hiện.
ĐẢM BẢO SCALABILITY
VERTICAL SCALING
Tăng sức mạnh phần cứng cho server
bằng cách… lắm thêm RAM, lắm thêm
chip, thay ổ cứng bằng ổ SSD.
STATELESS
Với application server (server chứa
code) cần đảm bảo code ở server là
stateless (không lưu trạng thái)
HORIZONTAL SCALING
Thay vì tăng sức mạnh cho 1 server, ta
thêm nhiều server vào hệ thống và
chạy cùng lúc.
SHARDING
Chia database thành các mẫu shard
nhỏ (theo IP, theo địa điểm vật lý của
người dùng,…)
AWS NÓI GÌ ?
COST
AWS nói “bạn chỉ trả những gì mà bạn sử dụng”
KHÔNG CÒN LO LẮNG VỀ CAPACITY
Không cần phải dự đoán trước capacity của hệ
thống, bạn có thể dễ dàng stop các service idle, hoặc
start các service nhanh chóng nếu có sự gia tăng đột
biến.
KHẢ NĂNG SCALE
Scale là yêu cầu tối thiểu của 1 hệ thống Cloud, đáp
ứng nhu cầu mở rộng liên tục và dễ dàng
NHANH CHÓNG VÀ TỐC ĐỘ
Trong môi trường cloud, IT member chỉ cần click
trong vài phút để đáp ứng nhu cầu của công ty thay
vì mất vài tuần để chuẩn bị hạ tầng.
GIẢM THIỂU CHI PHÍ RUNNING &
MAINTAINING DATA CENTER
Cloud giúp cho bạn tập trung đáp ứng vào yêu cầu
của khách hàng (end-user) thay vì tập trung vào các
vấn đề của Server.
GO GLOBAL TRONG VÀI PHÚT
Chỉ bằng vài click, bạn có thể release 1 service ra
internet với độ trể thấp, hạ tầng ổn định & tối ưu
cost
AWS CÓ GÌ ?
PERFORMANCE
STEP 01
AVAILABILITY
STEP 02
SCALABILITY
STEP 03
Result
LOAD BALANCER
STEP 01
SCALING
STEP 02
CDN
STEP 03
CACHING
STEP 04
STATELESS
STEP 05
SHARDING
STEP 06
Result
Elastic Load Balancer
Cân Bằng Tải là việc phân bố đồng đều lưu lượng truy cập giữa hai hay nhiều các máy chủ
có cùng chức năng trong cùng một hệ thống. Bằng cách đó, sẽ giúp cho hệ thống giảm
thiểu tối đa tình trạng một máy chủ bị quá tải và ngưng hoạt động. hoặc khi một máy chủ
gặp sự cố, cân bằng tải sẽ chỉ đạo phân phối công việc của máy chủ đó cho các máy chủ
còn lại, đẩy thời gian uptime của hệ thống lên cao nhất và cải thiện năng suất hoạt động
tổng thể
Xây dựng một Elastic Load Balancer
Giả sử mình đã có 2 instances chạy 2 web
app đơn giản như sau
Mình sẽ tạo một load balancer để cân bằng
tải giữa 2 máy đó
Xây dựng một Elastic Load Balancer
Step 1: Define Load Balancer
Xây dựng một Elastic Load Balancer
Step 2: Assign Security Groups
Xây dựng một Elastic Load Balancer
Step 3: Configure Health Check
Xây dựng một Elastic Load Balancer
Step 4: Add EC2 Instances
Xây dựng một Elastic Load Balancer
Step 5: Review
Xây dựng một Elastic Load Balancer
Kết quả
ELASTIC LOAD BALANCER
LOAD BALANCER
STEP 01
SCALING
STEP 02
CDN
STEP 03
CACHING
STEP 04
STATELESS
STEP 05
SHARDING
STEP 06
Result
• Là công cụ mã nguồn mở dùng để quản lý cài
đặt, cấu hình hệ thống một cách tập trung và
cho phép thực thi câu lệnh điều khiển.
• Sử dụng SSH (hoặc Powershell) và các module
được viết bằng ngôn ngữ Python để điểu
khiển hệ thống.
• Sử dụng định dạng JSON để hiển thị thông tin
và sử dụng YAML (Yet Another Markup
Language) để xây dựng cấu trúc mô tả hệ
thống
https://www.ansible.com/
• Việc triển khai và quản lý servers một
cách đáng tin cậy và hiểu quả không phải
là một công việc đơn giản
• Các quản trị viên thường phải quản lý
servers một cách thủ công từ những
công việc như cài đặt phần mềm, thay
đổi cấu hình và quản lý các services
• Với các hệ thống phức tạp với hàng trăm
servers, việc quản lý như vậy là không
hiểu quả (nêu không muốn nói là không
thể) và thường gây ra lỗi.
§ Clear & Simple :
§ Dễ viết
§ Dễ học
§ Không yêu cầu viết code
§ ....
§ Secure: Ansible sử dụng SSH để
quản lý các hosts.
TẠI SAO LẠI SỬ DỤNG ANSIBLE ?
SỬ DỤNG ANSIBLE
SỬ DỤNG ANSIBLE
AUTO SCALING
Phương pháp giúp tự động mở rộng hoặc giảm thiểu số lượng các
tài nguyên máy tính được phân phối cho ứng dụng vào bất kỳ thời
điểm nào theo nhu cầu sử dụng.
ƯU ĐIỂM CỦA AUTO SCALING
• Tiết kiệm tiền điện,
chi phí vận hành
• Chi phí thấp
• Đảm bảo UPTIME • Tính sẵn sàng cao
CÁC PHƯƠNG PHÁP AUTO SCALING PHỔ BIẾN
Số lượng công
việc đang chờ
Mở rộng dựa trên
số lượng yêu cầu đến
Thời gian công việc
chờ xử lý
ELASTIC BEANSTALK
Tiết kiệm thời gian triển khai auto scaling
90%
ELASTIC BEANSTALK
AWS Elastic Beanstalk là dịch vụ dễ sử
dụng, dùng để triển khai và mở rộng các
ứng dụng web và dịch vụ được phát triển
trên các máy chủ quen thuộc như Apache,
Nginx, Passenger với Java, .NET, PHP,
Node.js, Python, Ruby, Go và Docker , và IIS.
Bạn chỉ cần upload project của mình lên và
Elastic Beanstalk tự động xử lý việc triển
khai, từ việc cung cấp dung lượng, cân bằng
tải, tự động mở rộng theo dõi tình trạng
ứng dụng. Đồng thời, bạn vẫn giữ toàn
quyền kiểm soát các tài nguyên AWS cung
cấp cho ứng dụng của bạn và có thể truy
cập các tài nguyên cơ bản bất cứ lúc nào.
ELASTIC BEANSTALK
ELASTIC BEANSTALK
ELASTIC BEANSTALK
Step 1: Đặt tên cho ứng dụng & chọn Platform
ELASTIC BEANSTALK
Step 2: Custom configuration
ELASTIC BEANSTALK
Step 3: Auto Scaling Group
ELASTIC BEANSTALK
Step 4: Config load balancer
ELASTIC BEANSTALK
Step 5: Config Rolling updates and deployments
ELASTIC BEANSTALK
ELASTIC LOAD BALANCER
ELASTIC BEANSTALK
LOAD BALANCER
STEP 01
SCALING
STEP 02
CDN
STEP 03
CACHING
STEP 04
STATELESS
STEP 05
SHARDING
STEP 06
Result
CONTENT DELIVERY
NETWORK
Mạng lưới gồm nhiều Server được triển khai tại nhiều Data center
khác nhau. Mục tiêu của CDN là phục vụ User với tính sẵn sàng và
ổn định cao. Ngày nay, CDN được dùng để phân phối nội dung rất
phổ biến, với nhiều loại nội dung khác nhau, bao gồm Web (chữ,
hình ảnh và script), các đối tượng có thể download được (Media
file, software, tài liệu), Ứng dụng, live-stream media, và cả mạng
xã hội
Tăng tốc độ tải của hệ thống
Tăng tính bảo mật
Chống DDOS
Caching, tiết kiệm băng thông
Tăng tính ổn định của hệ thống
MaxCDN
CloudFlare
Akamai Edge
Amazon CloudFront
Fastly
CLOUDFLARE PRCING
CLOUDFLARE COMPARE
ELASTIC LOAD BALANCER
ELASTIC BEANSTALK
CLOUDFLARE
LOAD BALANCER
STEP 01
SCALING
STEP 02
CDN
STEP 03
CACHING
STEP 04
STATELESS
STEP 05
SHARDING
STEP 06
Result
CACHING
q Cải thiện tốc độ, các yêu cầu gần như có thể đáp ứng tức
thời.
q Giảm thiểu băng thông, giảm thiểu hoạt động mạng bị lặp lại
nhiều lần không cần thiết.
q Tăng hiệu suất phần cứng, tăng hiệu suất, giảm thiểu các xử
lý phải thông qua CPU.
q Đáp ứng nhu cầu truy cập khi mạng bị gián đoạn.
q Đáp ứng lưu lượng truy cập lớn
10x
ELASTIC LOAD BALANCER
ELASTICACHE
ELASTIC BEANSTALK
CLOUDFLARE
LOAD BALANCER
STEP 01
SCALING
STEP 02
CDN
STEP 03
CACHING
STEP 04
STATELESS
STEP 05
SHARDING
STEP 06
Result
STATELESS
Tình nghĩa đôi ta chỉ thế thôi
STATELESS
Tình anh vẫn trao về em
STATEFUL
Stateless là thiết kế không lưu dữ liệu của client trên server. Có
nghĩa là sau khi client gửi dữ liệu lên server, server thực thi xong,
trả kết quả thì “quan hệ” giữa client và server bị “cắt đứt” – server
không lưu bất cứ dữ liệu gì của client
Stateful là một thiết kế ngược lại, chúng ta cần server lưu dữ liệu
của client, điều đó đồng nghĩa với việc ràng buộc giữa client và
server vẫn được giữ sau mỗi request (yêu cầu) của client. Data
được lưu lại phía server có thể làm input parameters cho lần kế
tiếp
AWS LAMBDA
CÁC LOẠI CONTENT CÓ TRONG 1 WEBSITE
ỨNG DỤNG LAMBDA CHO RESIZE ẢNH
ELASTIC LOAD BALANCER
ELASTICACHE
ELASTIC BEANSTALK
LAMBDA
CLOUDFLARE
LOAD BALANCER
STEP 01
SCALING
STEP 02
CDN
STEP 03
CACHING
STEP 04
STATELESS
STEP 05
SHARDING
STEP 06
Result
SHARDING
Sharding là một tiến trình lưu giữ các bản ghi dữ liệu qua
nhiều thiết bị để đáp ứng yêu cầu về sự gia tăng dữ liệu.
Khi kích cỡ của dữ liệu tăng lên, một thiết bị đơn ( 1
database hay 1 bảng) không thể đủ để lưu giữ dữ liệu.
Sharding giải quyết vấn đề này với việc mở rộng phạm vi
theo bề ngang (horizontal scaling). Với Sharding, bạn bổ
sung thêm nhiều thiết bị để hỗ trợ cho việc gia tăng dữ
liệu và các yêu cầu của các hoạt động đọc và ghi
Elastic Load Balancer
ElastiCache
Elastic Beanstalk
Lambda
CloudFlare
DynamoDB
LOAD BALANCER
STEP 01
SCALING
STEP 02
CDN
STEP 03
CACHING
STEP 04
STATELESS
STEP 05
SHARDING
STEP 06
Result
KIỂM TRA TRANG WEB NHANH HAY CHẬM
THANK YOU FOR WATCHING
AnhDMT@relipasoft.com

More Related Content

Similar to [Relipa Software] Giới thiệu về AWS - Áp dụng xây dựng website 1M requests

Tailieu.vncty.com giao-trinh-sql-2000
Tailieu.vncty.com   giao-trinh-sql-2000Tailieu.vncty.com   giao-trinh-sql-2000
Tailieu.vncty.com giao-trinh-sql-2000Trần Đức Anh
 
Giải pháp hệ thống high availability mail exchange 2016
Giải pháp hệ thống high availability mail exchange 2016Giải pháp hệ thống high availability mail exchange 2016
Giải pháp hệ thống high availability mail exchange 2016laonap166
 
Web Architecture
Web ArchitectureWeb Architecture
Web ArchitectureHiep Luong
 
Cai dat squid proxy trong suot
Cai dat  squid proxy trong suotCai dat  squid proxy trong suot
Cai dat squid proxy trong suotTHT
 
Software Stack là gì.pdf
Software Stack là gì.pdfSoftware Stack là gì.pdf
Software Stack là gì.pdfGrowup Work
 
GIỚI THIỆU CÁC DẠNG MÁY CHỦ SERVER
GIỚI THIỆU CÁC DẠNG MÁY CHỦ SERVERGIỚI THIỆU CÁC DẠNG MÁY CHỦ SERVER
GIỚI THIỆU CÁC DẠNG MÁY CHỦ SERVERPMC WEB
 
Khac nhau bridge & route cho cấu hình cisco 878 megawan
Khac nhau bridge & route cho cấu hình cisco 878 megawanKhac nhau bridge & route cho cấu hình cisco 878 megawan
Khac nhau bridge & route cho cấu hình cisco 878 megawanthanhthat1
 
Tìm hiểu về cloud computing
Tìm hiểu về cloud computingTìm hiểu về cloud computing
Tìm hiểu về cloud computinglanhuonga3
 
Triển khai nhiều domain controller chạy song song trên windows server 2012
Triển khai nhiều domain controller chạy song song trên windows server 2012Triển khai nhiều domain controller chạy song song trên windows server 2012
Triển khai nhiều domain controller chạy song song trên windows server 2012laonap166
 
chuong 1 - Tong quan ve Lap trinh mang.ppt
chuong 1 - Tong quan ve Lap trinh mang.pptchuong 1 - Tong quan ve Lap trinh mang.ppt
chuong 1 - Tong quan ve Lap trinh mang.pptkhamgo1191
 
ITLC Hanoi - Triển khai ceph hướng tới Cloud Storage và hỗ trợ OpenStack - du...
ITLC Hanoi - Triển khai ceph hướng tới Cloud Storage và hỗ trợ OpenStack - du...ITLC Hanoi - Triển khai ceph hướng tới Cloud Storage và hỗ trợ OpenStack - du...
ITLC Hanoi - Triển khai ceph hướng tới Cloud Storage và hỗ trợ OpenStack - du...Le Cuong
 
Baocao ltm
Baocao ltmBaocao ltm
Baocao ltmptlong96
 
Progressive web apps - Linh Nguyen
Progressive web apps  - Linh NguyenProgressive web apps  - Linh Nguyen
Progressive web apps - Linh NguyenTu Le Dinh
 

Similar to [Relipa Software] Giới thiệu về AWS - Áp dụng xây dựng website 1M requests (20)

Scaling php
Scaling phpScaling php
Scaling php
 
Tailieu.vncty.com giao-trinh-sql-2000
Tailieu.vncty.com   giao-trinh-sql-2000Tailieu.vncty.com   giao-trinh-sql-2000
Tailieu.vncty.com giao-trinh-sql-2000
 
Tu hoc SQL 2000
Tu hoc SQL 2000Tu hoc SQL 2000
Tu hoc SQL 2000
 
Giải pháp hệ thống high availability mail exchange 2016
Giải pháp hệ thống high availability mail exchange 2016Giải pháp hệ thống high availability mail exchange 2016
Giải pháp hệ thống high availability mail exchange 2016
 
Web Architecture
Web ArchitectureWeb Architecture
Web Architecture
 
Giới thiệu WCF
Giới thiệu WCFGiới thiệu WCF
Giới thiệu WCF
 
Cai dat squid proxy trong suot
Cai dat  squid proxy trong suotCai dat  squid proxy trong suot
Cai dat squid proxy trong suot
 
Software Stack là gì.pdf
Software Stack là gì.pdfSoftware Stack là gì.pdf
Software Stack là gì.pdf
 
Điên toán đám mây
Điên toán đám mâyĐiên toán đám mây
Điên toán đám mây
 
GIỚI THIỆU CÁC DẠNG MÁY CHỦ SERVER
GIỚI THIỆU CÁC DẠNG MÁY CHỦ SERVERGIỚI THIỆU CÁC DẠNG MÁY CHỦ SERVER
GIỚI THIỆU CÁC DẠNG MÁY CHỦ SERVER
 
Nginx load balancing
Nginx load balancingNginx load balancing
Nginx load balancing
 
Khac nhau bridge & route cho cấu hình cisco 878 megawan
Khac nhau bridge & route cho cấu hình cisco 878 megawanKhac nhau bridge & route cho cấu hình cisco 878 megawan
Khac nhau bridge & route cho cấu hình cisco 878 megawan
 
Tìm hiểu về cloud computing
Tìm hiểu về cloud computingTìm hiểu về cloud computing
Tìm hiểu về cloud computing
 
5.spring.net
5.spring.net5.spring.net
5.spring.net
 
Triển khai nhiều domain controller chạy song song trên windows server 2012
Triển khai nhiều domain controller chạy song song trên windows server 2012Triển khai nhiều domain controller chạy song song trên windows server 2012
Triển khai nhiều domain controller chạy song song trên windows server 2012
 
chuong 1 - Tong quan ve Lap trinh mang.ppt
chuong 1 - Tong quan ve Lap trinh mang.pptchuong 1 - Tong quan ve Lap trinh mang.ppt
chuong 1 - Tong quan ve Lap trinh mang.ppt
 
ITLC Hanoi - Triển khai ceph hướng tới Cloud Storage và hỗ trợ OpenStack - du...
ITLC Hanoi - Triển khai ceph hướng tới Cloud Storage và hỗ trợ OpenStack - du...ITLC Hanoi - Triển khai ceph hướng tới Cloud Storage và hỗ trợ OpenStack - du...
ITLC Hanoi - Triển khai ceph hướng tới Cloud Storage và hỗ trợ OpenStack - du...
 
Windows Aruze
Windows AruzeWindows Aruze
Windows Aruze
 
Baocao ltm
Baocao ltmBaocao ltm
Baocao ltm
 
Progressive web apps - Linh Nguyen
Progressive web apps  - Linh NguyenProgressive web apps  - Linh Nguyen
Progressive web apps - Linh Nguyen
 

[Relipa Software] Giới thiệu về AWS - Áp dụng xây dựng website 1M requests

  • 1. Handling 1 MILLION requests per day with AWS AnhDMT@relipasoft.com
  • 2. WE WANT TO HEAR FROM YOU CONTACT DETAILS Tel.: +84 966.027.391 Mail: anhdmt@relipasoft.com BKHN-K54 We’d love to hear from you! CONNECT WITH ME ON https://www.facebook.com/S.Foolish.S.Hungry
  • 4. - SẾP BẢO LÀM, KHÔNG ĐƯỢC THÌ NGHỈ VIỆC ĐI ! - EM LÀM VÌ ĐAM MÊ (?)
  • 5.
  • 6. WHAT TỐC ĐỘ PHẢN HỒI PERFORMANCE KHẢ NĂNG HOẠT ĐỘNG AVAILABILITY KHẢ NĂNG MỞ RỘNG SCALABILITY Tốc độ phản hồi của hệ thống, được đo bằng đơn vị thời gian, có thể là giây hoặc mili giây. Hệ thống hoạt động càng nhanh thì người dùng làm được nhiều việc hơn, đem lại lợi nhuận cao hơn Chỉ khả năng hoạt động của hệ thống vào mọi thời điểm, được đo bằng uptime. Ví dụ như trong 100 ngày, hệ thống hoạt động 99 ngày còn 1 ngày die thì uptime là 99/100 = 99% Khả năng mở rộng của hệ thống. Liệu khi có đông user hơn thì hệ thống có thể mở rộng (scale) được không? Việc scale có thể thực hiện dễ dàng, nhanh chóng hay không? Chi phí scale như thế nào?
  • 7. ĐẢM BẢO PERFOMANCE CÂN BẰNG TẢI LOAD BALANCER Thiết bị (phần cứng hoặc phần mềm) cho phép cân bằng tải đến nhiều server. CACHING Tăng tốc độ đọc dữ liệu, bằng cách lưu dữ liệu sẵn vào cache server để tăng tốc độ đọc ở những lần sau. CONTENT DELIVERY NETWORK CDN Mạng lưới các server được phân bố trên nhiều khu vực
  • 8. ĐẢM BẢO AVAILABILITY MASTER/SLAVE Thay vì chỉ chạy 1 server, ta chạy 2 hoặc nhiều hơn. 1 server chính gọi là master, các server còn lại là slave. Khi master có vấn đề (sập nguồn hay crash), một slave sẽ được chỉ định để lên thay thế master. REPLICATION Thường được kết hợp chung với Load Balancer. Code của ứng dụng sẽ được deploy lên nhiều server. Khi có 1 server die, load balancer sẽ chuyển request sang server khác, đảm bảo request vẫn được thực hiện.
  • 9. ĐẢM BẢO SCALABILITY VERTICAL SCALING Tăng sức mạnh phần cứng cho server bằng cách… lắm thêm RAM, lắm thêm chip, thay ổ cứng bằng ổ SSD. STATELESS Với application server (server chứa code) cần đảm bảo code ở server là stateless (không lưu trạng thái) HORIZONTAL SCALING Thay vì tăng sức mạnh cho 1 server, ta thêm nhiều server vào hệ thống và chạy cùng lúc. SHARDING Chia database thành các mẫu shard nhỏ (theo IP, theo địa điểm vật lý của người dùng,…)
  • 10.
  • 11. AWS NÓI GÌ ? COST AWS nói “bạn chỉ trả những gì mà bạn sử dụng” KHÔNG CÒN LO LẮNG VỀ CAPACITY Không cần phải dự đoán trước capacity của hệ thống, bạn có thể dễ dàng stop các service idle, hoặc start các service nhanh chóng nếu có sự gia tăng đột biến. KHẢ NĂNG SCALE Scale là yêu cầu tối thiểu của 1 hệ thống Cloud, đáp ứng nhu cầu mở rộng liên tục và dễ dàng NHANH CHÓNG VÀ TỐC ĐỘ Trong môi trường cloud, IT member chỉ cần click trong vài phút để đáp ứng nhu cầu của công ty thay vì mất vài tuần để chuẩn bị hạ tầng. GIẢM THIỂU CHI PHÍ RUNNING & MAINTAINING DATA CENTER Cloud giúp cho bạn tập trung đáp ứng vào yêu cầu của khách hàng (end-user) thay vì tập trung vào các vấn đề của Server. GO GLOBAL TRONG VÀI PHÚT Chỉ bằng vài click, bạn có thể release 1 service ra internet với độ trể thấp, hạ tầng ổn định & tối ưu cost
  • 13.
  • 15. LOAD BALANCER STEP 01 SCALING STEP 02 CDN STEP 03 CACHING STEP 04 STATELESS STEP 05 SHARDING STEP 06 Result
  • 16. Elastic Load Balancer Cân Bằng Tải là việc phân bố đồng đều lưu lượng truy cập giữa hai hay nhiều các máy chủ có cùng chức năng trong cùng một hệ thống. Bằng cách đó, sẽ giúp cho hệ thống giảm thiểu tối đa tình trạng một máy chủ bị quá tải và ngưng hoạt động. hoặc khi một máy chủ gặp sự cố, cân bằng tải sẽ chỉ đạo phân phối công việc của máy chủ đó cho các máy chủ còn lại, đẩy thời gian uptime của hệ thống lên cao nhất và cải thiện năng suất hoạt động tổng thể
  • 17. Xây dựng một Elastic Load Balancer Giả sử mình đã có 2 instances chạy 2 web app đơn giản như sau Mình sẽ tạo một load balancer để cân bằng tải giữa 2 máy đó
  • 18. Xây dựng một Elastic Load Balancer Step 1: Define Load Balancer
  • 19. Xây dựng một Elastic Load Balancer Step 2: Assign Security Groups
  • 20. Xây dựng một Elastic Load Balancer Step 3: Configure Health Check
  • 21. Xây dựng một Elastic Load Balancer Step 4: Add EC2 Instances
  • 22. Xây dựng một Elastic Load Balancer Step 5: Review
  • 23. Xây dựng một Elastic Load Balancer Kết quả
  • 24. ELASTIC LOAD BALANCER LOAD BALANCER STEP 01 SCALING STEP 02 CDN STEP 03 CACHING STEP 04 STATELESS STEP 05 SHARDING STEP 06 Result
  • 25. • Là công cụ mã nguồn mở dùng để quản lý cài đặt, cấu hình hệ thống một cách tập trung và cho phép thực thi câu lệnh điều khiển. • Sử dụng SSH (hoặc Powershell) và các module được viết bằng ngôn ngữ Python để điểu khiển hệ thống. • Sử dụng định dạng JSON để hiển thị thông tin và sử dụng YAML (Yet Another Markup Language) để xây dựng cấu trúc mô tả hệ thống https://www.ansible.com/
  • 26. • Việc triển khai và quản lý servers một cách đáng tin cậy và hiểu quả không phải là một công việc đơn giản • Các quản trị viên thường phải quản lý servers một cách thủ công từ những công việc như cài đặt phần mềm, thay đổi cấu hình và quản lý các services • Với các hệ thống phức tạp với hàng trăm servers, việc quản lý như vậy là không hiểu quả (nêu không muốn nói là không thể) và thường gây ra lỗi.
  • 27. § Clear & Simple : § Dễ viết § Dễ học § Không yêu cầu viết code § .... § Secure: Ansible sử dụng SSH để quản lý các hosts. TẠI SAO LẠI SỬ DỤNG ANSIBLE ?
  • 30. AUTO SCALING Phương pháp giúp tự động mở rộng hoặc giảm thiểu số lượng các tài nguyên máy tính được phân phối cho ứng dụng vào bất kỳ thời điểm nào theo nhu cầu sử dụng.
  • 31. ƯU ĐIỂM CỦA AUTO SCALING • Tiết kiệm tiền điện, chi phí vận hành • Chi phí thấp • Đảm bảo UPTIME • Tính sẵn sàng cao
  • 32. CÁC PHƯƠNG PHÁP AUTO SCALING PHỔ BIẾN Số lượng công việc đang chờ Mở rộng dựa trên số lượng yêu cầu đến Thời gian công việc chờ xử lý
  • 33. ELASTIC BEANSTALK Tiết kiệm thời gian triển khai auto scaling 90%
  • 34. ELASTIC BEANSTALK AWS Elastic Beanstalk là dịch vụ dễ sử dụng, dùng để triển khai và mở rộng các ứng dụng web và dịch vụ được phát triển trên các máy chủ quen thuộc như Apache, Nginx, Passenger với Java, .NET, PHP, Node.js, Python, Ruby, Go và Docker , và IIS. Bạn chỉ cần upload project của mình lên và Elastic Beanstalk tự động xử lý việc triển khai, từ việc cung cấp dung lượng, cân bằng tải, tự động mở rộng theo dõi tình trạng ứng dụng. Đồng thời, bạn vẫn giữ toàn quyền kiểm soát các tài nguyên AWS cung cấp cho ứng dụng của bạn và có thể truy cập các tài nguyên cơ bản bất cứ lúc nào.
  • 37. ELASTIC BEANSTALK Step 1: Đặt tên cho ứng dụng & chọn Platform
  • 38. ELASTIC BEANSTALK Step 2: Custom configuration
  • 39. ELASTIC BEANSTALK Step 3: Auto Scaling Group
  • 40. ELASTIC BEANSTALK Step 4: Config load balancer
  • 41. ELASTIC BEANSTALK Step 5: Config Rolling updates and deployments
  • 43. ELASTIC LOAD BALANCER ELASTIC BEANSTALK LOAD BALANCER STEP 01 SCALING STEP 02 CDN STEP 03 CACHING STEP 04 STATELESS STEP 05 SHARDING STEP 06 Result
  • 44. CONTENT DELIVERY NETWORK Mạng lưới gồm nhiều Server được triển khai tại nhiều Data center khác nhau. Mục tiêu của CDN là phục vụ User với tính sẵn sàng và ổn định cao. Ngày nay, CDN được dùng để phân phối nội dung rất phổ biến, với nhiều loại nội dung khác nhau, bao gồm Web (chữ, hình ảnh và script), các đối tượng có thể download được (Media file, software, tài liệu), Ứng dụng, live-stream media, và cả mạng xã hội
  • 45.
  • 46. Tăng tốc độ tải của hệ thống Tăng tính bảo mật Chống DDOS Caching, tiết kiệm băng thông Tăng tính ổn định của hệ thống
  • 48.
  • 51.
  • 52. ELASTIC LOAD BALANCER ELASTIC BEANSTALK CLOUDFLARE LOAD BALANCER STEP 01 SCALING STEP 02 CDN STEP 03 CACHING STEP 04 STATELESS STEP 05 SHARDING STEP 06 Result
  • 53. CACHING q Cải thiện tốc độ, các yêu cầu gần như có thể đáp ứng tức thời. q Giảm thiểu băng thông, giảm thiểu hoạt động mạng bị lặp lại nhiều lần không cần thiết. q Tăng hiệu suất phần cứng, tăng hiệu suất, giảm thiểu các xử lý phải thông qua CPU. q Đáp ứng nhu cầu truy cập khi mạng bị gián đoạn. q Đáp ứng lưu lượng truy cập lớn 10x
  • 54.
  • 55.
  • 56.
  • 57. ELASTIC LOAD BALANCER ELASTICACHE ELASTIC BEANSTALK CLOUDFLARE LOAD BALANCER STEP 01 SCALING STEP 02 CDN STEP 03 CACHING STEP 04 STATELESS STEP 05 SHARDING STEP 06 Result
  • 59. Tình nghĩa đôi ta chỉ thế thôi STATELESS Tình anh vẫn trao về em STATEFUL Stateless là thiết kế không lưu dữ liệu của client trên server. Có nghĩa là sau khi client gửi dữ liệu lên server, server thực thi xong, trả kết quả thì “quan hệ” giữa client và server bị “cắt đứt” – server không lưu bất cứ dữ liệu gì của client Stateful là một thiết kế ngược lại, chúng ta cần server lưu dữ liệu của client, điều đó đồng nghĩa với việc ràng buộc giữa client và server vẫn được giữ sau mỗi request (yêu cầu) của client. Data được lưu lại phía server có thể làm input parameters cho lần kế tiếp
  • 61.
  • 62. CÁC LOẠI CONTENT CÓ TRONG 1 WEBSITE
  • 63. ỨNG DỤNG LAMBDA CHO RESIZE ẢNH
  • 64. ELASTIC LOAD BALANCER ELASTICACHE ELASTIC BEANSTALK LAMBDA CLOUDFLARE LOAD BALANCER STEP 01 SCALING STEP 02 CDN STEP 03 CACHING STEP 04 STATELESS STEP 05 SHARDING STEP 06 Result
  • 66. Sharding là một tiến trình lưu giữ các bản ghi dữ liệu qua nhiều thiết bị để đáp ứng yêu cầu về sự gia tăng dữ liệu. Khi kích cỡ của dữ liệu tăng lên, một thiết bị đơn ( 1 database hay 1 bảng) không thể đủ để lưu giữ dữ liệu. Sharding giải quyết vấn đề này với việc mở rộng phạm vi theo bề ngang (horizontal scaling). Với Sharding, bạn bổ sung thêm nhiều thiết bị để hỗ trợ cho việc gia tăng dữ liệu và các yêu cầu của các hoạt động đọc và ghi
  • 67.
  • 68.
  • 69.
  • 70. Elastic Load Balancer ElastiCache Elastic Beanstalk Lambda CloudFlare DynamoDB LOAD BALANCER STEP 01 SCALING STEP 02 CDN STEP 03 CACHING STEP 04 STATELESS STEP 05 SHARDING STEP 06 Result
  • 71.
  • 72. KIỂM TRA TRANG WEB NHANH HAY CHẬM
  • 73. THANK YOU FOR WATCHING AnhDMT@relipasoft.com