ພວກເຮົາບໍ່ດົນມານີ້ໄດ້ເລີ່ມໂຄງການຂະຫນາດນ້ອຍເພື່ອທໍາຄວາມສະອາດວິທີການຂອງພາກສ່ວນຂອງລະບົບຂອງພວກເຮົາຕິດຕໍ່ກັນຢູ່ເບື້ອງຫຼັງຂອງ scenes ໃນ Buffer. ບາງສະພາບການໄວ: ພວກເຮົາໃຊ້ບາງສິ່ງບາງຢ່າງເອີ້ນວ່າ SQS (Amazon Simple Queue Service. ຄິວເຫຼົ່ານີ້ເຮັດຄືກັບຫ້ອງລໍຖ້າສໍາລັບວຽກງານ. ພາກສ່ວນຫນຶ່ງຂອງລະບົບຂອງພວກເຮົາຖິ້ມຂໍ້ຄວາມ, ແລະອີກອັນຫນຶ່ງຈະເອົາມັນຂຶ້ນໃນພາຍຫລັງ. ຄິດວ່າມັນຄ້າຍຄືການປະໄວ້ບັນທຶກສໍາລັບເພື່ອນຮ່ວມງານ: "Hey, ຂະບວນການນີ້, ມີໂອກາດທີ່ຈະສົ່ງຂໍ້ມູນ. ເພື່ອລໍຖ້າການຕອບຮັບ. ໂຄງການຂອງພວກເຮົາແມ່ນເພື່ອປະຕິບັດການບໍາລຸງຮັກສາເປັນປົກກະຕິ: ປັບປຸງເຄື່ອງມືທີ່ພວກເຮົາໃຊ້ເພື່ອທົດສອບຄິວຢູ່ໃນທ້ອງຖິ່ນແລະເຮັດຄວາມສະອາດການຕັ້ງຄ່າຂອງພວກເຂົາ. ແຕ່ໃນຂະນະທີ່ພວກເຮົາກໍາລັງວາງແຜນສິ່ງທີ່ພວກເຮົາໃຊ້ຕົວຈິງ, ພວກເຮົາພົບເຫັນບາງຢ່າງທີ່ພວກເຮົາບໍ່ໄດ້ຄາດຫວັງ: ເຈັດຂະບວນການພື້ນຖານທີ່ແຕກຕ່າງກັນ (ຫຼືວຽກ cron, ເຊິ່ງແມ່ນວຽກງານທີ່ຖືກກໍານົດໄວ້ໂດຍອັດຕະໂນມັດ) ແລະຄົນງານທີ່ເຮັດວຽກຢ່າງງຽບໆ. ບໍ່ມີຫຍັງເລີຍ ບັນຫາ, ພວກເຮົາພົບເຫັນພວກເຂົາແນວໃດ, ແລະສິ່ງທີ່ພວກເຮົາໄດ້ເຮັດກ່ຽວກັບມັນ. ເປັນຫຍັງມັນສໍາຄັນຫຼາຍກ່ວາທີ່ເຈົ້າຄິດແມ່ນແລ້ວ, ການໃຊ້ໂຄງສ້າງພື້ນຖານທີ່ບໍ່ຈໍາເປັນຕ້ອງໃຊ້ເງິນ, ຂ້ອຍໄດ້ຄິດໄລ່ຢ່າງໄວວາແລະສໍາລັບຄົນງານຄົນຫນຶ່ງ, ພວກເຮົາຈະໄດ້ຈ່າຍ ~ $ 360-600 ໃນໄລຍະ 5 ປີ, ນີ້ແມ່ນຈໍານວນເລັກນ້ອຍໃນແຜນການທີ່ຍິ່ງໃຫຍ່ຂອງການເງິນຂອງພວກເຮົາ, ແຕ່ແນ່ນອນບໍ່ມີສິ່ງເສດເຫຼືອໃດໆທີ່ຈະເກີດຂຶ້ນ. ຕົວຈິງແລ້ວຄ່າໃຊ້ຈ່າຍແມ່ນສ່ວນນ້ອຍທີ່ສຸດຂອງບັນຫາ. ທຸກໆຄັ້ງທີ່ວິສະວະກອນໃໝ່ເຂົ້າຮ່ວມທີມ ແລະ ສຳຫຼວດລະບົບຂອງພວກເຮົາ, ເຂົາເຈົ້າຈະພົບກັບຂະບວນການລຶກລັບເຫຼົ່ານີ້ "ພະນັກງານຄົນນີ້ເຮັດຫຍັງຢູ່?" ກາຍເປັນຄຳຖາມທີ່ກິນເວລາຂຶ້ນເຮືອບິນ ແລະສ້າງຄວາມບໍ່ແນ່ນອນ - ການແນມເບິ່ງລະຫັດໃດໜຶ່ງ, ຢ້ານທີ່ຈະແຕະຕ້ອງມັນ ເພາະບາງທີມັນອາດເຮັດໃຫ້ການອັບເດດມີຄວາມສຳຄັນຫຼາຍ. ການແກ້ໄຂຄວາມເຂົ້າກັນໄດ້ເມື່ອມີສິ່ງອື່ນປ່ຽນແປງ, ອັນນີ້ເຮັດໃຫ້ທີມງານຂອງພວກເຮົາໃຊ້ຈ່າຍໃນຮອບວຽນການບຳລຸງຮັກສາລະຫັດທີ່ບໍ່ມີຈຸດປະສົງ. ແລະເມື່ອເວລາຜ່ານໄປ, ຄວາມຮູ້ຂອງສະຖາບັນຈະຫາຍໄປ, ມັນເປັນການແກ້ໄຂຊົ່ວຄາວທີ່ກາຍເປັນແບບຖາວອນບໍ? ຖືກຍົກເລີກ, ແຕ່ວຽກພື້ນຖານທີ່ສະຫນັບສະຫນູນມັນຍັງສືບຕໍ່ເຮັດວຽກຢູ່, ມີຄົນຫມຸນຄົນງານ "ຊົ່ວຄາວ" ເພື່ອຈັດການກັບການເຄື່ອນຍ້າຍ, ແລະມັນບໍ່ເຄີຍຖືກທໍາລາຍ, ວຽກງານທີ່ຖືກກໍານົດໄວ້ຈະກາຍເປັນຊ້ໍາຊ້ອນຫຼັງຈາກການປ່ຽນແປງສະຖາປັດຕະຍະກໍາ, ແຕ່ບໍ່ມີໃຜຄິດທີ່ຈະກວດສອບ ອີເມວທີ່ປັບແຕ່ງສະເພາະຕົວໃນປີ 2020, ພວກເຮົາໄດ້ປ່ຽນເຄື່ອງມືທາງອີເມລ໌ທາງທຸລະກຳຂອງພວກເຮົາ ແຕ່ລືມເອົາພະນັກງານຄົນນີ້ອອກ—ມັນສືບຕໍ່ແລ່ນໄປອີກຫ້າປີ. ບໍ່ມີອັນໃດແມ່ນຄວາມລົ້ມເຫລວຂອງບຸກຄົນ — ເຂົາເຈົ້າເປັນຄວາມລົ້ມເຫລວຂອງຂະບວນການໂດຍບໍ່ໄດ້ຕັ້ງໃຈທຳຄວາມສະອາດໃນວິທີການເຮັດວຽກ, entropy ຊະນະ. ວິທີທີ່ສະຖາປັດຕະຍະກຳຂອງພວກເຮົາຊ່ວຍພວກເຮົາຊອກຫາມັນຄືກັບຫຼາຍບໍລິສັດ, Buffer codes ທີ່ເປັນທີ່ນິຍົມກັນ. ການບໍລິການເອກະລາດ) ໃນປີກ່ອນ. ພວກເຮົາແຍກ monolith ຂອງພວກເຮົາອອກເປັນບໍລິການແຍກຕ່າງຫາກ, ແຕ່ລະຄົນມີ repository ຂອງຕົນເອງ, ທໍ່ນໍາໄປໃຊ້, ແລະໂຄງສ້າງພື້ນຖານໃນເວລານັ້ນ, ມັນສົມເຫດສົມຜົນ: ແຕ່ລະບໍລິການສາມາດ deployed ຂອງຕົນເອງ, ມີຂອບເຂດທີ່ຈະແຈ້ງລະຫວ່າງທີມງານ ເປັນເຂດແດນທີ່ມີເຫດຜົນ, ແຕ່ພວກເຂົາອາໄສຢູ່ຮ່ວມກັນຢູ່ໃນສະຖານທີ່ດຽວ. ນີ້ກາຍເປັນສິ່ງທີ່ເຮັດໃຫ້ການຄົ້ນພົບເປັນໄປໄດ້. ໃນໂລກຂອງບໍລິການຈຸລະພາກ, ແຕ່ລະ repository ແມ່ນເກາະຂອງຕົນເອງ, ພະນັກງານທີ່ລືມໃນ repo ຫນຶ່ງອາດຈະບໍ່ສັງເກດເຫັນໂດຍວິສະວະກອນທີ່ເຮັດວຽກຢູ່ບ່ອນອື່ນ, ບໍ່ມີບ່ອນດຽວທີ່ຈະຊອກຫາຊື່ຄິວ, ບໍ່ມີມຸມເບິ່ງລວມຂອງສິ່ງທີ່ກໍາລັງແລ່ນຢູ່ບ່ອນໃດ. ໃນທີ່ສຸດພວກເຮົາສາມາດເບິ່ງຮູບພາບທັງຫມົດໃນຫນຶ່ງ ຜູ້ຜະລິດ.ການຄົ້ນພົບເກືອບບໍ່ສາມາດຫຼີກລ່ຽງໄດ້.ສິ່ງທີ່ພວກເຮົາເຮັດຕົວຈິງເມື່ອພວກເຮົາກໍານົດຂະບວນການເດັກກໍາພ້າ, ພວກເຮົາຕ້ອງຕັດສິນໃຈວ່າຈະເຮັດແນວໃດກັບເຂົາເຈົ້າ. ນີ້ແມ່ນວິທີທີ່ພວກເຮົາເຂົ້າຫາມັນ. ທໍາອິດ, ພວກເຮົາຕິດຕາມແຕ່ລະຄົນໄປຫາຕົ້ນກໍາເນີດຂອງມັນ. ພວກເຮົາຂຸດຜ່ານປະຫວັດສາດ git ແລະເອກະສານເກົ່າເພື່ອເຂົ້າໃຈວ່າເປັນຫຍັງພະນັກງານແຕ່ລະຄົນຖືກສ້າງຂື້ນໃນຄັ້ງທໍາອິດ. ໃນກໍລະນີຫຼາຍທີ່ສຸດ, ຈຸດປະສົງຕົ້ນສະບັບແມ່ນຈະແຈ້ງ: ການໂອນຂໍ້ມູນແບບຄັ້ງດຽວ, ຄຸນສົມບັດທີ່ໄດ້ຕາເວັນຕົກ, ການແກ້ໄຂຊົ່ວຄາວທີ່ມີປະໂຫຍດຂອງມັນ. ຈາກນັ້ນພວກເຮົາຢືນຢັນວ່າພວກມັນບໍ່ໄດ້ໃຊ້ແທ້ໆ. ກ່ອນທີ່ຈະເອົາອັນໃດອັນໜຶ່ງອອກ, ພວກເຮົາໄດ້ເພີ່ມການລົງທືນເພື່ອກວດສອບວ່າຂະບວນການເຫຼົ່ານີ້ບໍ່ໄດ້ເຮັດອັນສຳຄັນທີ່ພວກເຮົາພາດໄປຢ່າງງຽບໆ. ພວກເຮົາໄດ້ຕິດຕາມສອງສາມມື້ເພື່ອໃຫ້ແນ່ໃຈວ່າພວກເຂົາບໍ່ໄດ້ໂທຫາທັງຫມົດ, ແລະພວກເຮົາເອົາພວກມັນອອກເທື່ອລະກ້າວ. ພວກເຮົາບໍ່ໄດ້ລຶບທຸກຢ່າງໃນຄັ້ງດຽວ. ພວກ​ເຮົາ​ໄດ້​ລົບ​ຂະ​ບວນ​ການ​ຫນຶ່ງ​ໂດຍ​ຫນຶ່ງ​, ການ​ເບິ່ງ​ສໍາ​ລັບ​ຜົນ​ກະ​ທົບ​ຂ້າງ​ຄຽງ​ທີ່​ບໍ່​ຄາດ​ຄິດ​ໃດໆ​. (ໂຊກດີ, ບໍ່ມີອັນໃດເລີຍ.)ສຸດທ້າຍ, ພວກເຮົາໄດ້ບັນທຶກສິ່ງທີ່ພວກເຮົາໄດ້ຮຽນຮູ້. ພວກເຮົາໄດ້ເພີ່ມບັນທຶກໃສ່ເອກະສານພາຍໃນຂອງພວກເຮົາກ່ຽວກັບສິ່ງທີ່ແຕ່ລະຂະບວນການໄດ້ເຮັດໃນຕອນຕົ້ນ ແລະ ເປັນຫຍັງມັນຈຶ່ງຖືກລຶບອອກ, ດັ່ງນັ້ນນັກວິສະວະກອນໃນອະນາຄົດຈະບໍ່ສົງໄສວ່າມີສິ່ງທີ່ສໍາຄັນຫາຍໄປ. ສິ່ງທີ່ມີການປ່ຽນແປງຫຼັງຈາກການເຮັດຄວາມສະອາດພວກເຮົາຍັງຢູ່ໃນໄວໃນການວັດແທກຜົນກະທົບຢ່າງເຕັມທີ່, ແຕ່ນີ້ແມ່ນສິ່ງທີ່ພວກເຮົາເຫັນມາເຖິງຕອນນັ້ນ. ຂໍ້ມູນພື້ນຖານໂຄງລ່າງຂອງພວກເຮົາແມ່ນຖືກຕ້ອງແລ້ວ. ເມື່ອມີຄົນຖາມວ່າ, "ພວກເຮົາເຮັດວຽກຫຍັງ?" ພວກເຮົາສາມາດຕອບຄຳຖາມນັ້ນໄດ້ຢ່າງໝັ້ນໃຈ. ວິສະວະກອນໃຫມ່ບໍ່ໄດ້ສະດຸດໃນຂະບວນການທີ່ລຶກລັບແລະສົງໄສວ່າພວກເຂົາຂາດບໍລິບົດ. codebase ສະທ້ອນເຖິງສິ່ງທີ່ພວກເຮົາເຮັດຕົວຈິງ, ບໍ່ແມ່ນສິ່ງທີ່ພວກເຮົາໄດ້ເຮັດເມື່ອຫ້າປີກ່ອນ. ປະຕິບັດ refactors ເປັນໂບຮານຄະດີແລະການປ້ອງກັນການຖອນຕົວທີ່ໃຫຍ່ທີ່ສຸດຂອງຂ້ອຍຈາກໂຄງການນີ້: ທຸກໆ refactor ທີ່ສໍາຄັນແມ່ນໂອກາດສໍາລັບໂບຮານຄະດີ. ເມື່ອທ່ານເລິກເຂົ້າໄປໃນລະບົບ, ເຂົ້າໃຈຢ່າງແທ້ຈິງວ່າຊິ້ນສ່ວນເຊື່ອມຕໍ່ແນວໃດ, ທ່ານຢູ່ໃນຕໍາແຫນ່ງທີ່ສົມບູນແບບທີ່ຈະຖາມສິ່ງທີ່ຍັງຕ້ອງການ. ແຖວນັ້ນມາຈາກໂຄງການເກົ່າບໍ? ຄົນງານທີ່ຄົນສ້າງຂື້ນເພື່ອການເຄື່ອນຍ້າຍຂໍ້ມູນຄັ້ງດຽວ? ວຽກທີ່ຕັ້ງໄວ້ທີ່ອ້າງອີງເຖິງຄຸນສົມບັດທີ່ທ່ານບໍ່ເຄີຍໄດ້ຍິນບໍ? ພວກມັນອາດຈະຍັງແລ່ນຢູ່. ນີ້ແມ່ນສິ່ງທີ່ພວກເຮົາກຳລັງສ້າງໃນຂະບວນການຂອງພວກເຮົາໃນຕໍ່ໜ້າ: ໃນລະຫວ່າງການ refactor ໃດ, ຖາມວ່າ: ມີຫຍັງອີກແດ່ທີ່ແຕະຕ້ອງລະບົບນີ້ທີ່ພວກເຮົາບໍ່ໄດ້ເບິ່ງໃນຂະນະນີ້? ເມື່ອຍົກເລີກຄຸນສົມບັດ, ຕິດຕາມມັນໄປຕະຫຼອດຂັ້ນຕອນຂອງຂະບວນການພື້ນຖານຂອງມັນ, ບໍ່ພຽງແຕ່ລະຫັດທີ່ປະເຊີນກັບຜູ້ໃຊ້ເທົ່ານັ້ນ. ເມື່ອມີຄົນອອກຈາກທີມງານ, ບັນທຶກສິ່ງທີ່ພວກເຂົາຮັບຜິດຊອບໃນລະຫັດທີ່ເກົ່າກວ່ານັ້ນ, ໂດຍສະເພາະໃນພື້ນຖານຂອງພວກເຮົາ. ຍັງ​ບໍ່​ທັນ​ໄດ້​ຮັບ​ການ​ຍົກ​ຍ້າຍ​ໄປ​ໃນ repository ດຽວ​. ໃນຂະນະທີ່ພວກເຮົາສືບຕໍ່ການລວມຕົວກັນ, ພວກເຮົາໝັ້ນໃຈວ່າພວກເຮົາຈະພົບເຫັນວັດຖຸບູຮານທີ່ເຊື່ອງໄວ້ເຫຼົ່ານີ້ຫຼາຍຂຶ້ນ. ແຕ່ດຽວນີ້ພວກເຮົາຖືກຕັ້ງຂຶ້ນເພື່ອຈັບພວກມັນ ແລະປ້ອງກັນບໍ່ໃຫ້ອັນໃໝ່ເກີດຂຶ້ນ. ເມື່ອລະຫັດທັງໝົດຂອງເຈົ້າຢູ່ໃນບ່ອນດຽວ, ໂຄງສ້າງພື້ນຖານຂອງເດັກກຳພ້າບໍ່ມີບ່ອນໃດທີ່ຈະເຊື່ອງໄດ້.

You May Also Like

Enjoyed This Article?

Get weekly tips on growing your audience and monetizing your content — straight to your inbox.

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free