บ้าน ธุรกิจ Microservices: พวกเขาคืออะไรและทำไมธุรกิจของคุณควรใส่ใจ

Microservices: พวกเขาคืออะไรและทำไมธุรกิจของคุณควรใส่ใจ

วีดีโอ: Faith Evans feat. Stevie J – "A Minute" [Official Music Video] (กันยายน 2024)

วีดีโอ: Faith Evans feat. Stevie J – "A Minute" [Official Music Video] (กันยายน 2024)
Anonim

ภูมิประเทศซอฟต์แวร์ขององค์กรถูกทิ้งร้างด้วยเทคโนโลยี buzzy เราได้เขียนเกี่ยวกับสิ่งเหล่านั้นมากมายไม่ว่าจะเป็น blockchain, การพัฒนาโค้ดต่ำหรือแนวโน้มใหม่ ๆ ที่เปลี่ยนแปลงวิธีการทำงานของเรา หนึ่งใน buzzword ใหม่ที่คุณอาจไม่เคยได้ยินมาก่อนคือ "microservices"

นั่นคือจากการออกแบบ Microservices เป็นวิธีที่แตกต่างในการออกแบบซอฟแวร์โดยอาศัยส่วนประกอบของ interwoven modular แทนที่จะเป็นแนวคิดดั้งเดิมของ "monolith" ซึ่งเป็นแอปพลิเคชันที่ประกอบด้วยรหัสภูเขาที่เติบโตขึ้นมาหนึ่งชุด แอปที่ใช้ Microservices ไม่ได้ดูแตกต่างจากฝั่งผู้ใช้ (UI) ไม่ว่าจะเป็นแอพในศูนย์ข้อมูลที่ซับซ้อนหรือเว็บหรือแอพมือถือที่โฮสต์บนโครงสร้างพื้นฐานคลาวด์ที่ปรับขนาดได้

เหตุผลที่ธุรกิจควรใส่ใจเกี่ยวกับบริการขนาดเล็กคือเบื้องหลังสถาปัตยกรรมสามารถช่วยให้การพัฒนาและทีมไอทีของคุณทำงานและสร้างสรรค์สิ่งใหม่ ๆ ได้เร็วขึ้นจัดการโครงสร้างพื้นฐานและลดต้นทุนและความซับซ้อนในการเพิ่มฟีเจอร์และฟังก์ชั่นใหม่ให้กับแอป Al Hilwa ผู้อำนวยการโครงการวิจัยการพัฒนาซอฟท์แวร์แอพพลิเคชั่นที่ IDC อธิบายว่าเขาจะจัดการไมโครซอฟท์แวร์ให้กับผู้บริหารอย่างไรโดยคำนึงถึงความท้าทายทางวัฒนธรรมและเทคโนโลยี

"เมื่อสร้างระบบใหม่อาจเป็นประเด็นสำคัญที่ต้องตระหนักว่าไมโครทีมเดียวควรสร้างโดยทีมเล็ก ๆ " ฮิลวากล่าว "ประการที่สองความอดทนต่อความหลากหลายในภาษาการเขียนโปรแกรมและขั้นตอนการทำงานของนักพัฒนามักจะบอกเป็นนัยถึงลักษณะที่เป็นอิสระของวัฒนธรรมไมโครไซต์โดยรวมระดับเสียงหลักของผู้บริหารคือการสร้างซอฟต์แวร์แบบเพิ่มหน่วยโดยใช้ทีมเล็ก ๆ อินเทอร์เฟซข้อดีคือโมดูลอิสระสามารถพัฒนาได้เร็วขึ้นอย่างเป็นอิสระตราบใดที่ API ที่เผยแพร่นั้นได้รับการจัดการอย่างเป็นระบบ "

Microservices คืออะไรจริงเหรอ?

