Pokemon Go - isang perpektong use-case ng mga prinsipyo ng DevOps



Pinag-uusapan ng blog ang tungkol sa kung paano maaaring magamit ang mga pamamaraan ng DevOps sa Pokemon Go upang matiyak na maayos ang paggana ng game app.

Ang isang laro na blockbuster tulad ng Pokemon Go ay gumagamit ng maraming kapaki-pakinabang na tool ng DevOps upang matiyak ang pag-abot at katanyagan ng pandaigdigan
Maliban kung nakatira ka sa ilalim ng isang bato, imposibleng hindi ka natangay ng Pokemon Go alon na sumasaklaw sa mga gumagamit ng smartphone sa buong mundo. Sa kauna-unahang pagkakataon, mayroon kaming isang halimbawa ng isang 'virtual na mundo ay nakakatugon sa totoong mundo' na sitwasyon kung saan ang mga gumagamit ay talagang naghahanap ng mga virtual na bagay sa mga pisikal na kapaligiran. Habang tinutulungan nito ang mga tao na magsunog ng mga caloryo (ang mga tao ay naiulat na nagsusunog ng halos 2000 calories sa isang linggo na naglalaro ng larong ito), nagpapakita rin ito ng napakalaking mga hamon at oportunidad sa pamamagitan lamang ng sobrang sukat na naabot ng laro.

Pokemon Go - isang pandaigdigang kababalaghan

Sa loob lamang ng tatlong araw ng paglabas nito, ang Pokemon Go ay nakakaakit ng higit pang mga gumagamit kaysa sa Twitter, at naitaas ito sa tuktok ng mga tsart ng kita ng App Store. Ngayon, ito ay naging isang pandaigdigang kababalaghan. Ayon sa Survey Monkey, ang Pokemon Go ay naging pinakapopular na mobile game sa kasaysayan na may 21 milyong pang-araw-araw na aktibong gumagamit sa US lamang.





kung paano makahanap ng haba ng array sa javascript

Kailangan para sa isang naka-streamline na diskarte

Ang laro, na hinihiling sa iyo upang maghanap, kumuha at sanayin ang mga character na Pokemon na gumagamit ng pinalawak na katotohanan, ay bumubuo ng mga nakakatawang dami ng data, na tumatakbo sa mga zetabyte bawat solong araw. Ang nasabing isang malaking kalakhan ng data ay nagdudulot ng isang tipikal hamon ng pagproseso ng napakaraming data sa real-time. Ngunit higit na mahalaga, ang paraan kung saan tinitiyak ng Niantic (tagalikha ng Pokemon Go) ang maayos na paggana kung ang app nito, sa kabila ng walang uliran pagdagsa sa mga gumagamit, ay nagpapakita ng pagkakaroon ng mga proseso at pinakamahusay na kasanayan na na-deploy sa buong cycle ng pagpapanatili nito.

Ang Pokemon Go ay isang perpektong halimbawa ng isang streamline at automated na end-to-end na pipeline ng DevOps na na-optimize ang kadena ng halaga ng paghahatid at inaalis ang mga hadlang at dependency sa buong pag-unlad ng software na pag-ikot.



devops-cycle-used-for-pokemon

pagsamahin ang uri ng source code c ++

Pagbabago ng pag-uugali ng tao

Hindi tulad ng iba pang mga mobile app, ang ideya ay hindi gawin ang parehong bagay nang magkakaiba (tulad ng Uber na nagbigay sa mga tao ng pagpipilian na mag-book ng isang taksi sa ibang paraan). Sa halip, ginagawa ng Pokemon Go ang mga tao na gumawa ng isang bagay na ganap na naiiba. Kapag gumagawa ka ng bago, sa pamamagitan ng kahulugan hindi mo alam ang eksaktong ginagawa mo. Kaya't kailangan mong patuloy na dumaan sa maraming mga siklo ng pagsubok upang maayos ito. Kung ang mga pag-ikot na ito ay mabagal at hindi mo susubukan ang lahat ng posibleng mga kaso ng paggamit, ito ay masyadong mahaba upang maibigay ang mga kinakailangang kapaligiran. Upang maiwasan ang mga ganitong uri ng contingency, kailangan mo ng isang streamline at automated na end-to-end na pipeline ng DevOps. Sa konteksto ng Pokemon Go, ang mga posibleng paggamit-kaso ay mga geolocation, aparato, operating system, hardware, magkakaibang mga transaksyon, bukod sa iba pa.

Matapos ilabas ang app para sa iOS, kinailangan ng Niantic na patuloy na pagbutihin at pagbutihin ang pagganap sa isang napakalaking sukat at isang halos imposibleng timeframe. Muli isang bagay na malulutas ng DevOps nang madali.



Mga perpektong tool ng DevOps para sa isang senaryo ng Pokemon Go

Sa manipis na sukat kung saan ang Pokemon Go ay lumalaki sa katanyagan, mayroong isang pangkat ng mga tool na dapat na perpektong gamitin upang matiyak ang makinis at hindi nagagambalang karanasan ng gumagamit. Habang ang pangunahing pamamaraan ay maaaring binubuo ng Plano -> Code -> Bumuo -> Pagsubok -> Pakawalan -> I-deploy -> Pagpapatakbo -> Subaybayan cycle, may mga tukoy na tool ng DevOps na maaaring magamit para sa mga tukoy na gawain sa loob ng cycle ng DevOps. Ang ilan sa mga tool at gawain na ito ay:

  • Kontrol sa Bersyon at Pamamahala ng Source Code -
  • Bumuo at Sumubok - Ant, Gradle, Siliniyum , LoadStorm
  • Patuloy na integrasyon - Jenkins
  • Pamamahala ng Pag-configure at Pag-deploy - Chef, Puppet, Ansible
  • Pagsubaybay - Nagios, Sensu, Bagong Relic

Nais bang maunawaan nang higit pa tungkol sa DevOps mula sa mga eksperto sa industriya? Lumikha si Edureka ng isang nangungunang klase na kurso sa DevOps na makakatulong sa iyong makabisado ang iba't ibang mga proseso at tool ng DevOps. kung nais mong malaman ang higit pa.

pagsamahin ang pag-uuri ng c ++ array

Mga Kaugnay na Post:

Galugarin ang mga pagkakataon sa karera gamit ang DevOps