DevOps

ถาม & ตอบสำหรับวิศวกรซอฟต์แวร์ที่ทำงานเกี่ยวกับการทดสอบอัตโนมัติการส่งมอบอย่างต่อเนื่องการรวมบริการและการตรวจสอบและการสร้างโครงสร้างพื้นฐาน SDLC

1
อะไรคือคำว่า 'a Firehose' บนคลาวด์
ฉันพบคำนิยาม Firehose จากภาพรวมของเอกสาร Log Foundator System Cloud Foundry Firehose เป็นจุดปลาย WebSocket ที่ส่งข้อมูลเหตุการณ์ทั้งหมดที่มาจากการปรับใช้ Cloud Foundry สตรีมข้อมูลประกอบด้วยบันทึกเหตุการณ์ HTTP และเมตริกคอนเทนเนอร์จากแอปพลิเคชันทั้งหมดและตัวชี้วัดจากส่วนประกอบระบบ Cloud Foundry ทั้งหมด บันทึกจากองค์ประกอบของระบบเช่น Cloud Controller ไม่รวมอยู่ใน firehose และโดยทั่วไปจะเข้าถึงได้ผ่านการกำหนดค่า rsyslog เนื่องจากข้อมูลที่มาจาก Firehose อาจมีข้อมูลที่ละเอียดอ่อนเช่นข้อมูลลูกค้าในบันทึกของแอปพลิเคชันเฉพาะผู้ใช้ที่มีสิทธิ์ที่ถูกต้องเท่านั้นจึงสามารถเข้าถึง Firehose คำนี้มีรากฐานมาจากไหนและทำไมจึงเรียกว่าเป็นอย่างนั้น แนวคิดนี้เหมือนกันสำหรับข้อเสนอและแพลตฟอร์มคลาวด์อื่น ๆ หรือไม่? มันตลกเมื่อฉันแปลคำนี้เป็นภาษาของฉัน

7
ฉันจะบันทึกงานที่ส่งออกไปยังไฟล์ได้อย่างไร
หนึ่งในงานของฉันเบิ้ลนำเข้าฐานข้อมูล Oracle impdpใช้ นี้จะสร้างจำนวนมากno_log: Trueของการส่งออกไปยังคอนโซลดังนั้นผมจึงได้ตั้ง อย่างไรก็ตามเมื่อล้มเหลวฉันต้องการดูบันทึก! ฉันจะสร้างบันทึกการใช้งานนี้เป็นไฟล์และไม่ไปที่คอนโซลได้อย่างไร
10 ansible  logging 

2
Git & Jenkins: รับสีเขียวล่าสุดในสาขา
เราเพิ่งเริ่มที่จะผลักดันให้ CI-CD และเป็นขั้นตอนทารกเราจะลองอัปเดตสแต็คที่มีการพัฒนาสีเขียวล่าสุดทุกๆสองชั่วโมง ฉันค่อนข้างใหม่สำหรับ Git / Bitbucket และไม่สามารถหาวิธีการตรวจสอบให้แน่ใจว่าการชำระเงินที่ Jenkins ทำให้ได้รับการยืนยันครั้งล่าสุดจะถูกทำเครื่องหมายสีเขียวโดย Jenkins มากกว่าเพียงแค่ "การกระทำครั้งสุดท้าย" เป็นคำสั่งแบบครอบคลุม เราได้ติดตั้งปลั๊กอินตัวแจ้งสถานะการสร้างสถานะของ Bitbucket ดังนั้น Bitbucket จะติดตามว่าการกระทำใดเป็นสีเขียวหลังจากที่หน่วยทดสอบของเราทำงาน มีวิธีที่จะใช้ประโยชน์จากข้อมูลนี้เพื่อให้แน่ใจว่าได้เลือกการกระทำที่ถูกต้องหรือไม่?
10 jenkins  git  bitbucket  bcbsn 