Hilwa เขียนรายงาน IDC ปี 2558 เรื่อง "การเกิดขึ้นของ Microservices เป็นแนวทางสถาปัตยกรรมใหม่เพื่อสร้างระบบซอฟต์แวร์ใหม่" ในรายงานเขากำหนด microservices เป็นสถาปัตยกรรมซอฟต์แวร์ย่อยที่ส่วนประกอบของแอปได้รับการออกแบบและพัฒนาอย่างอิสระเพื่อตอบสนองความต้องการการทำงานร่วมกันที่กำหนดโดย API (หมายถึงผูกกลับเข้าไปในแอปโดยรวม) แม้ว่า Microservices ไม่มีอยู่ในสุญญากาศ สถาปัตยกรรมใหม่ต้องการการสนับสนุนจากองค์กรที่แข็งแกร่งและการเปลี่ยนแปลงของวัฒนธรรมไอที

Microservices ยังไม่ได้ถูกกำหนดโดยเทคโนโลยีเฉพาะใด ๆ แต่เป็นวิวัฒนาการของแนวคิดที่ยาวนานของสถาปัตยกรรมที่มุ่งเน้นบริการ (SOA) ที่เพิ่มขึ้นจากการถือกำเนิดของภาชนะบรรจุและการเพิ่มขึ้นของระบบอัตโนมัติผ่านแนวทางการพัฒนาเช่นการส่งมอบอย่างต่อเนื่อง (CD) (CI)

"องค์กรที่ใช้บริการไมโครไซต์ในปัจจุบันมักได้รับแรงบันดาลใจจากความต้องการในการพัฒนาบริการที่รวดเร็วยิ่งขึ้น" ฮิลวากล่าว "ดังนั้นในกรณีส่วนใหญ่ microservices ใช้ระบบอัตโนมัติ CI / CD ในระดับที่ดีอย่างไรก็ตามการปรับใช้จริงอาจแตกต่างกันระหว่างบริการฉันคิดว่ากุญแจสำคัญคือการมองวัฒนธรรมภายในและเป็น แน่ใจว่าคุณยินดีที่จะยอมรับการกระจายอำนาจและความหลากหลายในกองเทคโนโลยีมากขึ้น "

โดย "วัฒนธรรมภายใน" Hilwa อ้างถึง DevOps เป็นหลักซึ่งรวมถึงการพัฒนาซอฟต์แวร์การดำเนินงานด้านไอทีและการประกันคุณภาพ (QA) ให้เป็นกระบวนการทำงานร่วมกันที่เดียว การเริ่มต้นซอฟต์แวร์ DevOps HashiCorp และผู้ก่อตั้ง บริษัท เป็นผู้สนับสนุนไมโครไซต์มายาวนาน บริษัท ซึ่งได้รับการสนับสนุนเงินทุน Series B รอบ 24 ล้านดอลลาร์นั้นนับรวม บริษัท ต่างๆเช่น Cisco, DigitalOcean, Mozilla และ Stripe ในหมู่ผู้ใช้โอเพ่นซอร์สและลูกค้าองค์กร

Microservices เป็นหัวใจสำคัญในการที่ HashiCorp เข้าใกล้การพัฒนาโครงสร้างพื้นฐาน DevOps และแอพเวิร์กโฟลว์ผ่านเครื่องมือโอเพนซอร์ซยอดนิยมและชุดผลิตภัณฑ์องค์กรที่กำลังเติบโต Armon Dadgar, CTO และผู้ร่วมก่อตั้ง HashiCorp ได้ทำลายความแตกต่างระหว่าง monoliths และ microservices โดยใช้การเปรียบเทียบง่ายๆ: Amazon และ eBay

Dadgar กล่าวว่า“ คิดถึง Amazon และ eBay เป็นแอปพลิเคชั่นเดียวจากมุมมองของผู้ใช้พวกเขาดูเหมือนกัน แต่เบื้องหลัง บริษัท เหล่านั้นใช้วิธีที่ตรงกันข้ามในการสร้างและออกแบบแอพพลิเคชันของพวกเขา” Dadgar กล่าว "Amazon ตั้งแต่แรกเริ่มเป็นชุดของ microservices มันทำหน้าที่เป็นแอพเดียว แต่ถ้าคุณทำการค้นหาแคตตาล็อกผลิตภัณฑ์ตะกร้าสินค้าใบแจ้งหนี้กระแสสั่งซื้อและแยกฟังก์ชั่นเหล่านั้น เครื่อง."

