<commit_before># Báo cáo tuần 6
#### [HuanPC] Auto - scaling team
##### Tìm hiểu mesosphere và sử dụng Marathon  triển khai  application  trong  docker

**I.  Đôi nét về Mesosphere**

######Mososphere

- Mesosphere là một giải pháp phần mềm được mở rộng từ Apache Mesos nhằm  mục đích  cung cấp một cách thức quản lý server infrastructures, tập trung vào mô hình nhiều cluster.
- Mesosphere là sự kết hợp của các thành phần Mesos, Marathon, Chronos.
- Mesosphere cung cấp giải pháp đơn giản để thực hiện việc "scale" một application.
- Mesosphere cung cấp các tính năng:
	- Application scheduling 
	- Scaling
	- Fault - tolerance 
	- Self - healing
	- Application service discovery
	- Port unification
	- End point elasticity

######Apache Mesos

Tổng quan
- Apache Mesos là một trình quản lý cluster mã nguồn mở, làm đơn giản hóa quá trình triển khai một ứn dụng trên một "scalable cluster of servers" 
- Mesos cung cấp các tính năng như:
	- Khả năng co dãn tới 10,000 node
	- Tách biệt tài nguyên cho từng task thông qua Linux Container
	- Sử dụng hiệu quả tài nguyên CPU, memory thông qua cơ chế scheduling
	- Apache ZooKeeper
	- Web UI cho việc theo dõi trạng thái của cluster

