Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

ITLC Hanoi 17 - Infrastructure as Code 07-01-2016

2.153 Aufrufe

Veröffentlicht am

Như các bạn đã biết VC Corp là một đơn vị lớn trong làng Công nghệ Thông tin (CNTT) Việt Nam. Trong 5 khối chính của VC Corp: Các báo điện tử(Dân trí, ChannelVN..), Thương mại điện tử ( Zamba ), Game ( Soha ), Quảng Cáo ( Admicro ) , Hạ tầng ( VC Cloud ) Thì khối VC Cloud vừa làm dịch vụ cho các khối khác, vừa phục vụ cho khách hàng bên ngoài với hệ thống thật ấn tượng.

Khởi đầu năm 2016 : Ban Tổ Chức IT Leader Club Hà Nội mời anh Phạm Tuấn Anh, Head of Platform Services department, VCCloud chia sẻ với cộng đồng IT Leader Club tại Hà Nội.

1. Chủ đề: Infrastructure as Code.

2. Thời gian: 2015/01/07 (thứ 5) 18:30 - 21:00

Agenda:
- 18h30 - 19h : Checkin và ổn định chỗ ngồi,
- 19h - 19h5 : Giới thiệu về ITLC Hà Nội,
- 19h5 - 20h30 : Mr. Phạm Tuấn Anh sẽ trình bày chủ đề,
- 20h30 - 21h : Q & A.

3. Diễn giả:

Mr. Phạm Tuấn Anh ( https://www.facebook.com/aloneroad) - Head of Platform Services department, VCCloud. Với các Project chính như : Storage ( static file, ảnh, video ), CDN, PaaS

Một vài con số thống kê:
a, Storage:
~3 tỉ files, 750 TB, (12 data nodes, 200 HDDs)
Database MySQL 450GB, Mongo DB 560 GB
b, CDN
30k requests/s , 350k active connections
40Gbps, 30% CPU, 7 Servers
HTTP access log 2TB/ ngày (1.5 GB phút )


4. Địa điểm: Toong Coworking Space - Số 8 Tràng Thi, Hà Nội (Tầng 3 Vuvuzela Tràng Thi)
Bản đồ: https://goo.gl/87wrRf

5. Phí tham dự: 100.000 VNĐ (miễn phí trà, cà phê)

6. Nội dung: Trong 2.5 tiếng diễn giả sẽ trình bày về Infrastructure as Code cụ thể như sau:

a. Hiện trạng hệ thống trước 2014 :

b. Infrastructure as Code

c. Triển khai thực tế từ 2014 đến nay.

7. Link đăng ký: http://bit.ly/itlc-sa-Infraascode-reg

8. Số lượng khách mời: Vì chủ đề rất hấp dẫn nên ITLC HN giới hạn 150 khách mời đầu để đảm bảo chất lượng.

9. Hotlines:

Khi tham gia sự kiện, nếu có vấn đề gì cần hỗ trợ gấp, xin liên hệ đường dây nóng: 0904-28-7878 (đây là số điện thoại của anh Nguyen Vu Hung ( https://www.facebook.com/nguyenvuhung ) - thành viên Ban Tổ Chức)

10. Lưu ý : Thời gian là quý giá, sự kiện của chúng ta hầu hết là các Leader, đề nghị đi đúng giờ để chúng ta có được một chương trình thành công.

Veröffentlicht in: Software
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • DỊCH VỤ THIẾT KẾ POWERPOINT (Thiết kế profile cho doanh nghiệp--- Thiết kế Brochure--- Thiết kế Catalogue--- slide bài giảng--- slide bài phát biểu---slide bài TIỂU LUẬN, LUẬN VĂN TỐT NGHIỆP--- dạy học viên thiết kế powerpoint…)-----(Giá từ 8.000 đ - 10.000 đ/1trang slide)------ Mọi chi tiết vui lòng liên hệ với chúng tôi: điện thoại 0973.764.894 hoặc zalo 0973.764.894 (Miss. Huyền) ----- • Thời gian hoàn thành: 1-2 ngày sau khi nhận đủ nội dung ----- Qui trình thực hiện: ----- 1. Bạn gửi nội dung cần thiết kế về địa chỉ email: dvluanvan@gmail.com ----- 2. DỊCH VỤ THIẾT KẾ POWERPOINT báo giá chi phí và thời gian thực hiện cho bạn ----- 3. Bạn chuyển tiền tạm ứng 50% chi phí để tiến hành thiết kế ----- 4. Gửi file slide demo cho bạn xem để thống nhất chỉnh sửa hoàn thành. ----- 5. Bạn chuyển tiền 50% còn lại. ----- 6. Bàn giao file gốc cho bạn.
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier

ITLC Hanoi 17 - Infrastructure as Code 07-01-2016

  1. 1. Infrastructure as Code at VCCorp Phạm Tuấn Anh Team Platform Services, VCCloud ITLC HANOI MONTHLY PUBLIC MEETUP ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 1
  2. 2. Agenda 1. Giới thiệu 2. Hiện trạng hệ thống trước năm 2014 3. Infrastructure as Code 4. Triển khai thực tế từ 2014 đến nay 5. Demo ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 2
  3. 3. Agenda 1. Giới thiệu 2. Hiện trạng hệ thống trước năm 2014 3. Infrastructure as Code 4. Triển khai thực tế từ 2014 đến nay 5. Demo ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 3
  4. 4. $ whoami • Phạm TuấnAnh, 1988 • 2 failed (funded) startups • VCCorp từ 2010 • Co-founder của Appdex • Stack: python, nginx, lua, git, ansible, redis, memcached, mysql, mongodb ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 4
  5. 5. VCCorp 5 khối: 1. Nội dung 2. Thương mại điện tử (Zamba) 3. Game (Soha Game) 4. Quảng cáo (Admicro) 5. Hạ tầng (VCCloud) ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 5
  6. 6. VCCloud • > 60 người • 3 bộ phận lớn: • Data Center • Cloud Solutions • Platform Services • Các bộ phận nhỏ khác: Security, Helpdesk ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 6
  7. 7. Team Platform Services • Thành lập từ khoảng năm 2010 • Hiện tại có 8 người • Các project chính: • Storage (static files, ảnh, video…) • CDN • DDoS Request Filter • PaaS ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 7
  8. 8. Một vài thống kê • ~ 3 tỷ files, 750TB (12 data nodes, hơn 200 HDDs) • MySQL 450GB, MongoDB 560GB • 30k requests/s, > 400k active connections • 40Gbps, ~ 30% CPU, 7 servers • HTTP access log ~ 1.4GB/phút • > 20 projects lớn nhỏ, khoảng > 100 servers ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 8
  9. 9. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 9
  10. 10. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 10
  11. 11. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 11
  12. 12. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 12
  13. 13. Agenda 1. Giới thiệu 2. Hiện trạng hệ thống trước năm 2014 3. Infrastructure as Code 4. Triển khai thực tế từ 2014 đến nay 5. Demo ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 13
  14. 14. Hiện trạng hệ thống trước 2014 Một vài sự cố lớn: • 2012: Database conflict • 2013: DDoS • 2014: Sập DC ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 14
  15. 15. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 15
  16. 16. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 16
  17. 17. Hiện trạng hệ thống trước 2014 Một vài vấn đề: • các server cài giống nhau nhưng chạy khác nhau (facepalm) • các rule về security áp dụng không đồng nhất (do làm thủ công và nhiều server) • theo dõi hệ thống sơ sài, dùng con người là chính • triển khai, thay thế server khó khăn, hay lỗi khi mới đưa vào • server reboot: ~ 20-30 phút ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 17
  18. 18. Agenda 1. Giới thiệu 2. Hiện trạng hệ thống trước năm 2014 3. Infrastructure as Code 4. Triển khai thực tế từ 2014 đến nay 5. Demo ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 18
  19. 19. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 19
  20. 20. Configuration drift ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 20
  21. 21. A few key people to do "sensitive" deployments? ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 21
  22. 22. Human error factor ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 22
  23. 23. Infrastructure as Code ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 23
  24. 24. Infrastructure as Code Reusable ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 24
  25. 25. Infrastructure as Code Version Control ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 25
  26. 26. Infrastructure as Code Coding Standards ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 26
  27. 27. Infrastructure as Code Contribution ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 27
  28. 28. Infrastructure as Code Code Review ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 28
  29. 29. Infrastructure as Code Refactoring ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 29
  30. 30. Infrastructure as Code Testing ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 30
  31. 31. Infrastructure as Code Continuous Integration ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 31
  32. 32. Infrastructure as Code Small Deployments ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 32
  33. 33. Infrastructure as Code ≠ DevOps ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 33
  34. 34. Infrastructure as Code ≠ Automation ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 34
  35. 35. Infrastructure as Code = Automation at Scale ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 35
  36. 36. Infrastructure as Code: 1. Tự động hóa quá trình deploy 2. Quản lý (mọi thứ) thông qua source control 3. Áp dụng tests 4. Hạn chế viết tài liệu 5. Dev & Ops cộng tác trên cùng 1 repo ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 36
  37. 37. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 37
  38. 38. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 38
  39. 39. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 39
  40. 40. Agenda 1. Giới thiệu 2. Hiện trạng hệ thống trước năm 2014 3. Infrastructure as Code 4. Triển khai thực tế từ 2014 đến nay 5. Demo ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 40
  41. 41. Triển khai thực tế: • Wikimedia: http://git.wikimedia.org/project/operations • Bắt đầu từ tháng 7/2014 đến hiện tại (~18 tháng) • Công cụ: Ansible, Git, GitLab, GitLab CI ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 41
  42. 42. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 42
  43. 43. Tại sao lại chọn Ansible? • "agentless" • Cú pháp rõ ràng • Tài liệu chi tiết, nhiều module có sẵn • Phổ biến • Tốc độ? ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 43
  44. 44. Ansible vs Salt ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 44
  45. 45. Ansible vs Chef ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 45
  46. 46. Ansible vs Puppet ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 46
  47. 47. GitLab CI? • jenkins • GitLab CI UI đẹp hơn :) ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 47
  48. 48. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 48
  49. 49. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 49
  50. 50. Một vài vấn đề khi triển khai: • Con người • Setup môi trường • Password, secret keys trên production • Git workflow • Tests ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 50
  51. 51. Con người: • Ops: Học thêm git, ansible • Dev: Học thêm ansible • Thay đổi thói quen: • Giảm login vào server để sửa • Fix lỗi xong viết tests/checks ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 51
  52. 52. Con người: • Khó khăn: • naming things ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 52
  53. 53. – Phil Karlton “There are only two hard things in Computer Science: cache invalidation and naming things.” ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 53
  54. 54. Con người: • Khó khăn: • naming things • good commit messages • atomic commits • check-in early, check-in often ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 54
  55. 55. Setup môi trường: • development (mỗi dev được cấp 1 server ảo) • test (dành riêng cho server CI chạy) • staging (dùng gor để capture & replay traffic từ production) • production ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 55
  56. 56. Setup môi trường: $ gor --http-original-host --input-raw :80 --output-http "http://10.3.3.4|5%" ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 56
  57. 57. Password, secret keys trên production: • ansible-vault • ejson (Shopify) • vault (HashiCorp), keywhiz (Square) ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 57
  58. 58. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 58
  59. 59. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 59
  60. 60. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 60
  61. 61. Git workflow: ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 61
  62. 62. Git workflow: • master là nhánh ổn định, khi cần có thể deploy ngay • các thay đổi được làm ở topic branches • rebase sớm để tránh conflicts • push trực tiếp vào repo chính, không dùng Fork • roll forward ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 62
  63. 63. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 63
  64. 64. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 64
  65. 65. Tests • các gói, thư viện cài đúng chưa? • service chạy thật chưa? • firewall chặn SSH từ WAN chưa? • disable password login chưa? • cảnh báo mail khi SSH hoạt động không? • mạng server có bình thường không? • … ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 65
  66. 66. Tests • coding, writing style • deploy (ansible) • unit tests • smoke tests (các service running hết chưa?) • integration tests (theo logic cụ thể của từng project) • nagios ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 66
  67. 67. Continuous Integration • git commit • git push lên GitLab • GitLab gọi GitLab CI • GitLab CI đẩy task sang GitLab CI Runner • GitLab CI Runner chạy tests và report lại kết quả • deploy lên production (thủ công) ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 67
  68. 68. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 68
  69. 69. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 69
  70. 70. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 70
  71. 71. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 71
  72. 72. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 72
  73. 73. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 73
  74. 74. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 74
  75. 75. Một số lưu ý khi triển khai: • Admin UI → Config files • SSH 2-factor → OpenVPN + DuoSecurity • Packages/dependencies • Account deploy dùng chung? ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 75
  76. 76. Kết quả đem lại: • Giảm áp lực vận hành hệ thống • Giảm lỗi, các server chạy thống nhất • Có log chi tiết các thay đổi • Việc chia sẻ, phối hợp trong team dễ dàng hơn • Các thay đổi được review, test trước khi deploy • Người đi - kiến thức ở lại ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 76
  77. 77. Q&A ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 77
  78. 78. FAQs • Sao không dùng dynamic inventory? • Merge/Pull Requests dùng thế nào? • Merge vào master luôn như thế có nguy hiểm không? • Ansible deploy chậm • CI server deploy lên đâu? Làm sao có môi trường như production để test? ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 78
  79. 79. FAQs • "Cloud" ở đâu? • Zero-downtime reloads? • Có server cần tham số riêng thì làm thế nào? • Quản lý đồng thời server CentOS và Ubuntu thế nào? • Các module ansible hay dùng? ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 79
  80. 80. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 80
  81. 81. FAQs • Auto scale? • Ansible vs Docker? • Khi provision infra tự động mà bị lỗi thì các bạn xử lý thế nào? Có bài học nào hay ho không? • Những khó khăn và thách thức nào khi xây dựng và quản lý hạ tầng private và public? ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 81
  82. 82. Agenda 1. Giới thiệu 2. Hiện trạng hệ thống trước năm 2014 3. Infrastructure as Code 4. Triển khai thực tế từ 2014 đến nay 5. Demo ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 82
  83. 83. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 83
  84. 84. ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 84
  85. 85. Inventory file ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 85
  86. 86. Templates ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 86
  87. 87. Templates ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 87
  88. 88. Tasks ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 88
  89. 89. Tasks ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 89
  90. 90. Deploy ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 90
  91. 91. Quản lý users ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 91
  92. 92. Quản lý users ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 92
  93. 93. Quản lý users ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 93
  94. 94. Iptables ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 94
  95. 95. Iptables ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 95
  96. 96. Update DNS ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 96
  97. 97. Update DNS ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 97
  98. 98. Deploy server mới ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 98
  99. 99. Security fix ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 99
  100. 100. Thêm cảnh báo ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 100
  101. 101. Q&A ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 101
  102. 102. Một số link tham khảo • Ansible Best Practices: http://docs.ansible.com/ansible/ playbooks_best_practices.html • Ansible Vault: https://therealmarv.com/ansible-vault-file-handling/ • Ansible Modules: http://docs.ansible.com/ansible/ modules_by_category.html • RedHat mua Ansible: https://www.redhat.com/en/about/blog/ why-red-hat-acquired-ansible • Continuous Delivery: https://puppetlabs.com/sites/default/files/ CDebook.pdf ITLC Hanoi (https://facebook.com/itlchanoi) – Pham Tuan Anh 102

×