การเปรียบเทียบของอเมซอนยังรวมไปถึงโครงสร้างของอเมซอนด้วยเช่นกัน Dadgar อธิบายวิธีการทางเทคโนโลยีเช่น microservices เป็นเครื่องมือในการสนับสนุนการเคลื่อนไหวของกระบวนการที่มีขนาดใหญ่ขึ้นสู่ DevOps "Two Pizza Rule" ของ Jeff Bezos ได้ผลดังนั้นมีเพียงห้าถึงแปดคนเท่านั้นที่อยู่ในทีมอเมซอน หากทีมใหญ่ขึ้นก็จะแบ่งออกเป็นสองทีม

ลำดับชั้นขององค์กรของ Amazon เริ่มทำแผนที่ไปยังสิ่งที่ Dadgar อธิบายว่าเป็น "การสลายตัวของฟังก์ชันการทำงาน" แยกจากทั้งองค์กรและระดับสถาปัตยกรรมแบบแยกส่วนทุกทีมนั้นมีความสามารถในการพัฒนาและทดลองได้อย่างอิสระมากขึ้นโดยไม่จำเป็นต้องประสานงานกับการเปลี่ยนแปลงทุกอย่างในขณะที่ยังคงทำงานเป็นส่วนหนึ่งของแอพพลิเคชั่นเดียว

"eBay ใช้แนวทางแบบเสาหินพวกเขาสร้าง eBay ทั้งหมดด้วยรหัสแอพพลิเคชั่นที่มีความยาว 50 ล้านบรรทัด" Dadgar กล่าว "แนวทางไมโครเซสเซอรี่นั้นเจ็บปวดกว่าในตอนแรกเพราะปัญหาของโมดูลและการทำงานร่วมกันนั้นเป็นสิ่งที่ไม่มีอยู่ในเสาหิน แต่สิ่งต่าง ๆ เริ่มพังทลายลงเมื่อแอพใหญ่เกินไปในโมโนลิ ธ ไม่มีการสลายตัว

"คิดว่านักพัฒนาหลายร้อยหรือหลายพันคนทำงานร่วมกันบนรหัสฐานเดียวและพยายามประสานงานทีมงาน QA ที่เพิ่มฟังก์ชั่นการใช้งานในด้านหนึ่งของแอปพลิเคชันสามารถแยกแยะเรื่องทางอื่นเพราะไม่มีบทบาทและความรับผิดชอบที่ชัดเจน คุณต้องเริ่มประสานงานระหว่างผู้จัดการโครงการกับกระบวนการควบคุมคุณภาพที่ต้องใช้เวลาหลายสัปดาห์และพัฒนาคอขวดไม่ว่าทีมนั้นจะทำงานเร็วแค่ไหนมันเป็นพ่อครัวในครัวมากเกินไป "

ภาชนะบรรจุและบริการ Microservices ในโลก DevOps

วิธีที่ธุรกิจของคุณใช้สถาปัตยกรรม microservices จะไปไกลในการพิจารณาว่าจะลงทุนหรือไม่ Microservices เป็นงานที่ต้องทำล่วงหน้าโดยเฉพาะอย่างยิ่งในการรวม API ที่ใช้เพื่อให้แน่ใจว่าบริการทั้งหมดพูดคุยกัน ฮิลวาอธิบายว่ามันซับซ้อนยิ่งขึ้นเมื่อพยายามรวมไมโครแวร์เข้ากับระบบที่มีอยู่ เขาแนะนำให้องค์กรสร้างระบบใหม่เมื่อใดก็ตามที่เป็นไปได้แทนที่จะสร้างสถาปัตยกรรมแอปโมโนลิ ธ แบบเดิมสำหรับไมโครไซต์

"โดยทั่วไปแล้วสถาปัตยกรรมระบบแบบดั้งเดิมนั้นเกี่ยวข้องกับระบบฐานข้อมูลขนาดใหญ่ที่มีความซับซ้อนของการบันทึกด้วยแบบแผนมาตรฐานที่ซับซ้อน" ฮิลวากล่าว "การแยกระบบดังกล่าวออกเป็นส่วนประกอบที่เล็กลงด้วยระบบที่เป็นอิสระของพวกเขาเองต้องการงานออกแบบฐานข้อมูลจำนวนมากและการเขียนตรรกะหลักของแอปพลิเคชั่นส่วนใหญ่อย่างมีประสิทธิภาพซึ่งโดยทั่วไปแล้วค่าใช้จ่ายและเวลา