5
เครื่องมือการจัดการการกำหนดค่ามีความเหมาะสมที่จะใช้เป็นเครื่องมือการปรับใช้หรือไม่
หลังคำตอบของฉันสำหรับคำถาม: DevOps จะช่วยปรับปรุงขั้นตอนการทำสัญญาซอฟต์แวร์ได้อย่างไร Tensibai มีคำถาม: อะไรที่ทำให้ Capistrano จำเป็นต้องใช้หุ่นเชิดหรือพ่อครัว? คำตอบของฉันคือโพสต์ลิงก์ไปยังบทความของโนอาห์กิ๊บส์ "เราต้องการทั้ง Capistrano และ Chef หรือไม่?" . โดยส่วนตัวแล้วฉันยังสมัครรับข้อมูลมุมมองของโนอาห์ว่าเหมาะสมที่สุดที่จะ: ใช้เครื่องมือการปรับใช้ผู้เชี่ยวชาญเช่น Capistrano สำหรับการปรับใช้ ใช้เครื่องมือการจัดการการกำหนดค่าผู้เชี่ยวชาญเช่น Chef สำหรับการจัดการการกำหนดค่า วิธีการพื้นฐานที่เครื่องมือแต่ละประเภทใช้ในการทำงานให้เสร็จสมบูรณ์นั้นแตกต่างกันมาก: เครื่องมือการจัดการการกำหนดค่า - เป็นเรื่องเกี่ยวกับการสร้างและรักษาสถานะที่ต้องการของระบบ ตัวอย่างของเครื่องมือในการจัดการการกำหนดค่าเป็นเชฟ , หุ่นกระบอก , เบิ้ล , PowerShell DSC , เกลือสแต็ค เครื่องมือการปรับใช้ - เป็นเรื่องเกี่ยวกับการส่งมอบเวอร์ชั่นของซอฟต์แวร์ในสภาพแวดล้อมการโฮสต์ซึ่งมีฟังก์ชันการทำงานเพื่อรักษาซอฟต์แวร์หลายเวอร์ชันบนเครื่องหลายเครื่องและจัดการเวอร์ชันที่เป็น "ปัจจุบัน" ซึ่งมีความจำเป็นโดยธรรมชาติ ตัวอย่างของเครื่องมือการปรับใช้เป็นCapistrano , ปลาหมึก Deploy , DeployerและCommand.io ฉันเชื่อว่าเครื่องมือการจัดการการกำหนดค่าสามารถทำงานของเครื่องมือการปรับใช้และในกรณีของโครงสร้างพื้นฐานที่ไม่เปลี่ยนรูปแบบพวกเขาเป็นเครื่องมือที่เหมาะสมที่สุดสำหรับงานเนื่องจากเวอร์ชันซอฟต์แวร์บนเป้าหมายไม่จำเป็นต้องได้รับการดูแล คำถาม:มีเครื่องมือการจัดการการกำหนดค่าเช่น Chef, …

