‫ตอนนี้คุณยังสงสัยอยู่เลย หลังจากเรียนรู้คุณสมบัติหลักบางอย่างของ
‫Docker แล้ว ทำไม Docker ถึงต้องมีอยู่?
‫แน่นอนว่าเราเป็นซอฟต์แวร์บรรจุภัณฑ์ เป็นเวลาหลายทศวรรษแล้วที่ผู้จัดการแพ็คเกจรายอื่นๆ
‫มากมายปรับใช้ซอฟต์แวร์กับเซิร์ฟเวอร์
‫เรามาพูดถึงเรื่องนี้กัน
‫วิดีโอนี้จะเน้นไปที่
‫สามสิ่งรอบตัว
‫ทำไมต้อง Docker และทำไมตอนนี้?
‫และในขณะนั้นก็คือ ‫สร้างมีแรงเสียดทาน
‫มีบางอย่างขวางทางเราไป ไปสู่อีกระดับของความเร็วและความสะดวกในการใช้งานของซอฟต์แวร์วงจรชีวิตโดยเฉพาะ
‫เกี่ยวกับการบรรจุ การแจกจ่าย และการใช้งานซอฟต์แวร์ทั้งหมดที่เราทำ
‫และฉันชอบรายการสามฉันเดา
‫ดังนั้น รายการหลักของการแยกตัว สภาพแวดล้อมและความเร็ว สามด้านนี้คือสิ่งที่ฉันต้องการจะพูด
‫เกี่ยวกับเหตุผลสามประการโดยรวม
‫ฉันรู้สึกเหมือนภาชนะตัวเองมี ‫มีอยู่จริงและทำไมพวกเขาถึงได้รับความนิยมในปัจจุบัน
‫อันดับแรก ปัญหาการแยกตัว
‫และถ้าเรากลับไปที่จุดเริ่มต้น ในอาชีพการงานของฉัน ย้อนกลับไปในทศวรรษที่
‫เราสามารถเริ่มพูดถึงสิ่งที่เซิร์ฟเวอร์ เมื่อก่อนเรามีตู้คอนเทนเนอร์
‫ถ้าเราย้อนกลับไปได้ไกลกว่าเพียงแค่ ‫2013 ก่อนสร้าง Docker
‫และเราพูดถึงต้นสองพัน ในยุค 90 เมื่อเราย้ายจากเมนเฟรมไปยังพีซี
‫นี่อาจเป็นอะไร ผู้ดูแลระบบทั่วไปจะมีลักษณะเช่นนี้
‫ฉันมีเซิร์ฟเวอร์สองสามเครื่องต่อบริษัท
‫รู้ไหม เราคงทำไม่ได้จริงๆ ‫เพื่อจัดการเซิร์ฟเวอร์นับร้อยต่อคน
‫อีกครั้ง มันเป็นแบบ คุณรู้ไหม 2000
‫เราก็จะได้สิ่งเหล่านี้ ‫เซิร์ฟเวอร์ขนาดใหญ่ราคาแพงมาก
‫ที่มันหายากที่จะบริโภคทั้งหมด ‫ทรัพยากรของพวกเขาด้วยแอพเดียว
‫แล้วคุณจะจบลงด้วยทั้งหมด แอพเหล่านี้ทั้งหมดรวมกันบนเซิร์ฟเวอร์เดียวกัน
‫และเซิร์ฟเวอร์ก็เปราะบาง
‫มันกลายเป็นเรื่องยากในการจัดการเพราะคุณอาจจะ จำเป็นต้องเปลี่ยนสิ่งหนึ่งสำหรับแอพหนึ่งจากนั้นอีกแอพหนึ่งก็ต้องการอีกสิ่งหนึ่ง
‫แล้วคุณจะต้องจัดการของพวกเขา เวอร์ชัน Python ต่างๆ หรือเวอร์ชัน
‫Apache ต่างๆ ของคุณบน different เซิร์ฟเวอร์เพียงเพื่อความสมดุล
‫ในเวลาเดียวกันคุณต้องการ ใส่สิ่งต่างๆ มากขึ้นเรื่อยๆ ในแต่ละเซิร์ฟเวอร์
‫แต่ไม่มีอะไรถูกแยกออกมา
‫ดังนั้นแอปเหล่านี้ทั้งหมดจึงเป็น ‫แชร์ระบบไฟล์เดียวกัน
‫ปกติจะคูณกันไม่ได้ เวอร์ชันของแอปนั้นที่ไม่มีการแฮ็กที่ซับซ้อนมากมาย
‫และนั่นเป็นปัญหาใหญ่
‫จากนั้น VM ก็มาถึง
‫เมื่อ VM ได้รับความนิยมอย่างมาก แม้แต่ ก่อนระบบคลาวด์ เราสามารถแยกแอปพลิเคชันทั้งหมดของเราออกและเริ่มต้นได้
‫วางแอปพลิเคชันน้อยลงบน VM ที่มีขนาดเล็กลง ทั้งหมดอยู่บนโฮสต์ขนาดใหญ่เดียวกัน
‫มันก็จะหน้าตาประมาณนี้ และเรา อาจเริ่มต้นด้วยเชฟหรือหุ่นเชิดเพื่อจัดการสิ่งเหล่านี้
‫จำนวนเซิร์ฟเวอร์ที่เพิ่มขึ้น
‫อันที่จริงเราจะมีเซิร์ฟเวอร์มากมาย จากนั้นในช่วงต้นปี 2010 ก่อนการสร้าง
‫Dockers นั้นเป็นเรื่องยากมาก เพื่อจัดการทั้งหมดพร้อมกัน คุณเป็นผู้ดูแลระบบคนเดียวอาจพยายามจัดการ
‫เซิร์ฟเวอร์นับสิบหรือหลายร้อยเซิร์ฟเวอร์
‫แม้มีเมฆช่วยให้เราหมุนไป ‫เครื่องเร็วขึ้นฉีกลงเร็วขึ้น
‫มันเยอะมาก มันมากในการจัดการ ที่มันมากเกินไปสำหรับพวกเราหลายคนและคลาวด์
‫ฉันคิดว่าทำสำเร็จแล้ว ดีขึ้นแต่ก็แย่กว่านั้นด้วยเพราะมันทำให้หมุนได้ง่ายขึ้นมาก
‫แล้ว Docker จะช่วยได้อย่างไร?
‫จะช่วยให้เราลด . ได้อย่างไร จำนวนของโครงสร้างพื้นฐานที่จะจัดการในขณะเดียวกันก็สร้างความมั่นใจในการแยก
‫ภาระงานของเราเพื่อให้สิ่งต่าง ๆ ไม่เปราะบางหรือจัดการยาก?
‫ถ้านี่คือเซ็ตอัพของเรา 20 ปี ที่แล้ว แทนที่จะกระจาย VM
‫เหล่านี้ทั้งหมดด้วยตัวเลขที่ไม่จำเป็น ของ OS สิ่งที่คอนเทนเนอร์ทำคือให้การแยกจากเรา
‫เช่น VM
‫มันไม่เหมือนเดิม แต่เราก็แค่ เถียงว่าตอนนี้เป็นชั้นแยกซึ่งพวกเขาได้รับ IP ของตัวเอง
‫ที่อยู่ พวกเขาได้รับระบบไฟล์ของตัวเอง พวกเขาได้รับพื้นที่กระบวนการของตัวเอง
‫แล้วเหมือนเกือบเต็ม VM แต่คุณไม่จำเป็นต้องใช้ระบบปฏิบัติการที่แตกต่างกันทั้งหมด
‫เราจึงทำได้ ลดจำนวนระบบปฏิบัติการของเรา
‫โฮสต์ทางกายภาพของเรานับ
‫คุณไม่จำเป็นต้องใช้ VMs . อีกต่อไป ‫เป็นชั้นของการแยกตัว
‫และอาจมีลักษณะเช่นนี้แทน ในการใช้ SSH คุณจะต้องใช้
‫Docker CLI หรือถ้าคุณย้ายไปที่ Kubernetes คุณสามารถใช้
‫Kubernetes CLI และแอปพลิเคชันของคุณได้ทั้งหมด แยกออกมาในภาชนะของตัวเอง
‫สิ่งนี้ช่วยให้คุณได้รับประโยชน์มากมายรวมถึง ใช้งานแอพเดียวกันหลายเวอร์ชันบนระบบเดียวกัน
‫โดยไม่มีข้อขัดแย้งใดๆ
‫ต่อด้วยปัญหาสิ่งแวดล้อม
‫และเห็นได้ชัดว่าเรากำลังหมุนขึ้น OSS มากมายอย่างที่บอก
‫แต่จำนวนประเภทต่างกัน ของสภาพแวดล้อมก็เพิ่มขึ้นเช่นกัน
‫คุณเคยได้ยินการทำงานบนเครื่องของฉันหรือไม่?
‫มีชื่อเสียงโด่งดัง ‫เป็นเรื่องตลกโดย Jeff Atwood
‫หนึ่งในผู้ก่อตั้ง stack overflow ใน a ‫โพสต์บล็อกที่มีชื่อเสียงตั้งแต่สมัยก่อน
‫แต่สิ่งนี้ใช้ได้กับแนวคิดเครื่องของฉัน ขี้บ่นนิดหน่อย แต่เรื่องตลกคือ
‫มักจะเป็นงานของนักพัฒนา เพื่อให้แน่ใจว่าแอปพลิเคชันทำงานถูกต้อง
‫แต่ไม่มีสภาพแวดล้อมทั้งหมด ‫ที่จำเป็นสำหรับแอปนี้ในการทำงาน
‫ดังนั้นพวกเขาก็แค่รันมันบนเครื่องของพวกเขา พวกเขาทดสอบบนเครื่องแล้วเมื่อมันไม่ทำงานที่อื่น
‫พวกเขาบอกว่าใช้งานได้กับเครื่องของฉัน
‫มันช่างท้าทายจริงๆเมื่อเรามี OS ที่ต่างกันทั้งหมดเหล่านี้ และ Docker
‫ได้บัญญัติสิ่งนี้ เมทริกซ์จากนรก ซึ่งหมายถึงทุกส่วนของแอปซึ่งอยู่เหนือฉัน
‫แล้วสำหรับ .ทุกประเภท ‫สิ่งแวดล้อมตรงนี้
‫คุณมีการกำหนดค่าที่แตกต่างกัน
‫บางทีคุณอาจต้องติดตั้ง ‫การพึ่งพาอาศัยกันในลักษณะที่แตกต่างกัน
‫บางทีการพึ่งพาอาศัยกันเล็กน้อย ต่างกันเพราะตัวหนึ่งมีอีกรุ่นหนึ่ง
‫คุณมี .ประเภทต่าง ๆ เหล่านี้ทั้งหมด สภาพแวดล้อม และคุณอาจต้องอ่านหรือเขียนเอกสารประกอบ
‫ว่าต้องติดตั้งแอพที่นักพัฒนาใช้บน Mac อย่างไร ต่างกันบน windows
‫ซึ่งต้องติดตั้งต่างกันบน a เซิร์ฟเวอร์ Linux และบนและบนและบน
‫ตอนนี้อิมเมจคอนเทนเนอร์และ คอนเทนเนอร์เองกลายเป็นนามธรรมพื้นฐานหรือสัญญาระหว่างที่
‫มันทำงานและสิ่งที่อยู่ภายในนั้น
‫เหมือนภาชนะจริงใน โลกแห่งความจริงที่ทำให้เราสามารถจัดส่งสินค้าได้ทั่วโลกจาก
‫การออกแบบเมื่อเกือบร้อยปีที่แล้ว
‫เป้าหมายคือคนที่ ส่งมอบตู้คอนเทนเนอร์โดยไม่จำเป็นต้องรู้ว่ามีอะไรอยู่ข้างใน
‫และคนที่เอาของมาฝาก ข้างในภาชนะไม่ต้องรู้หรือสนใจว่าภาชนะนั้นเป็นอย่างไร
‫ถึงที่หมายทางกาย
‫นั่นเป็นนามธรรมของมหากาพย์ตอนนี้ สัดส่วนการขนส่งตู้คอนเทนเนอร์นับล้านทั่วโลกและสวยงาม
‫ทุกอย่างในบ้านของคุณอาจอยู่ในภาชนะตลอดอายุการใช้งาน
‫สิ่งเดียวกันเป็นจริงของภาพ ‫และคอนเทนเนอร์ Docker ตอนนี้
‫เป็นรูปแบบมาตรฐานที่สอดคล้องกัน ‫เรียกว่ามาตรฐาน OCI
‫รับรองว่าวิ่งได้ทุกที่ คอนเทนเนอร์ก็จะทำงานในลักษณะเดียวกันกับที่เหมือนกัน
‫การพึ่งพาที่แน่นอนที่สร้างขึ้นด้วย
‫ต่อด้วยปัญหาความเร็ว
‫ตอนนี้ฉันไม่ได้หมายถึงที่นี่
‫ความเร็วของซีพียูหรือความเร็วของ
‫สิ่งเหล่านั้นย่อมได้รับโดยธรรมชาติ เร็วขึ้นเมื่อเวลาผ่านไป แต่ฉันกำลังพูดถึงความเร็วของธุรกิจจริงๆ
‫และเมื่อเราพูดถึงไอทีและซอฟต์แวร์ และวงจรชีวิตของซอฟต์แวร์ เรากำลังพูดถึงความสามารถสำหรับธุรกิจจริงๆ
‫และองค์กรต่างๆ เพื่อดำเนินการตามแนวคิดของตน เพื่อนำเสนอแนวคิดซอฟต์แวร์ของตน
‫ให้กับลูกค้าโดยเร็วที่สุด และนั่นเป็นส่วนหนึ่งของวงจรชีวิตซอฟต์แวร์
‫ก็ปรากฎว่าอุตสาหกรรม ได้เปลี่ยนโครงสร้างพื้นฐานและสถาปัตยกรรมตั้งแต่รุ่งอรุณของ
‫การคำนวณด้วยเหตุผลที่แน่นอนนี้
‫ฉันทำกราฟิกเล็กๆ ที่สวยงามนี้ เพราะคุณสามารถเริ่มต้นที่จุดสูงสุดในยุคที่ฉันได้ของฉัน
‫เริ่มต้นและเรามีเมนเฟรมที่ย้ายไปยังพีซีในสถาปัตยกรรมแบบกระจาย
‫นั่นเป็นส่วนใหญ่เกี่ยวกับความเร็ว ‫ของความสามารถในการปรับใช้การเปลี่ยนแปลง
‫ตอนนี้คุณสามารถติดตั้ง DOS บน เครื่องเดียวโดยไม่ต้องรอเมนเฟรมอัพเดท
‫ไม่ว่า Unix รุ่นต่อไปจะเป็นอะไรก็ตาม
‫เราไม่สามารถเคลื่อนย้ายทั้งหมดในคราวเดียวได้อีกต่อไป
‫เราต้องการส่วนต่างๆ ของเรา องค์กรให้เคลื่อนที่ไปในทิศทางต่างๆ
‫ด้วยความเร็วที่ต่างกัน
‫ดังนั้นรุ่งอรุณของการคำนวณแบบกระจาย
‫จากนั้นเราก็เปลี่ยนจาก Bare Metal เสมือน เพราะเราเบื่อกับการรอคำสั่งของฮาร์ดแวร์และการรอคอย
‫เพื่อนำไปใช้ในศูนย์ข้อมูล
‫เราต้องการที่จะเร่งสิ่งต่าง ๆ และได้รับ ‫การใช้ทรัพยากรของเราให้ดีขึ้น
‫Virtualization และเครื่องเสมือนกลายเป็น ‫เป็นที่นิยมอย่างมากด้วยเหตุผลเหล่านั้น
‫จากนั้นดาต้าเซ็นเตอร์สู่คลาวด์คือสิ่งต่อไป ขั้นตอนเพราะตอนนี้เราจำเป็นต้องปรับใช้ความคิดได้เร็วกว่าของเราเอง
‫ฮาร์ดแวร์และศูนย์ข้อมูลสามารถอนุญาตได้
‫เราต้องการเรียกใช้เซิร์ฟเวอร์ที่ เราไม่มีเวลาเป็นนาที
‫ไม่ใช่วันหรือสัปดาห์
‫และคลาวด์ก็ให้เราเข้าถึง ‫เพื่อใกล้ทรัพยากรทันที
‫ซึ่งแน่นอนว่าเป็นเหตุ ‫ทำไมวันนี้เมฆถึงใหญ่มาก
‫และแล้วในที่สุด เราก็ถึง ‫ขาต่อไปของการเดินทางนั้น
‫ย้ายจากการขยายโฮสต์ขนาดใหญ่ ที่เรามี ซึ่งเรามีโฮสต์และเคอร์เนลและระบบปฏิบัติการมากเกินไป
‫และตอนนี้เราก็จะสามารถ ลดจำนวนลงเพราะตอนนี้เราสามารถแยก
‫ปริมาณงานภายในและเรียกใช้ร่วมกันได้อย่างปลอดภัยบนเคอร์เนลเดียวกัน
‫ฉันรวมเซิร์ฟเวอร์ไร้เซิร์ฟเวอร์ไว้ที่นี่ โดย เพราะถ้าคุณเจาะลึกลงไปในแพลตฟอร์มแบบไร้เซิร์ฟเวอร์ส่วนใหญ่จริงๆ
‫พวกมันก็แค่ กำลังเรียกใช้คอนเทนเนอร์ในพื้นหลัง
‫อาจเป็นภาชนะที่คุณจัดส่งเป็น รูปภาพ หรืออาจเป็นคอนเทนเนอร์ที่พวกเขากำลังเรียกใช้ฟังก์ชันของคุณ
‫แต่พวกมันยังวิ่งอยู่ในตู้คอนเทนเนอร์
‫และนี่คือเหตุผลที่ฉันชอบพูดถึง เร็วขึ้น เร็วขึ้น เร็วขึ้น โดยพื้นฐานแล้วสิ่งที่คอนเทนเนอร์และ
‫Docker มอบให้คุณคือ ความสามารถในการพัฒนาเร็วขึ้น เพื่อสร้างแอปของคุณเร็วขึ้น
‫ทดสอบได้เร็วขึ้นและ เพื่อปรับใช้กับเซิร์ฟเวอร์ของคุณได้เร็วขึ้น
‫ตอนนี้คุณยังอยู่กับฉันไหม
‫ฉันยังสนใจคุณอยู่ไหม
‫มาสรุปกันอย่างรวดเร็ว
‫ดังนั้น เหตุผลที่คอนเทนเนอร์ ‫มีอยู่สามเหตุผลหลัก
‫ในความคิดของฉัน การแยกตัวที่ดีกว่า ภายใน OS เดียว ช่วยประหยัดเวลาและ OS และการจัดการการพึ่งพา
‫แต่ยังทำให้เราแยกตัวออกจากกันได้ เพื่อปกป้องแอปพลิเคชันของเรา
‫แล้วเราก็ลด ‫ความแปรปรวนของสิ่งแวดล้อม
‫ดังนั้นความแตกต่างระหว่างแต่ละอย่าง ‫สภาพแวดล้อมที่มันทำงานนั้นน้อยมาก
‫อีกครั้ง ปกติแล้วจะเป็นแค่การเชื่อมต่อของคุณ การตั้งค่าสำหรับฐานข้อมูล
‫อาจเป็นพาธ URL บางอย่าง พอร์ตต่างๆ
‫แล้วที่เหลือก็เป๊ะๆ ‫เช่นเดียวกับที่คุณสร้างและทดสอบ
‫และในที่สุดก็เพิ่มความเร็วของ .ของเรา เปลี่ยนแปลง ไม่ใช่เฉพาะตัวซอฟต์แวร์เอง
‫แต่เพื่อธุรกิจที่ ต้องการใช้ซอฟต์แวร์นั้น
‫ตอนนี้เราสามารถพัฒนาได้เร็วขึ้น สร้างเร็วขึ้น ปรับใช้ เซิร์ฟเวอร์เร็วขึ้น
‫และทดสอบเร็วขึ้น
‫ทั้งหมดเป็นเพราะอิมเมจคอนเทนเนอร์เหล่านี้ และคอนเทนเนอร์เองก็สร้าง
‫ปรับใช้ และ . ได้ง่าย ปรับใช้ใหม่และเรียกใช้ซ้ำและทั้งหมดนั้น
‫ดังนั้นฉันหวังว่านี่จะสมเหตุสมผล
‫แล้วพบกันใหม่ในวิดีโอหน้าครับ