Kiến trúc
![Mesos_architecture](https://github.com/huanpc/lab_clound_computing/blob/master/docs/learning-by-doing/week06-mesos-and-marathon/images/mesos_architecture.png)

- Master deamon:  chạy trên master node và quản lý các slave deamon
- Slave daemon: chạy trên slave node và thực thi các task thuộc về các framework
- Framework: thường là một Mesos application, bao gồm:
	- Scheduler: đăng ký với Master deamon nhận các resource offer
	- Một hoặc nhiều bộ Executor: thực thi các task trên Slave daemon
- Offer: một danh sách tài nguyên CPU, memory khả dụng của một slave node. Các slave node gửi các offer tới master node, và master node sẽ chuyển chúng đến các framework đã đăng ký trước.
- Task: một đơn vị thực thi trên một slave node, được lên kế hoạch thực thi bởi framework
-  Apache ZooKeeper: kết hợp các master node. Ít nhất 3 master node để đạt được khả năng *highly-available configuration*
> Kiến trúc này cho phép Mesos chia sẻ  tài nguyên của các cluster cho các application.
> Lượng tài nguyên được phân bố tới một framework phụ thuộc vào các policy được thiết lập trên master node, và bộ framework scheduler sẽ quyết định sử dụng  offer nào. Sau đó, Mesos Master sẽ khởi chạy các task trên các Mesos slave thích hợp. Một khi task được hoàn thành, các tài nguyên sử dụng sẽ được giải phóng, chu trình gửi-nhận-xử lý các offer sẽ lại tiếp tục để lên lịch thực thi các task.
*Ví du về *Resource Offer* *
![Resource offer]()

######Marathon

- Marathon là một framework cho Mesos, được thiết kế để triển khai "long-running application".
-  Thay thế cho "traditional init system" trong mô hình Mesosphere.
- Đơn giản hóa việc thực thi một ứng dụng trên môi trường cluster với các đặc điểm:
	- High availability
	- Node constraint
	- Application health check
	- REST API for service discovery
	- Web user interface
	- Scaling
	- Healing capabitlities
Tham khảo [https://github.com/mesosphere/marathon]

######Chronos

- Chronos là một framework cho Mesos, phát triển bởi Airbnb, là sự thay thế cho `cron` (trong LINUX). <commit_msg>Update 02-report.md<commit_after># Báo cáo tuần 6
#### [HuanPC] Auto - scaling team
##### Tìm hiểu mesosphere và sử dụng Marathon  triển khai  application  trong  docker

**I.  Đôi nét về Mesosphere**

######Mososphere

- Mesosphere là một giải pháp phần mềm được mở rộng từ Apache Mesos nhằm  mục đích  cung cấp một cách thức quản lý server infrastructures, tập trung vào mô hình nhiều cluster.
- Mesosphere là sự kết hợp của các thành phần Mesos, Marathon, Chronos.
- Mesosphere cung cấp giải pháp đơn giản để thực hiện việc "scale" một application.
- Mesosphere cung cấp các tính năng:
	- Application scheduling 
	- Scaling
	- Fault - tolerance 
	- Self - healing
	- Application service discovery
	- Port unification
	- End point elasticity

######Apache Mesos

Tổng quan
- Apache Mesos là một trình quản lý cluster mã nguồn mở, làm đơn giản hóa quá trình triển khai một ứn dụng trên một "scalable cluster of servers" 
- Mesos cung cấp các tính năng như:
	- Khả năng co dãn tới 10,000 node
	- Tách biệt tài nguyên cho từng task thông qua Linux Container
	- Sử dụng hiệu quả tài nguyên CPU, memory thông qua cơ chế scheduling
	- Apache ZooKeeper
	- Web UI cho việc theo dõi trạng thái của cluster

Kiến trúc
![Mesos_architecture](https://github.com/huanpc/lab_clound_computing/blob/master/docs/learning-by-doing/week06-mesos-and-marathon/images/mesos_architecture.png)

- Master deamon:  chạy trên master node và quản lý các slave deamon
- Slave daemon: chạy trên slave node và thực thi các task thuộc về các framework
- Framework: thường là một Mesos application, bao gồm:
	- Scheduler: đăng ký với Master deamon nhận các resource offer
	- Một hoặc nhiều bộ Executor: thực thi các task trên Slave daemon
- Offer: một danh sách tài nguyên CPU, memory khả dụng của một slave node. Các slave node gửi các offer tới master node, và master node sẽ chuyển chúng đến các framework đã đăng ký trước.
- Task: một đơn vị thực thi trên một slave node, được lên kế hoạch thực thi bởi framework
-  Apache ZooKeeper: kết hợp các master node. Ít nhất 3 master node để đạt được khả năng *highly-available configuration*
> Kiến trúc này cho phép Mesos chia sẻ  tài nguyên của các cluster cho các application.
> Lượng tài nguyên được phân bố tới một framework phụ thuộc vào các policy được thiết lập trên master node, và bộ framework scheduler sẽ quyết định sử dụng  offer nào. Sau đó, Mesos Master sẽ khởi chạy các task trên các Mesos slave thích hợp. Một khi task được hoàn thành, các tài nguyên sử dụng sẽ được giải phóng, chu trình gửi-nhận-xử lý các offer sẽ lại tiếp tục để lên lịch thực thi các task.

*Ví du về Resource Offer*
![Resource offer]()

######Marathon

- Marathon là một framework cho Mesos, được thiết kế để triển khai "long-running application".
-  Thay thế cho "traditional init system" trong mô hình Mesosphere.
- Đơn giản hóa việc thực thi một ứng dụng trên môi trường cluster với các đặc điểm:
	- High availability
	- Node constraint
	- Application health check
	- REST API for service discovery
	- Web user interface
	- Scaling
	- Healing capabitlities
Tham khảo [https://github.com/mesosphere/marathon]

######Chronos

- Chronos là một framework cho Mesos, phát triển bởi Airbnb, là sự thay thế cho `cron` (trong LINUX). 
{'fraction_non_alphanumeric': 0.05787681832250077, 'fraction_numerical': 0.0030950170225936243, 'mean_word_length': 3.75920471281296, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7658663', 'n_tokens_mistral': 3002, 'n_tokens_neox': 2903, 'n_words': 1009}