The great adventure of migrating Allegro infrastructure to new Data Center - DC5

Bài tóm tắt Allegro 2016 3. Quy mô lớn Độ khó: Dễ

Allegro · 2016 · 3. Quy mô lớn · Độ khó: Dễ — bài gốc

Bối cảnh

  • DC2 ở Poznań là data center "thật" đầu tiên của Allegro (từ 2007). Đến 2014 có khoảng 2.000 thiết bị trong 90 tủ rack, phục vụ allegro.pl và các site khác của Naspers ở Ba Lan: khoảng 75 website ở 20 nước, khoảng 250 service.
  • Thị trường đã có DC mới, rẻ hơn về colocation và điện. Năm 2013 họ bắt đầu tìm DC mới, mở thầu với 10 công ty, và mùa thu 2014 chọn Talex (gọi là DC5).
  • Hạn chót cứng: hợp đồng DC2 kết thúc 30/4/2015, nên từ 11/2014 họ chỉ có khoảng 6 tháng. Bản thân DC5 khi đó còn đang xây.

Thay đổi chính

  • Giữ redundancy ở mọi bước: lên kế hoạch cùng các team dev để service nào cũng còn bản dự phòng trong lúc dời.
  • Truyền thông là việc chính: đại diện 16 team hạ tầng/dev họp hằng ngày, để không ai hỏi "DC5? Migration? Chưa nghe bao giờ".
  • Dời kết hợp nâng cấp:
    • mạng lõi thiết kế lại từ đầu bằng L3VPN MPLS để cách ly traffic giữa các khách hàng nội bộ;
    • load balancer chuyển từ Active–Standby sang Active–Active N+1;
    • private cloud dựng region OpenStack mới để chuyển hơn 2.000 VM;
    • chỉ còn một hypervisor;
    • bỏ hai disk array đã chạy 8 năm.
  • Hậu cần: kiểm kê vật lý từng thiết bị; 30 chuyến xe, mỗi tuần 2 lần; thiết bị chở tới hôm trước thì hôm sau chạy được. Mua mới hơn 200 server và 200 switch.
  • 01:00 ngày 20/4/2015 tắt mạng DC2: không service nào lỗi. Ngày 30/4 phòng rack DC2 đã trống.

Vì sao (theo Allegro)

Giá colocation và điện ở DC mới tốt hơn hẳn. Kết quả: chi phí điện giảm 71%, colocation giảm 45%. Ngoài ra họ tận dụng đợt dời để chuẩn hoá công nghệ. Suốt mấy tháng chỉ có vài sự cố ảnh hưởng nhỏ tới người dùng.

Bài học cho SWE

  • Dời data center là migration không downtime ở tầng vật lý: nguyên tắc vẫn là giữ dự phòng ở mọi bước và cắt từng phần.
  • Một hạn chót cứng có thể biến thành cơ hội dọn dẹp và chuẩn hoá thứ mà bình thường "không ai muốn đụng".
  • Với dự án nhiều team, kế hoạch truyền thông quan trọng ngang kế hoạch kỹ thuật.
  • So với các bài cloud: Allegro tối ưu chi phí bằng cách đổi DC tự vận hành, không lên cloud (Chi phí hạ tầng và build vs buy).

Liên quan