หากคุณสร้างแอปมรดกขึ้นมาใหม่ Hilwa แนะนำให้คุณเพิ่มขึ้นทีละน้อย แม้ว่าสำคัญยิ่งกว่าการรวม API แต่บริการไมโครไซต์ไม่สามารถทำงานได้หากปราศจากวัฒนธรรม DevOps Dadgar ของ HashiCorp กล่าวว่าเมื่อพูดถึง DevOps ที่มีขนาดใหญ่ขึ้น microservices กลายเป็นเครื่องมือในการเปลี่ยนกระบวนการที่มีขนาดใหญ่ขึ้นเพื่อเปลี่ยนเวิร์กโฟลว์โดยพื้นฐานที่เราส่งมอบแอพ เขาชี้ไปที่ Tao of HashiCorp เริ่มต้นเมื่อเขาและผู้ร่วมก่อตั้ง Mitchell Hashimoto เริ่มก่อตั้ง บริษัท : เรียบง่ายแบบแยกส่วนและเรียงความ

"DevOps ในบางแง่ก็เป็นคำที่มากไปกว่าการใช้ไมโครเซสเซอรี่" Dadgar กล่าว "แต่ธุรกิจประกอบด้วยคนที่มีความรู้แตกต่างกัน: นักพัฒนาผู้ประกอบการเจ้าหน้าที่รักษาความปลอดภัยแล้วคุณมีกระบวนการวิธีที่คุณจัดระเบียบคนเหล่านั้นจากนั้นคุณมีเครื่องมือที่จะสนับสนุนกระบวนการนั้นซึ่งเป็นที่ที่ไมโครไซต์และคอนเทนเนอร์ เข้ามา."

ภาชนะบรรจุที่ได้รับความนิยมจากการระเบิดโอเพนซอร์ซของโอเพ่นซอร์สนั้นยังห่างไกลจากการเป็น บริษัท เครื่องมือเพียงแห่งเดียวที่สามารถใช้เพื่ออำนวยความสะดวกในการบริการขนาดเล็ก Hilwa ของ IDC กล่าวว่าตู้คอนเทนเนอร์นั้นถูกใช้ในแอพที่ทันสมัยซึ่งเป็นส่วนหนึ่งของเวิร์กโฟลว์ CI / CD และในบางกรณีขณะที่ปรับใช้กับการผลิต แต่เขากล่าวว่า microservices สามารถใช้ประโยชน์จากเครื่องเสมือน (VMs) ได้เช่นกันโดยไม่ต้องใช้ภาชนะบรรจุ

เมื่อกล่าวถึงวิธีการที่เมฆธุรกิจพัฒนาขึ้น Docker container และ microservices เป็นชุดเครื่องมือที่ทรงพลังซึ่งได้รับการยอมรับจากธุรกิจทุกขนาดและรูปแบบตั้งแต่เริ่มต้นเช่น HashiCorp ไปจนถึงองค์กรยักษ์ใหญ่อย่าง Oracle Dadgar ของ HashiCorp กล่าวว่าภาชนะบรรจุเป็นวิธีที่สะดวกสบายที่ Dev และ Ops (และโดยการเชื่อมโยงทีมและบริการที่แตกต่างกัน) ติดต่อกัน

Dadgar กล่าวว่าสิ่งประดิษฐ์ที่เราส่งผ่านระหว่างนักพัฒนาและผู้ประกอบการคืออะไรเรากำลังไหลอย่างละเอียดและสร้างสิ่งรอบ ๆ ภาชนะบรรจุเป็นหน่วยที่สะดวกในการเคลื่อนย้าย "คิดเกี่ยวกับผลิตภัณฑ์จัดส่งทั่วโลกขององค์กรไม่ว่าจะเป็นเรือบรรทุกสินค้ารถไฟบรรทุกสินค้าหรือรถบรรทุกเป็นหน่วยเดียวกันที่ไหลผ่านระบบทั้งหมด"

