Pokemon Go - một trường hợp sử dụng hoàn hảo của các nguyên tắc DevOps



Blog này nói về cách các phương pháp DevOps có thể đã được sử dụng trong Pokemon Go để đảm bảo ứng dụng trò chơi hoạt động trơn tru.

Một trò chơi bom tấn như Pokemon Go sử dụng nhiều công cụ DevOps hữu ích để đảm bảo khả năng tiếp cận và phổ biến toàn cầu
Trừ khi bạn đang sống dưới một tảng đá, không thể nào bạn không bị cuốn theo làn sóng Pokemon Go đang nhấn chìm người dùng điện thoại thông minh trên toàn thế giới. Lần đầu tiên, chúng tôi có một ví dụ về kịch bản 'thế giới ảo gặp thế giới thực' trong đó người dùng thực sự đang tìm kiếm các đối tượng ảo trong môi trường vật lý. Mặc dù điều này giúp con người đốt cháy calo (theo báo cáo, mọi người đốt cháy khoảng 2000 calo mỗi tuần khi chơi trò chơi này), nhưng nó cũng mang đến những thách thức và cơ hội to lớn chỉ bằng quy mô tuyệt đối mà trò chơi đã đạt được.

Pokemon Go - một hiện tượng toàn cầu

Chỉ trong vòng ba ngày kể từ khi phát hành, Pokemon Go đã thu hút nhiều người dùng hơn Twitter và đứng đầu bảng xếp hạng doanh thu của App Store. Ngày nay, nó đã trở thành một hiện tượng toàn cầu. Theo Survey Monkey, Pokemon Go đã trở thành trò chơi di động phổ biến nhất trong lịch sử với 21 triệu người dùng hoạt động hàng ngày chỉ ở Mỹ.





Cần có một chiến lược hợp lý

Trò chơi, yêu cầu bạn tìm kiếm, bắt và huấn luyện các nhân vật Pokemon bằng cách sử dụng thực tế tăng cường, tạo ra khối lượng dữ liệu khổng lồ, chạy tới zetabyte mỗi ngày. Lượng dữ liệu khổng lồ như vậy đặt ra một thách thức xử lý số lượng lớn dữ liệu trong thời gian thực. Nhưng quan trọng hơn, cách thức mà Niantic (người tạo ra Pokemon Go) đảm bảo hoạt động trơn tru nếu ứng dụng của họ, mặc dù lượng người dùng tăng chưa từng có, tiết lộ sự tồn tại của các quy trình và phương pháp hay nhất đã được triển khai trong chu kỳ bảo trì của nó.

Pokemon Go là một ví dụ lý tưởng về một đường ống DevOps end-to-end được sắp xếp hợp lý và tự động nhằm tối ưu hóa chuỗi giá trị phân phối và loại bỏ các ràng buộc và phụ thuộc trong vòng đời phát triển phần mềm.



devops-cycle-used-for-pokemon

cách sắp xếp một mảng c ++

Thay đổi hành vi của con người

Không giống như các ứng dụng di động khác, ý tưởng không phải là làm điều tương tự khác đi (chẳng hạn như Uber cho phép mọi người tùy chọn đặt taxi theo một cách khác). Đúng hơn, Pokemon Go đang khiến mọi người làm một điều gì đó hoàn toàn khác. Khi bạn đang làm điều gì đó mới, theo định nghĩa, bạn không biết chính xác mình đang làm gì. Vì vậy, bạn phải tiếp tục trải qua nhiều chu kỳ kiểm tra để làm cho nó đúng. Nếu các chu kỳ này chậm và bạn không kiểm tra tất cả các trường hợp sử dụng có thể có, thì sẽ mất quá nhiều thời gian để cung cấp các môi trường cần thiết. Để tránh những loại trường hợp dự phòng này, bạn cần có một đường dẫn DevOps end-to-end tự động và được sắp xếp hợp lý. Trong bối cảnh của Pokemon Go, các trường hợp sử dụng có thể là vị trí địa lý, thiết bị, hệ điều hành, phần cứng, các giao dịch đa dạng, trong số những trường hợp khác.

Sau khi phát hành ứng dụng cho iOS, Niantic đã phải liên tục cải thiện và nâng cao hiệu suất ở quy mô lớn và khung thời gian gần như không thể. Một lần nữa, DevOps giải quyết một cách dễ dàng.



Các công cụ DevOps lý tưởng cho một kịch bản Pokemon Go

Ở quy mô tuyệt đối mà Pokemon Go đang ngày càng phổ biến, có một loạt công cụ lý tưởng nên được sử dụng để đảm bảo trải nghiệm người dùng mượt mà và không bị gián đoạn. Trong khi phương pháp luận cơ bản có thể bao gồm Kế hoạch -> Mã -> Xây dựng -> Kiểm tra -> Phát hành -> Triển khai -> Vận hành -> Giám sát chu kỳ, có các công cụ DevOps cụ thể có thể được sử dụng cho các tác vụ cụ thể trong chu kỳ DevOps. Một số công cụ và nhiệm vụ này là:

  • Kiểm soát phiên bản & Quản lý mã nguồn -
  • Xây dựng & Thử nghiệm - Kiến, Gradle, Selen , LoadStorm
  • Hội nhập liên tục - Jenkins
  • Quản lý và triển khai cấu hình - Đầu bếp, Con rối, Ansible
  • Giám sát - Nagios, Sensu, Di tích mới

nạp chồng hàm trong ví dụ c ++

Bạn muốn hiểu thêm về DevOps từ các chuyên gia trong ngành? Edureka đã tạo một khóa học hàng đầu về DevOps giúp bạn thành thạo các quy trình và công cụ DevOps khác nhau. nếu bạn muốn biết thêm.

Bài viết liên quan:

Khám phá cơ hội nghề nghiệp với DevOps