<div dir="ltr"><div><div><div>Hi các anh,<br><br></div>Chiều mai em có thể qua FDS để họp bàn luôn được ạ.<br></div></div><div><br></div>PS: Em có một yêu cầu nhỏ là anh Tuấn Anh cho họp phòng nó sáng sáng chút, toàn dẫn vào phòng tối họp thôi.</div><div class="gmail_extra"><br><div class="gmail_quote">2017-03-28 10:34 GMT+07:00 Le Phu Cuong <span dir="ltr"><<a href="mailto:cuonglp@fds.vn" target="_blank">cuonglp@fds.vn</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Gửi Hiếu, anh Tuấn Anh và BKT<div><br></div><div>Việc họp trao đổi sâu để đưa ra các công việc cụ thể là rất cần thiết. Trong tuần này Hiếu có bố trí được thời gian không? Anh em sẽ theo thời gian của Hiếu.<br><div>
<div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;word-wrap:break-word"><br class="m_7676119971763251025Apple-interchange-newline">Trân trọng</div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;word-wrap:break-word"><br></div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;word-wrap:break-word">Lê Phú Cường</div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">Điện thoại: 0984 739 663</div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">------------------------------<wbr>------------------------------<wbr>--</div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">CÔNG TY CỔ PHẦN PHÁT TRIỂN NGUỒN MỞ VÀ DỊCH VỤ FDS</div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">Tầng 5&8, toà nhà VAPA, ngõ 3, đường Tôn Thất Thuyết, Cầu Giấy, Hà Nội</div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">Website: <a href="http://www.fds.vn" target="_blank">www.fds.vn</a></div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">------------------------------<wbr>------------------------------<wbr>--</div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">OPENCPS - PHẦN MỀM LÕI DỊCH VỤ CÔNG NGUỒN MỞ</div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">Facebook: <a href="https://www.facebook.com/vietopencps" target="_blank">https://www.facebook.com/<wbr>vietopencps</a></div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">Demo: <a href="http://demo.opencps.vn/" target="_blank">http://demo.opencps.vn/</a></div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">Wiki: <a href="https://github.com/VietOpenCPS/doc/wiki" target="_blank">https://github.com/<wbr>VietOpenCPS/doc/wiki</a></div>
</div>
<br><div><blockquote type="cite"><div>Vào ngày 28-03-2017, lúc 10:31, Hieu LE <<a href="mailto:hieulq19@gmail.com" target="_blank">hieulq19@gmail.com</a>> đã viết:</div><br class="m_7676119971763251025Apple-interchange-newline"><div><div><div class="h5"><div dir="ltr" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><div><div><div>Hi anh Tuấn Anh và các anh BKT,<br><br></div>Nếu muốn đưa ra được tiêu chí kỹ thuật cho OpenCPS v2.0 mình cần phụ thuộc vào khả năng đáp ứng hiện tại của OpenCPS v1.0, khả năng của kiến trúc sắp tới để có thể ước lượng ra con số hợp lý.<br><br></div>Việc này nếu em ngồi qua máy tính và đưa ra một con số thì không khả thi và là chém gió, vậy nên em đề xuất anh em mình ngồi họp và dựa vào các con số hiện tại của OpenCPS 1.0 cùng các định hướng cụ thể tương lai về mặt kỹ thuật cho OpenCPS 2.0 để cùng tính toán ra chỉ tiêu hợp lý.<br><br></div>Em Hiếu.<br></div><div class="gmail_extra" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><br><div class="gmail_quote">2017-03-27 14:53 GMT+07:00 Ta Tuan Anh<span class="m_7676119971763251025Apple-converted-space"> </span><span dir="ltr"><<a href="mailto:anhtt@fds.vn" target="_blank">anhtt@fds.vn</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000"><p>Hi Hiếu và các bạn,</p><p>Vì hiện nay OpenCPS đang đề xuất nội dung để làm trong 18 tháng nên về mặt nguyên tắc mọi chi tiết quyết định làm theo hướng nào sẽ phải đưa ra trong qúa trình thực hiện. Tại thời điểm này chúng ta chỉ phải vạch ra những phương án kĩ thuật có thể quan tâm để thực hiện. Do vậy các đề xuất phương án khác nhau của Hiếu cứ viết đầy đủ vào mà chưa cần quyết định vội. <span class="m_7676119971763251025Apple-converted-space"> </span></p><p>Quan trọng vẫn là đưa ra được các tiêu chí kĩ thuật cần đạt được khi kết thúc nhiệm vụ. Tuy nhiên các tiêu chí chỉ nên đặt ở mức trung bình, vì nếu cao qúa thì có thể gặp khó khăn mà ta không thể thực hiện. Kể cả các tiêu chí về SLA cũng là do chúng ta tự đặt ra, ví dụ như về thời gian downtime, số CCU,...<span class="m_7676119971763251025Apple-converted-space"> </span><br></p><p>Hiện nay các hệ thống DVC trên thị trường chưa có tiêu chuẩn cụ thể nào, nên việc chỉ cần đưa ra được một tiêu chí định lượng cụ thể SLA cho hệ thống đã là thành công của dự án rồi. Qua đây nếu có thể anh em share một cái mẫu về tiêu chí kĩ thuật cần đáp ứng đối với một hệ thống đã chạy trên thực tế thì qúa tốt. Chỉ cần cho một hệ thống nhỏ vài trăm người dùng thôi cũng được.<span class="m_7676119971763251025Apple-converted-space"> </span><br></p><p>Ngoài ra OpenCPS v2 cũng sẽ được nâng cấp hoàn toàn lên Liferay 7 với kiến trúc OSGi. Do vậy sẽ phù hợp hơn với khả năng mô đun hóa, kiểm tra tự động các thành phần.<span class="m_7676119971763251025Apple-converted-space"> </span><br></p><p>Tuấn Anh<br></p><div><div class="m_7676119971763251025h5"><div class="m_7676119971763251025m_4679515418382370773moz-cite-prefix">On 03/27/2017 02:18 PM, Hieu LE wrote:<br></div><blockquote type="cite"><div dir="ltr"><div><div><div>Hi anh Tuấn Anh và các anh trong BKT OpenCPS,<br></div>(em không chắc mail em có gửi tới BKT được không vì em nhớ là em không nằm trong ML của BKT)<br><br></div>Được anh Tuấn Anh chỉ đích danh nên trước khi thảo được 1 file tài liệu (A4) về phương pháp tiếp cận và kỹ thuật, em xin nêu ý kiến draft và một số câu hỏi của em ở đây trước, mong các anh giải đáp giúp để có thể clear hơn về định hướng.<br><br></div>Các phần em để trong ngoặc đơn là nói về kỹ thuật, có thể bỏ qua để nắm về hướng tổng quan tốt hơn ạ.<br><div><div class="gmail_extra"><br><div class="gmail_quote">2017-03-27 10:27 GMT+07:00 Ta Tuan Anh<span class="m_7676119971763251025Apple-converted-space"> </span><span dir="ltr"><<a href="mailto:anhtt@fds.vn" target="_blank">anhtt@fds.vn</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><snipped><br><div><br>a) Kiểm thử tự động, tích hợp đóng gói phần mềm CI/CD<br></div></blockquote><div><br></div><div>Có 2 cách tiếp cận đối với mục CI/CD, một là sử dụng các dịch vụ online (như TravisCI hoặc CircleCI, trả thêm tiền để có hiệu năng chạy CI ổn định và tốt hơn); cách thứ 2 là tự xây dựng một cụm CI của riêng OpenCPS (dùng Jenkin hoặc Zuul).<br><br></div><div>Ưu điểm của cách 1 là tiết kiệm về chi phí và đã có PoC rồi (em, anh Khoa và Tú đã thử nghiệm với OpenCPS 1.8 chạy trên Travis), nhược điểm là sẽ khó customize và làm chủ hơn đối với các cách thức CI/CD phức tạp hơn về sau này.<br><br></div><div>Ưu điểm của cách 2 là mình hoàn toàn làm chủ về hạ tầng, kỹ thuật, nhược điểm là chi phí về mặt con người và vận hành sẽ tốn kém hơn.<br><br></div><div>Về kỹ thuật sâu hơn bên dưới, hiện tại mình đã ứng dụng Docker - đây là ở mức unit với service là OpenCPS, đối với OpenCPS v2.0 nên nâng lên một cấp về orchestration - có thể dùng kubernetes hoặc swarm để phục vụ cho các nhu cầu ở mục 2, 3, 4 bên dưới (update/upgrade, SLA...). Điều này cần OpenCPS v2.0 cần có một thiết kế về mặt kiến trúc hệ thống và mặt dịch vụ chi tiết và hợp lý hơn. Em recommend là chuyển dịch thiết kế hiện tại (SOA) về thiết kế micro-service.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div><br>b) Đảm bảo an toàn an ninh thông tin hệ thống<br></div></blockquote><div><br></div><div>Phần này em không chuyên sâu, xin nhường cho các chuyên gia từ NetNam cũng như các thành viên khác.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div><br>c) Đảm bảo hiệu năng, mức độ sẵn sàng cao hệ thống<br></div></blockquote><div><br></div><div>Để đảm bảo hiệu năng thì phụ thuộc vào mặt ... con người là chính. Cần Open thiết kế kiến trúc và từng thành phần để có thể chứng minh rằng thiết kế của OpenCPS là tối ưu, đảm bảo hiệu năng. Cần có thêm cơ chế review code để giảm thiểu rủi ro về ảnh hướng tới hiệu năng.<br><br></div><div>Để đảm bảo mức độ sẵn sàng cao, về mặt kiến trúc, OpenCPS v2.0 phải đảm bảo có thể kiểm soát được các race-condition; có nghĩa là nếu đồng thời có 2 request từ 2 user khác nhau cùng tương tác với 1 tài nguyên của hệ thống sẽ không gây ra tình trạng conflict. Đảm bảo được yêu cầu này thì OpenCPS v2.0 có thể triển khai thành phần HA/LB ở mode Active-Active.<br></div><div><br></div><div>Câu hỏi: chỉ tiêu đánh giá hiệu năng, mức độ sẵn sàng cao của hệ thống là bao nhiêu và như thế nào? Ví dụ về chỉ tiêu: hệ thống OpenCPS v2.0 triển khai trên hạ tầng cấu hình X (hardware, network..) bảo đảm chịu được tải tối thiểu Y CCU, để nâng lên mức Y^Y CCU cần theo công thức như sau. Ví dụ về mức độ sẵn sàng cao: nếu hệ thống gặp sự cố downtime do các service của OpenCPS gây nên thì số lượng connection/request/packet lost là X%.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div><br>d) Giám sát đảm bảo vận hành chất lượng dịch vụ theo SLA<br></div></blockquote><div><br></div><div>OpenCPS v2.0 cần phải có thiết kế và tài liệu về mặt giám sát (monitoring/logging) và cảnh báo. Ngoài ra, ý d này hoàn toàn phụ thuộc vào ý c ở mặt SLA.<br><br></div><div>Về mặt kỹ thuật, thông thường monitoring các bên có thể sử dụng các giải pháp như Nagios, Cacti, Icinga, Zabbix.. nhưng phụ thuộc vào quyết định của mình ở ý a có thể sẽ là các giải pháp monitoring và cảnh báo khác như Prometheus (chuyên phục vụ cho container). Cảnh báo nên tối thiểu là có cảnh báo qua SMS, email và trung tâm điều hành chung của OpenCPS.<br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div><br>Vì thời gian để chuẩn bị viết thuyết minh không nhiều, nên rất mong các chuyên gia trợ giúp gửi các thông tin cần thiết trong tuần này.<br><br>Cám ơn mọi người,<br><br>Tuấn Anh<br><br></div></blockquote></div><br></div><div class="gmail_extra">Em xin hết.<br clear="all"></div><div class="gmail_extra"><br>--<span class="m_7676119971763251025Apple-converted-space"> </span><br><div class="m_7676119971763251025m_4679515418382370773gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><span style="font-family:monospace;font-size:inherit">-----BEGIN GEEK CODE BLOCK-----</span><br style="font-family:monospace;font-size:inherit"><span style="font-family:monospace;font-size:inherit">Version: 3.1</span><br style="font-family:monospace;font-size:inherit"><span style="font-family:monospace;font-size:inherit">GCS/CM/IT/M/MU d-@? s+(++):+(++) !a C++++(++++)$ ULC++++(++)$ P L++(+++)$ E !W N* o+ K w O- M V- PS+ PE++ Y+ PGP+ t 5 X R tv+ b+(++)>+++ DI- D+ G e++(+++) h-- r(++)>+++ y- </span><br style="font-family:monospace;font-size:inherit"><span style="font-family:monospace;font-size:inherit">------END GEEK CODE BLOCK------</span><br></div></div></div></div></div></blockquote><br></div></div></div></blockquote></div><br><br clear="all"><br>--<span class="m_7676119971763251025Apple-converted-space"> </span><br><div class="m_7676119971763251025gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><span style="font-family:monospace;font-size:inherit">-----BEGIN GEEK CODE BLOCK-----</span><br style="font-family:monospace;font-size:inherit"><span style="font-family:monospace;font-size:inherit">Version: 3.1</span><br style="font-family:monospace;font-size:inherit"><span style="font-family:monospace;font-size:inherit">GCS/CM/IT/M/MU d-@? s+(++):+(++) !a C++++(++++)$ ULC++++(++)$ P L++(+++)$ E !W N* o+ K w O- M V- PS+ PE++ Y+ PGP+ t 5 X R tv+ b+(++)>+++ DI- D+ G e++(+++) h-- r(++)>+++ y- </span><br style="font-family:monospace;font-size:inherit"><span style="font-family:monospace;font-size:inherit">------END GEEK CODE BLOCK------</span><br></div></div></div></div></div><span class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">______________________________<wbr>_________________</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">POST RULES:<span class="m_7676119971763251025Apple-converted-space"> </span></span><a href="https://github.com/VietOpenCPS/doc/wiki/Mailing-list-guidelines" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank">https://github.com/<wbr>VietOpenCPS/doc/wiki/Mailing-<wbr>list-guidelines</a><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">______________________________<wbr>_________________</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">OpenCPS-BKT mailing list</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><a href="mailto:OpenCPS-BKT@lists.opencps.vn" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank">OpenCPS-BKT@lists.opencps.vn</a><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><a href="http://lists.opencps.vn/mailman/listinfo/opencps-bkt" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank">http://lists.opencps.vn/<wbr>mailman/listinfo/opencps-bkt</a></span></div></blockquote></div><br></div></div><br>______________________________<wbr>_________________<br>
POST RULES: <a href="https://github.com/VietOpenCPS/doc/wiki/Mailing-list-guidelines" rel="noreferrer" target="_blank">https://github.com/<wbr>VietOpenCPS/doc/wiki/Mailing-<wbr>list-guidelines</a><br>
______________________________<wbr>_________________<br>
OpenCPS-BKT mailing list<br>
<a href="mailto:OpenCPS-BKT@lists.opencps.vn">OpenCPS-BKT@lists.opencps.vn</a><br>
<a href="http://lists.opencps.vn/mailman/listinfo/opencps-bkt" rel="noreferrer" target="_blank">http://lists.opencps.vn/<wbr>mailman/listinfo/opencps-bkt</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><span style="color:rgb(0,0,0);font-family:monospace;font-size:medium">-----BEGIN GEEK CODE BLOCK-----</span><br style="color:rgb(0,0,0);font-family:monospace;font-size:medium"><span style="color:rgb(0,0,0);font-family:monospace;font-size:medium">Version: 3.1</span><br style="color:rgb(0,0,0);font-family:monospace;font-size:medium"><span style="color:rgb(0,0,0);font-family:monospace;font-size:medium">GCS/CM/IT/M/MU d-@? s+(++):+(++) !a C++++(++++)$ ULC++++(++)$ P L++(+++)$ E !W N* o+ K w O- M V- PS+ PE++ Y+ PGP+ t 5 X R tv+ b+(++)>+++ DI- D+ G e++(+++) h-- r(++)>+++ y- </span><br style="color:rgb(0,0,0);font-family:monospace;font-size:medium"><span style="color:rgb(0,0,0);font-family:monospace;font-size:medium">------END GEEK CODE BLOCK------</span><br></div></div>
</div>