https://www.gitbook.com/download/mobi/book/dzfweb/microsoft-microservices-book
https://www.gitbook.com/download/epub/book/dzfweb/microsoft-microservices-book
https://www.gitbook.com/book/dzfweb/microsoft-microservices-book/details
ดาวน์โหลดได้ที่: https://aka.ms/microservicesebook
เผยแพร่โดย
ทีมงานผลิตภัณฑ์ Microsoft Developer Division, .NET และ Visual Studio
แผนกหนึ่งของ Microsoft Corporation
วิธีหนึ่งของ Microsoft
เรดมันด์ วอชิงตัน 98052-6399
ลิขสิทธิ์ © 2017 โดย Microsoft Corporation
สงวนลิขสิทธิ์. ห้ามทำซ้ำหรือส่งต่อเนื้อหาส่วนใดส่วนหนึ่งของหนังสือเล่มนี้ในรูปแบบใด ๆ หรือโดยวิธีการใด ๆ โดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษรจากผู้จัดพิมพ์
หนังสือเล่มนี้จัดทำขึ้น "ตามสภาพ" และแสดงความคิดเห็นและความคิดเห็นของผู้เขียน มุมมอง ความคิดเห็น และข้อมูลที่แสดงในหนังสือเล่มนี้ รวมถึง URL และการอ้างอิงเว็บไซต์อินเทอร์เน็ตอื่นๆ อาจเปลี่ยนแปลงได้โดยไม่ต้องแจ้งให้ทราบ
ตัวอย่างบางส่วนที่ปรากฎในที่นี้จัดทำขึ้นเพื่อประกอบการอธิบายเท่านั้นและเป็นเพียงเรื่องสมมติ ไม่มีการเชื่อมโยงหรือความเชื่อมโยงที่แท้จริงที่มีจุดมุ่งหมายหรือไม่ควรอนุมาน
Microsoft และเครื่องหมายการค้าที่แสดงอยู่ที่ http://www.microsoft.com บนเว็บเพจ “เครื่องหมายการค้า” เป็นเครื่องหมายการค้าของกลุ่มบริษัท Microsoft
Mac และ macOS เป็นเครื่องหมายการค้าของ Apple Inc.
โลโก้วาฬ Docker เป็นเครื่องหมายการค้าจดทะเบียนของ Docker, Inc. ใช้โดยได้รับอนุญาต
เครื่องหมายและโลโก้อื่นๆ ทั้งหมดเป็นทรัพย์สินของเจ้าของที่เกี่ยวข้อง
ผู้เขียนร่วม:
Cesar de la Torre ผู้จัดการอาวุโส ทีมผลิตภัณฑ์ .NET, Microsoft Corp.
Bill Wagner นักพัฒนาเนื้อหาอาวุโส C+E, Microsoft Corp.
Mike Rousos หัวหน้าวิศวกรซอฟต์แวร์ ทีม DevDiv CAT จาก Microsoft
บรรณาธิการ:
ไมค์ โป๊ป
สตีฟ โฮก
ผู้เข้าร่วมและผู้ตรวจสอบ:
Jeffrey Ritcher พันธมิตรด้านซอฟต์แวร์ภาษาอังกฤษ ทีม Azure และ Microsoft
Jimmy Bogard หัวหน้าสถาปนิกของ Headspring
Udi Dahan ผู้ก่อตั้งและซีอีโอของ Particular Software
จิมมี่ นิลส์สัน ผู้ร่วมก่อตั้งและซีอีโอของ Factor10
Glenn Condron ผู้จัดการโปรแกรมอาวุโส ทีม ASP.NET
Mark Fussell หัวหน้า PM หัวหน้าทีม Azure Service Fabric ของ Microsoft
Diego Vega หัวหน้า PM ทีม Entity Framework ของ Microsoft
Barry Dorrans ผู้จัดการโปรแกรมอาวุโสด้านความปลอดภัย
Rowan Miller ผู้จัดการอาวุโสโครงการ Microsoft
อังกิต อัสธนา ผู้จัดการ PM หลัก ทีม .NET จาก Microsoft
Scott Hunter ผู้อำนวยการหุ้นส่วน PM ทีม .NET, Microsoft
Dylan Reisenberger สถาปนิกและหัวหน้าฝ่ายพัฒนาของ Polly
Steve Smith ช่างฝีมือซอฟต์แวร์และผู้ฝึกสอนที่ ASPSmith Ltd.
เอียน คูเปอร์ สถาปนิกการเขียนโค้ดจาก Brighter
Unai Zorrilla สถาปนิกและหัวหน้าฝ่ายพัฒนาของ Plain Concepts
Eduard Tomas หัวหน้าฝ่ายพัฒนาของ Plain Concepts
Ramon Tomas ผู้พัฒนาจาก Plain Concepts
David Sanz ผู้พัฒนาที่ Plain Concepts
Javier Valero ประธานเจ้าหน้าที่ฝ่ายปฏิบัติการของ Grupo Solutio
Pierre Millet ที่ปรึกษาอาวุโส Microsoft
Michael Friis ผู้จัดการผลิตภัณฑ์ Docker Inc
Charles Lowell วิศวกรซอฟต์แวร์ ทีม VS CAT ของ Microsoft
องค์กรต่างๆ ตระหนักถึงการประหยัดต้นทุน การแก้ปัญหาการปรับใช้ และปรับปรุงการดำเนินการ DevOps และการผลิตโดยใช้คอนเทนเนอร์มากขึ้นเรื่อยๆ Microsoft ได้เผยแพร่นวัตกรรมคอนเทนเนอร์สำหรับ Windows และ Linux โดยการสร้างผลิตภัณฑ์เช่น Azure Container Service และ Azure Service Fabric และโดยการร่วมมือกับผู้นำในอุตสาหกรรมเช่น Docker, Mesosphere และ Kubernetes ผลิตภัณฑ์เหล่านี้นำเสนอโซลูชันคอนเทนเนอร์ที่ช่วยให้บริษัทต่างๆ สร้างและปรับใช้แอปพลิเคชันด้วยความเร็วและขนาดระบบคลาวด์ ไม่ว่าพวกเขาจะเลือกใช้แพลตฟอร์มหรือเครื่องมือใดก็ตาม
Docker กำลังกลายเป็นมาตรฐานในอุตสาหกรรมคอนเทนเนอร์ โดยได้รับการสนับสนุนจากผู้จำหน่ายที่สำคัญที่สุดในระบบนิเวศ Windows และ Linux (Microsoft เป็นหนึ่งในผู้จำหน่ายระบบคลาวด์หลักที่สนับสนุน Docker) ในอนาคต Docker อาจจะแพร่หลายในศูนย์ข้อมูลใดๆ ในระบบคลาวด์หรือในองค์กร
นอกจากนี้ สถาปัตยกรรมไมโครเซอร์วิสยังกลายเป็นแนวทางที่สำคัญสำหรับแอปพลิเคชันที่มีภารกิจสำคัญแบบกระจาย ในสถาปัตยกรรมแบบไมโครเซอร์วิส แอปพลิเคชันสร้างขึ้นจากคอลเลกชันบริการที่สามารถพัฒนา ทดสอบ ปรับใช้ และกำหนดเวอร์ชันได้อย่างอิสระ
คู่มือนี้เป็นข้อมูลเบื้องต้นเกี่ยวกับการพัฒนาแอปพลิเคชันที่ใช้ไมโครเซอร์วิสและการจัดการแอปพลิเคชันเหล่านั้นโดยใช้คอนเทนเนอร์ โดยจะกล่าวถึงแนวทางการออกแบบสถาปัตยกรรมและการใช้งานโดยใช้คอนเทนเนอร์ .NET Core และ Docker เพื่อให้เริ่มต้นใช้งานคอนเทนเนอร์และไมโครเซอร์วิสได้ง่ายขึ้น คู่มือนี้จะเน้นไปที่แอปพลิเคชันแบบคอนเทนเนอร์และไมโครเซอร์วิสอ้างอิงที่คุณสามารถสำรวจได้ แอปพลิเคชันตัวอย่างมีอยู่ที่ eShopOnContainers GitHub repo
คู่มือนี้ให้คำแนะนำเกี่ยวกับการพัฒนาพื้นฐานและสถาปัตยกรรมในระดับสภาพแวดล้อมการพัฒนาโดยเน้นที่เทคโนโลยีสองอย่าง: Docker และ .NET Core ความตั้งใจของเราคือให้คุณอ่านคู่มือนี้เมื่อคิดถึงการออกแบบแอปพลิเคชันของคุณโดยไม่ต้องมุ่งเน้นไปที่โครงสร้างพื้นฐาน (ระบบคลาวด์หรือในองค์กร) ของสภาพแวดล้อมการผลิตของคุณ คุณจะตัดสินใจเกี่ยวกับโครงสร้างพื้นฐานของคุณในภายหลัง เมื่อคุณสร้างแอปพลิเคชันที่พร้อมสำหรับการผลิต ดังนั้น คู่มือนี้จึงมีวัตถุประสงค์เพื่อให้โครงสร้างพื้นฐานไม่เชื่อเรื่องพระเจ้าและเน้นการพัฒนาที่เน้นสิ่งแวดล้อมเป็นหลัก
หลังจากที่คุณศึกษาคู่มือนี้แล้ว ขั้นตอนต่อไปคือการเรียนรู้เกี่ยวกับไมโครเซอร์วิสที่พร้อมใช้งานจริงบน Microsoft Azure
คู่มือนี้ไม่เน้นที่วงจรการใช้งานของแอปพลิเคชัน, DevOps, ไปป์ไลน์ CI/CD หรือการทำงานเป็นทีม คู่มือเสริม Containerized Docker Application Lifecycle พร้อมแพลตฟอร์มและเครื่องมือของ Microsoft จะเน้นที่หัวข้อดังกล่าว คู่มือปัจจุบันยังไม่ได้ให้รายละเอียดการใช้งานบนโครงสร้างพื้นฐาน Azure เช่น ข้อมูลเกี่ยวกับผู้เรียบเรียงเฉพาะ
เราเขียนคู่มือนี้สำหรับนักพัฒนาและสถาปนิกโซลูชันที่ยังใหม่ต่อการพัฒนาแอปพลิเคชันบน Docker และสถาปัตยกรรมบนไมโครเซอร์วิส คู่มือนี้เหมาะสำหรับคุณหากคุณต้องการเรียนรู้วิธีการออกแบบ ออกแบบ และปรับใช้แอปพลิเคชันที่พิสูจน์แนวคิดด้วยเทคโนโลยีการพัฒนาของ Microsoft (โดยเน้นที่ .NET Core เป็นพิเศษ) และคอนเทนเนอร์ Docker
นอกจากนี้ คุณจะพบว่าคู่มือนี้มีประโยชน์หากคุณเป็นผู้ตัดสินใจทางเทคนิค เช่น สถาปนิกระดับองค์กร ที่ต้องการภาพรวมสถาปัตยกรรมและเทคโนโลยี ก่อนที่คุณจะตัดสินใจว่าจะเลือกแนวทางใดสำหรับแอปพลิเคชันแบบกระจายใหม่และสมัยใหม่
ส่วนแรกของคู่มือนี้จะแนะนำคอนเทนเนอร์ Docker อธิบายวิธีเลือกระหว่าง .NET Core และ .NET Framework เป็นเฟรมเวิร์กการพัฒนา และให้ภาพรวมของไมโครเซอร์วิส เนื้อหานี้มีไว้สำหรับสถาปนิกและผู้มีอำนาจตัดสินใจด้านเทคนิคที่ต้องการภาพรวม แต่ไม่จำเป็นต้องเน้นไปที่รายละเอียดการใช้งานโค้ด
ส่วนที่สองของคู่มือเริ่มต้นด้วยส่วนกระบวนการพัฒนาสำหรับแอปพลิเคชันที่ใช้ Docker โดยมุ่งเน้นไปที่รูปแบบการพัฒนาและไมโครเซอร์วิสสำหรับการใช้งานแอปพลิเคชันโดยใช้ .NET Core และ Docker ส่วนนี้จะเป็นประโยชน์มากที่สุดสำหรับนักพัฒนาและสถาปนิกที่ต้องการเน้นไปที่โค้ดและรูปแบบและรายละเอียดการใช้งาน
แอปพลิเคชัน eShopOnContainers เป็นแอปอ้างอิงสำหรับ .NET Core และไมโครเซอร์วิสที่ออกแบบมาเพื่อใช้งานโดยใช้คอนเทนเนอร์ Docker แอปพลิเคชันประกอบด้วยระบบย่อยหลายระบบ รวมถึงส่วนหน้า UI ของ e-store หลายระบบ (เว็บแอปและแอปมือถือแบบเนทีฟ) นอกจากนี้ยังมีไมโครเซอร์วิสและคอนเทนเนอร์แบ็กเอนด์สำหรับการดำเนินการฝั่งเซิร์ฟเวอร์ที่จำเป็นทั้งหมด
ไมโครเซอร์วิสและซอร์สโค้ดแอปพลิเคชันบนคอนเทนเนอร์นี้เป็นโอเพ่นซอร์สและพร้อมใช้งานที่ repo eShopOnContainers GitHub
เราเขียนคู่มือนี้เพื่อช่วยให้คุณเข้าใจสถาปัตยกรรมของแอปพลิเคชันแบบคอนเทนเนอร์และไมโครเซอร์วิสใน .NET คู่มือและแอปพลิเคชันอ้างอิงที่เกี่ยวข้องจะได้รับการพัฒนา ดังนั้นเราจึงยินดีรับฟังความคิดเห็นของคุณ! หากคุณมีความคิดเห็นเกี่ยวกับวิธีการปรับปรุงคู่มือนี้ โปรดส่งไปที่:
dotnet-สถาปัตยกรรม[email protected]
[!div class="ทีละขั้นตอน"] [ถัดไป] (container-docker-introduction/index.md)