2
ความท้าทายในการปรับใช้เมตริก pre-DevOps
TL; DR คุณจะพิสูจน์ได้อย่างไรว่า devops โดยเฉพาะอย่างยิ่งการปรับใช้อัตโนมัติจะปรับปรุงอัตราความล้มเหลวในการเปลี่ยนแปลงได้อย่างไร เราทุกคนพยายามรวบรวมตัวชี้วัดใน 'ความล้มเหลวในการนำไปใช้งาน' โดยใช้วิธีการปัจจุบัน (ส่วนใหญ่เป็นคู่มือ) น่าเสียดายที่ 'ล้มเหลว' ไม่ค่อยเกิดขึ้นใช่ไหม เนื่องจากเมื่อมีบางอย่างผิดปกติทีมจะรวมตัวกัน (โดยทั่วไปจะมีฮีโร่) เพื่อแก้ไขปัญหา (โดยทั่วไปคือการอนุญาตการตั้งค่าที่ไม่ได้รับ ดังนั้น ... เมื่อเราถามว่าการปรับใช้เป็นอย่างไรคำตอบคือ "ใช้ได้" แต่เรารู้โดยสัญชาตญาณว่าไม่ดี รายงานสถานะ devops ประจำปี 2560 ระบุว่ามีอัตราการเปลี่ยนแปลงความล้มเหลว 31-45% ในขณะที่ฟังดูมีเหตุผลอย่างถูกต้องพวกเขาจะถูกติดตามเป็นเหตุการณ์หรือไม่ Nah เพราะพวกเขาได้รับการแก้ไขอย่างรวดเร็วโดยปกติในระหว่างการตรวจสอบ เป็นการยากยิ่งกว่าที่จะย้อนกลับการปรับใช้จริง ดังนั้นจึงต้องใช้วินัยในการรายงานอัตราความล้มเหลวอย่างแม่นยำ เราไม่อยากให้รายงานแบบนั้นเพราะเราต้องการให้สิ่งต่าง ๆ ทำงานและเราทำสิ่งที่จะทำให้มันเกิดขึ้น ดังนั้นคุณจะพิสูจน์ได้อย่างไรว่า devops โดยเฉพาะอย่างยิ่งการปรับใช้อัตโนมัติจะปรับปรุงอัตราความผิดพลาดที่เปลี่ยนแปลง (PS พยายามติดแท็กด้วย "# devops-Ability-model")
9 metrics 

1
ฉันจะทริกเกอร์สคริปต์ในการรวมหรือเมื่อสาขาถูกลบได้อย่างไร
ฉันใช้ท่อหลายคู่เจนกิ้นส์ หากมีการรวมสาขาและลบเจนกินส์จะลบสาขาออกจากท่อเช่นกัน นี่ยอดเยี่ยม แต่ฉันต้องการเรียกใช้คำสั่ง / สคริปต์เมื่อมีการลบสาขาฉันจะให้ jenkins เรียกใช้คำสั่งเมื่อลบสาขาได้อย่างไร มีวิธีที่จะให้เจนกินส์สั่งงานก่อนที่จะถอนสาขาหรือไม่? แก้ไข: ฉันควรเพิ่มฉันใช้ bitbucket มันจะเรียบร้อยถ้าเจนกินส์สามารถก่อให้เกิดเหตุการณ์เมื่อล้างสาขาของท่อส่งหลายสาขา เป็นการดีที่จะไม่สำคัญว่าผู้ให้บริการคอมไพล์ของฉันคืออะไร

5
ฉันสามารถหา บริษัท ขนาดเล็กใน DevOps ได้หรือไม่
สมมติว่าฉันเป็นผู้ประกอบการที่มีเม็ดเงินน้อยสำหรับ Great Idea (TM) ของฉันและฉันเริ่มต้น บริษัท ที่วางแผนที่จะใช้ Great Idea (TM) ของฉันด้วยตัวเองและจ้างความช่วยเหลือเพิ่มเติมบนพื้นฐานที่กำหนดโดยอัตราการเติบโตของ บริษัท บ่อยครั้งที่คำตอบในศูนย์ไซต์นี้มีแนวความคิดที่ว่าDevOps ไม่ใช่บทบาทแต่เป็นวิธีการใหม่ในการทำสิ่งต่าง ๆ ด้วยปรัชญาการดำเนินงานใหม่ที่ช่วยให้ทีมงานของบทบาทสามารถทำ DevOps ได้จริง สิ่งนี้จะช่วยป้องกันความเหนื่อยหน่ายและผู้คนจากความรู้สึกเหมือนหมาป่าโดดเดี่ยว ในฐานะ บริษัท ที่มีประสบการณ์และมีประสบการณ์แล้วฉันควรจะใส่ใจที่จะไล่ตาม DevOps ให้เป็นปรัชญาหรือไม่หรือนี่เป็นเพียงสิ่งที่เหมาะสมสำหรับการดำเนินงานที่เป็นผู้ใหญ่มากขึ้นที่มีทีมพัฒนาที่มีขนาดเพียงพอหรือไม่

4
ตรวจสอบความคืบหน้าของโปรแกรมบนเซิร์ฟเวอร์หลายเครื่อง
เรามีเซิร์ฟเวอร์สามตัวที่ใช้งานโปรแกรมหลามที่ใช้งานการวิเคราะห์ข้อมูลภายในtmuxเซสชัน วิธีที่เราใช้อยู่ในขณะนี้คือการเชื่อมต่อแต่ละtmuxเซสชันและดูผลลัพธ์บนบรรทัดคำสั่ง วิธีนี้น่าเบื่อดังนั้นสิ่งที่เรากำลังมองหาคือโซลูชันที่ทำการตรวจสอบความคืบหน้าของโปรแกรมโดยอัตโนมัติ (เอาต์พุตบน CLI) สำหรับเซิร์ฟเวอร์หลายเครื่องในเวลาเดียวกัน เราต้องการโซลูชัน web UI ที่เหมาะสม แต่ CLI ก็เหมาะสมเช่นกัน ขอบคุณสำหรับการอ่าน.

7
อะไรคือการเปรียบเทียบ DevOps
ผู้นำเสนอบางรายใช้การเปรียบเทียบเพื่ออธิบายเทคโนโลยีบางอย่างเช่นPizza เป็น Service 2.0ที่อธิบายความแตกต่างระหว่างสแต็กตามการบริการที่แตกต่างกัน ข้อดีของการเปรียบเทียบ Pizza นี้คือมันประกอบด้วยหลาย analogies เช่น runtime aka พิซซ่าและโฮมเมด aka มรดก เมื่อ Googles "DevOps analogy" หนึ่งภาพต่าง ๆ ปรากฏขึ้น แต่ไม่ใช่ภาพใดที่จับใจได้มาก คำจำกัดความของ "กำลังดึง" แสดงภาพในงานนำเสนอ พูดคุยเกี่ยวกับเรื่องนี้ 30 วินาที ในช่วงลิฟต์ผู้คนมากขึ้นเข้าใจ DevOps และชัดเจนโดยพวกเขา
9 culture 

2
วิธีการทำสิ่งต่าง ๆ ที่ยังไม่มีเชฟ
ให้เราบอกว่าฉันมีรหัสเชฟเช่น: require 'mixlib/shellout' yum_package 'somepackage' myvar = Mixlib::ShellOut.new('/bin/somecommand').run_command.stdout.strip ในกรณีที่ยังไม่มีเพราะมันถูกติดตั้งโดย/bin/somecommand somepackageสิ่งนี้จะล้มเหลวในเวลารวบรวมสูตรด้วยเหตุผลดังกล่าว แต่จะทำงานได้อย่างชัดเจนในเวลาที่ลู่เข้าให้การติดตั้งแพ็คเกจสำเร็จแล้ว สิ่งนี้จะล้มเหลวเช่นกันหากมีการติดตั้งแพคเกจเป็นสูตรก่อนหน้าในรายการเรียกใช้เนื่องจากมีการรวบรวมทั้งหมดล่วงหน้า ฉันจะรวมสิ่งต่าง ๆ ในสูตรเชฟที่สูตรหรือ runlist ติดตั้งเองได้อย่างไร

6
ทำอย่างไรจึงจะป้องกันไม่ให้กอดแห่งความตายในอินสแตนซ์ EC2
ฉันเป็นแอพ iOS บนแอพสโตร์และเมื่อเร็ว ๆ นี้ฉันได้รับปริมาณข้อมูลจำนวนมากไปยังหน้าที่เชื่อมโยงไปถึงที่โฮสต์บน EC2 และส่งผลให้หน้าไม่ตอบสนองโชคดีที่ฉันสามารถกู้คืนได้ด้วยการรีสตาร์ทและอัปเกรดอินสแตนซ์เป็น t2.medium ตอนนี้ฉันกำลังมองหาคนที่จะใช้เทคโนโลยีเพื่อป้องกันความตายแบบเดียวกันอีกครั้ง ประสบการณ์ของฉันยืดออกไปมากจนทำให้ฉันสามารถเข้าใจสิ่งพื้นฐานที่ devops แต่ไม่เพียงพอสำหรับ load balancer บน AWS ฉันต้องการทราบว่าการใช้งานที่เหมาะสมสำหรับอินสแตนซ์ของฉันคืออะไร หน้าที่เชื่อมโยงไปถึงและแบ็กเอนด์แอป iOS ของฉันโฮสต์อยู่บนอินสแตนซ์เดียวกัน


2
การปรับใช้ VMs โดยใช้บทบาทและโฮสต์ใน Ansible ตามระบบปฏิบัติการ
ฉันมีปัญหาในการหาวิธีใช้โฮสต์ / บทบาทกับระบบปฏิบัติการต่าง ๆ ใน Ansible ให้ดีที่สุด ปัจจุบันฉันใช้ Ansible เพื่อสร้าง Windows / Mac / Linux VM และ VM แต่ละเครื่องมีบทบาทที่แตกต่างกันซึ่งจำเป็นต้องนำไปใช้กับพวกเขา ฉันได้อ่านแนวปฏิบัติที่ดีที่สุดและพยายามติดตามพวกเขาโดยเฉพาะอย่างยิ่งเพื่อใช้วิธีการจัดกลุ่ม แต่ฉันก็ยังไม่แน่ใจเพราะพวกเขาส่วนใหญ่พูดถึงเว็บเซิร์ฟเวอร์และผู้ให้บริการ site.yml - name: Apply common configuration to all nodes hosts: all roles: - common - name: Configure and deploy test node 1 hosts: build-test-node roles: - build-machine-test-1 - name: …

1
ข้อขัดแย้งในการใช้งาน Kubernetes CPU & Metrics Container Docker
เมื่อเร็ว ๆ นี้เราได้เปลี่ยนสภาพแวดล้อมการผลิตของเราเป็น Kubernetes ฉันต้องการบังคับใช้ขีด จำกัด ของ CPU บนคอนเทนเนอร์ ฉันได้รับการวัด CPU ที่ขัดแย้งกันซึ่งไม่สอดคล้องกัน นี่คือการตั้งค่าของฉัน: ตัวแทน DataDog ทำงานเป็น Daemonset แอปพลิเคชั่นที่มีอยู่ทำงานโดยไม่มีขีด จำกัด ของ CPU คอนเทนเนอร์ที่สงสัยคือแอปพลิเคชั่น Ruby แบบมัลติเธรด สองตัวชี้วัด: kubernetes.cpu.usage.{avg,max}และdocker.cpu.usage c4.xlarge โหนดคลัสเตอร์ (4 vCPU หรือ 4000m ในเงื่อนไข Kubernetes) kubernetes.cpu.usage.maxรายงาน ~ 600m สำหรับตู้สินค้าที่เป็นปัญหา docker.cpu.usageรายงาน ~ 60% ตามด้วยข้อ จำกัด ของ CPU 1000m จะเกินความจุที่เพียงพอภายใต้การทำงานปกติ ฉันตั้งค่า จำกัด ไว้ที่ …

2
โหลดบาลานเซอร์ F5 รองรับ CasC (การกำหนดค่าเป็นรหัส) หรือไม่
การใช้ CasC กับ F5 จะช่วยให้สามารถกำหนดค่าจุดปลายเครือข่ายที่เป็นรุ่นและเป็นทางเลือกประหยัดเวลาและลดความเสี่ยง เครื่องมือนี้สนับสนุนสิ่งนี้หรือไม่ เป็นไฟล์การกำหนดค่าเดียว (ระยะ SCF, F5) ยานพาหนะที่จะทำเช่นนั้น?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.