DevOps และ microservices ยังห่างไกลจากการนำไปใช้ในองค์กรอย่างกว้างขวาง แต่ตลาดกำลังเติบโตเท่านั้น ตามรายงานของ IDC สถาปัตยกรรม microservices จะเข้าสู่ระยะการเติบโตในอีกห้าปีข้างหน้า การครบกำหนดนี้จะเกิดขึ้นจากวัฒนธรรม DevOps ที่เข้าถึง 50% ขององค์กรในปี 2020 การพัฒนาอย่างต่อเนื่องของเครื่องมืออัตโนมัติด้านซอฟต์แวร์และการครอบครองโครงสร้างพื้นฐานคลาวด์ราคาถูกที่ปรับขนาดได้ซึ่งจัดหาโดย Amazon Web Services (AWS) และ Microsoft Azure

Dadgar กล่าวว่าแม้ในขณะที่วิสาหกิจขนาดเล็กที่ใช้ DevOps และ microservices ในขณะนี้ HashiCorp ก็เป็นสมาชิกที่เกินขอบเขตอย่างมาก มันสร้างรายได้เจ็ดหลักแรกหลังจากขายเพียงเก้าเดือนบนยอดชุมชนโอเพนซอร์สบน GitHub ของผู้ใช้ที่ใช้งานอยู่หลายล้านคนต่อเดือน Microservices เป็นเพียงส่วนหนึ่งของกระบวนการทำงานของแอพเวิร์กโฟลว์ของ HashiCorp และแผนงานโครงสร้างพื้นฐาน DevOps ที่ใหญ่ขึ้น แต่ความเป็นโมดูลและความสามารถในการทำงานร่วมกันภายใต้ทุกสิ่งที่ บริษัท สร้างนั้นเป็นตัวกระตุ้นให้เกิดการเพิ่มขึ้นอย่างรวดเร็วของหนึ่งในสุดยอดซอฟต์แวร์สตาร์ทอัพใน Silicon Valley

“ สี่ปีที่แล้วเมื่อเราเริ่มต้นเราจะเข้าร่วมการประชุมและกำหนดวิสัยทัศน์ของเราสำหรับวิธีการจัดการโครงสร้างพื้นฐาน” Dadgar กล่าว "เราไม่ได้หัวเราะนอกห้องอย่างแน่นอนเรารู้ว่ามันเร็ว แต่ตอนนี้เครื่องมือของเราอย่าง Terraform กำลังจะกลายเป็นมาตรฐานอุตสาหกรรมสิ่งที่เราเห็นคือผลกระทบโดมิโนจากความกดดันในการแข่งขันและใน ในระยะยาวบทบาทของเราจะทำงานร่วมกับ CIO และ CTO เพื่อทำความเข้าใจกับการเปลี่ยนแปลงกระบวนการที่พวกเขาต้องการ

“ ลองคิดถึงโตโยต้าในวันนี้” Dadgar กล่าวต่อ "คุณมี บริษัท รถหลายแห่งที่สร้างผลิตภัณฑ์ แต่ราคาสูงกว่าที่ควรจะเป็นโตโยต้าไม่ได้คิดค้นสิ่งที่เป็นรถพวกเขามีความเข้มงวดมากขึ้นและเพิ่มขึ้นเกี่ยวกับกระบวนการและเดินจากหัวเราะไปที่โรงไฟฟ้าบังคับ ส่วนที่เหลือของอุตสาหกรรมจะนำแนวทางปฏิบัติชุดเดียวกันมาใช้เพื่อรักษาความสามารถในการแข่งขันในตอนนี้เรามีผู้นำอุตสาหกรรมที่ถามว่าพวกเขาจะได้เปรียบในการแข่งขันอย่างไรและคำตอบของพวกเขาคือการนำแนวทางปฏิบัติของตลาด Googles และ Amazons ประเด็นก็จะโดนมวลที่สำคัญ "

Microservices: พวกเขาคืออะไรและทำไมธุรกิจของคุณควรใส่ใจ