การทำงานกับไซต์ขนาดใหญ่ที่มีผู้คนจำนวนมากและหน้าเว็บที่ดูแลรักษาอยู่คุณจะพบกับเวิร์กโฟลว์ต่างๆที่ได้รับจากต้นแบบของการออกแบบเว็บไปยังหน้าจริงที่อาศัยอยู่บนอินเทอร์เน็ต เวิร์กโฟลว์สำหรับไซต์ที่ซับซ้อนอาจรวมถึงเว็บเซิร์ฟเวอร์และตำแหน่งเซิร์ฟเวอร์หลายแห่ง และแต่ละเซิร์ฟเวอร์มีจุดประสงค์ที่แตกต่างกัน บทความนี้จะอธิบายบางส่วนของเซิร์ฟเวอร์ทั่วไปในเว็บไซต์ที่ซับซ้อนและใช้งานอย่างไร
เว็บเซิร์ฟเวอร์การผลิต
นี่คือเว็บเซิร์ฟเวอร์ประเภทหนึ่งที่นักออกแบบเว็บส่วนใหญ่คุ้นเคย เซิร์ฟเวอร์การผลิตเป็นเว็บเซิร์ฟเวอร์ที่โฮสต์หน้าเว็บและเนื้อหาที่พร้อมสำหรับการผลิต กล่าวอีกนัยหนึ่งเนื้อหาบนเว็บเซิร์ฟเวอร์ที่ใช้งานได้แพร่หลายไปยังอินเทอร์เน็ตหรือพร้อมที่จะถูกส่งไปยังอินเทอร์เน็ต
ใน บริษัท ขนาดเล็กเซิร์ฟเวอร์การผลิตคือที่ที่หน้าเว็บทั้งหมดอาศัยอยู่ นักออกแบบและนักพัฒนาทดสอบหน้าเว็บทั้งบนเครื่องท้องถิ่นหรือในพื้นที่ที่มีการป้องกันด้วยรหัสผ่านที่ซ่อนอยู่หรืออยู่ในเซิร์ฟเวอร์ที่ใช้งานอยู่ เมื่อหน้าเว็บพร้อมที่จะใช้งานระบบจะย้ายไปที่ตำแหน่งบนเซิร์ฟเวอร์การผลิตโดยใช้ FTP จากฮาร์ดไดรฟ์ภายในเครื่องหรือย้ายไฟล์จากไดเรกทอรีที่ซ่อนอยู่ไปยังไดเร็กทอรีแบบสด
เวิร์กโฟลว์จะเป็น:
- Designer สร้างไซต์บนเครื่องท้องถิ่น
- ไซต์ทดสอบออกแบบบนเครื่องท้องถิ่น
- ผู้ออกแบบอัปโหลดไซต์ไปยังไดเร็กทอรีที่ซ่อนไว้ในเซิร์ฟเวอร์การผลิตสำหรับการทดสอบเพิ่มเติม
- การออกแบบที่ผ่านการอนุมัติจะถูกย้ายไปยังพื้นที่ (ไม่ได้ซ่อน) ของเว็บไซต์
สำหรับไซต์ขนาดเล็กนี่เป็นเวิร์กโฟลว์ที่ยอมรับได้อย่างสมบูรณ์ และในความเป็นจริงคุณมักจะเห็นสิ่งที่ไซต์เล็ก ๆ กำลังทำอยู่โดยการดูที่ไฟล์ที่มีชื่อว่า:
index2.html และภายในไดเรกทอรีที่มีชื่อว่า:
/ใหม่ตราบเท่าที่คุณจำได้ว่าพื้นที่ที่ไม่ได้รับการป้องกันด้วยรหัสผ่านแบบเดียวกับที่สามารถพบได้โดยเครื่องมือค้นหาโพสต์การอัปเดตไปยังเซิร์ฟเวอร์การผลิตเป็นวิธีที่ดีในการทดสอบการออกแบบใหม่ในสภาพแวดล้อมแบบสดโดยไม่จำเป็นต้องมีเซิร์ฟเวอร์พิเศษ
เซิร์ฟเวอร์ทดสอบหรือเซิร์ฟเวอร์ QA
เซิร์ฟเวอร์ทดสอบเป็นส่วนเสริมที่มีประโยชน์สำหรับเวิร์กโฟลว์ของเว็บไซต์เนื่องจากจะช่วยให้คุณสามารถทดสอบหน้าเว็บและการออกแบบใหม่ ๆ บนเว็บเซิร์ฟเวอร์ที่ไม่สามารถมองเห็นได้สำหรับลูกค้า (และคู่แข่ง) เซิร์ฟเวอร์ทดสอบถูกตั้งค่าให้เหมือนกับไซต์ที่ใช้งานจริงและมักมีการตั้งค่าการควบคุมเวอร์ชันบางอย่างไว้เพื่อตรวจสอบให้แน่ใจว่ามีการบันทึกการเปลี่ยนแปลงใด ๆ เซิร์ฟเวอร์ทดสอบส่วนใหญ่ตั้งอยู่หลังไฟร์วอลล์ของ บริษัท เพื่อให้พนักงานสามารถเห็นได้เท่านั้น แต่ก็สามารถตั้งค่าด้วยการป้องกันด้วยรหัสผ่านภายนอกไฟร์วอลล์
เซิร์ฟเวอร์ทดสอบมีประโยชน์มากสำหรับไซต์ที่ใช้เนื้อหาแบบไดนามิกการเขียนโปรแกรมหรือ CGI มาก เนื่องจากถ้าคุณไม่มีเซิร์ฟเวอร์และฐานข้อมูลที่ตั้งอยู่บนเครื่องคอมพิวเตอร์ของคุณการทดสอบหน้าเว็บเหล่านี้แบบออฟไลน์เป็นเรื่องยากมาก ด้วยเซิร์ฟเวอร์ทดสอบคุณสามารถโพสต์การเปลี่ยนแปลงของคุณไปยังไซต์และดูว่าโปรแกรมสคริปต์หรือฐานข้อมูลยังคงใช้ได้ตามที่คุณต้องการหรือไม่
บริษัท ที่มีเซิร์ฟเวอร์ทดสอบมักเพิ่มลงในเวิร์กโฟลว์เช่นนี้
- Desginer สร้างเว็บไซต์ภายในเครื่องและทดสอบเฉพาะที่เช่นเดียวกับด้านบน
- ผู้ออกแบบหรือนักพัฒนาซอฟต์แวร์อัปโหลดการทดสอบไปยังเซิร์ฟเวอร์ทดสอบเพื่อทดสอบองค์ประกอบแบบไดนามิก (PHP หรือสคริปต์ฝั่งเซิร์ฟเวอร์อื่น ๆ CGI และ Ajax)
- การออกแบบที่ผ่านการอนุมัติจะถูกย้ายไปยังเซิร์ฟเวอร์การผลิต
เซิร์ฟเวอร์การพัฒนา
เซิร์ฟเวอร์การพัฒนามีประโยชน์มากสำหรับไซต์ที่มีคอมโพเนนต์การพัฒนาที่มีขนาดใหญ่เช่นไซต์อีคอมเมิร์ซและแอพพลิเคชันเว็บที่ซับซ้อน เซิร์ฟเวอร์การพัฒนาถูกใช้โดยทีมพัฒนาเว็บเพื่อทำงานในการเขียนโปรแกรมด้านหลังของเว็บไซต์ พวกเขามักมีระบบควบคุมเวอร์ชันหรือซอร์สโค้ดสำหรับสมาชิกหลายทีมเพื่อใช้และจัดหาสภาพแวดล้อมเซิร์ฟเวอร์เพื่อทดสอบสคริปต์และโปรแกรมใหม่ ๆ
เซิร์ฟเวอร์การพัฒนาแตกต่างจากเซิร์ฟเวอร์ทดสอบเนื่องจากนักพัฒนาซอฟต์แวร์ส่วนใหญ่ทำงานโดยตรงบนเซิร์ฟเวอร์ วัตถุประสงค์ของเซิร์ฟเวอร์นี้คือการลองสิ่งใหม่ ๆ ในโปรแกรม แม้ว่าการทดสอบจะเกิดขึ้นบนเซิร์ฟเวอร์สำหรับการพัฒนา แต่ก็เพื่อจุดประสงค์ในการสร้างโค้ดชิ้นงานไม่ใช่การทดสอบกับเกณฑ์เฉพาะ ช่วยให้นักพัฒนาซอฟต์แวร์สามารถกังวลเกี่ยวกับถั่วและสลักเกลียวของเว็บไซต์ได้โดยไม่ต้องกังวลว่าจะทำอย่างไร
เมื่อ บริษัท มีเซิร์ฟเวอร์การพัฒนาทีมงานเหล่านี้มักมีทีมงานที่แยกกันทำงานด้านการออกแบบและพัฒนา เมื่อเป็นเช่นนี้เซิร์ฟเวอร์ทดสอบกลายเป็นสิ่งสำคัญยิ่งขึ้นเนื่องจากเป็นที่ที่การออกแบบพบกับสคริปต์ที่พัฒนาแล้ว เวิร์กโฟลว์ที่มีเซิร์ฟเวอร์การพัฒนามักเป็น:
- นักออกแบบทำงานในการออกแบบบนเครื่องท้องถิ่นของตน
- ในเวลาเดียวกันนักพัฒนาซอฟต์แวร์จะทำงานกับสคริปต์และโปรแกรมต่างๆบนเซิร์ฟเวอร์การพัฒนา
- โค้ดและการออกแบบถูกรวมเข้ากับเซิร์ฟเวอร์ทดสอบสำหรับการทดสอบ
- การออกแบบและรหัสที่ได้รับอนุมัติจะถูกย้ายไปยังเซิร์ฟเวอร์การผลิต
เซิร์ฟเวอร์เนื้อหา
สำหรับไซต์ที่มีเนื้อหาจำนวนมากอาจมีเซิร์ฟเวอร์อื่นซึ่งมีระบบการจัดการเนื้อหาอยู่ ซึ่งช่วยให้นักพัฒนาเนื้อหาสามารถเพิ่มเนื้อหาโดยที่ไม่ได้รับผลกระทบจากการออกแบบหรือโปรแกรมที่สร้างไว้ข้างๆ เซิร์ฟเวอร์เนื้อหาเป็นเหมือนเซิร์ฟเวอร์การพัฒนายกเว้นนักเขียนและศิลปินกราฟิก
Staging Server
เซิร์ฟเวอร์การชันสูตรมักเป็นจุดสุดท้ายสำหรับเว็บไซต์ก่อนที่จะมีการผลิต เซิร์ฟเวอร์สเตจถูกออกแบบมาเพื่อให้มีประสิทธิภาพมากที่สุดเท่าที่จะเป็นไปได้ ดังนั้นฮาร์ดแวร์และซอฟต์แวร์มักถูกทำมิเรอร์สำหรับเซิร์ฟเวอร์เว็บที่แสดงและการผลิต หลาย บริษัท ใช้เซิร์ฟเวอร์ทดสอบเป็นเซิร์ฟเวอร์แสดงขั้นเทพ แต่ถ้าไซต์ซับซ้อนมากเซิร์ฟเวอร์ staging จะช่วยให้นักออกแบบและนักพัฒนาซอฟต์แวร์เป็นโอกาสสุดท้ายที่จะตรวจสอบว่าการเปลี่ยนแปลงที่เสนอนั้นได้รับการออกแบบมาและไม่ส่งผลกระทบเชิงลบต่อไซต์โดยรวม, โดยไม่มีการทดสอบอื่นที่กำลังดำเนินการอยู่บนเซิร์ฟเวอร์ทดสอบซึ่งก่อให้เกิดความสับสน
เซิร์ฟเวอร์การจัดคิวมักใช้เป็นรูปแบบของ "ช่วงเวลารอ" สำหรับการเปลี่ยนแปลงเว็บไซต์ ในบาง บริษัท เซิร์ฟเวอร์การแสดงละครจะใช้เนื้อหาใหม่ที่โพสต์โดยอัตโนมัติในขณะที่ บริษัท อื่น ๆ ใช้เซิร์ฟเวอร์เป็นพื้นที่ทดสอบและอนุมัติขั้นสุดท้ายสำหรับผู้ที่อยู่นอกทีมเว็บเช่นการจัดการการตลาดและกลุ่มที่ได้รับผลกระทบ เซิร์ฟเวอร์ staging มักจะใส่ในเวิร์กโฟลว์เช่นนี้:
- นักออกแบบทำงานในแบบบนเครื่องท้องถิ่นหรือเซิร์ฟเวอร์ทดสอบ
- ผู้สร้างเนื้อหาสร้างเนื้อหาใน CMS
- นักพัฒนาซอฟต์แวร์เขียนโค้ดบนเซิร์ฟเวอร์การพัฒนา
- การออกแบบและโค้ดถูกนำมารวมกันบนเซิร์ฟเวอร์ทดสอบสำหรับการทดสอบ (บางครั้งเนื้อหาจะรวมอยู่ที่นี่ แต่มักมีการตรวจสอบใน CMS นอกเวิร์กโฟลว์การออกแบบ)
- เนื้อหาจะถูกเพิ่มลงในแบบและรหัสบนเซิร์ฟเวอร์การแสดงละคร
- ได้รับการอนุมัติขั้นสุดท้ายและไซต์ทั้งหมดถูกส่งไปยังเซิร์ฟเวอร์การผลิต
เวิร์กโฟลว์ของ บริษัท ของคุณอาจแตกต่างกัน
สิ่งหนึ่งที่เราได้เรียนรู้คือกระบวนการทำงานที่ บริษัท หนึ่งอาจแตกต่างจากที่ บริษัท อื่น เราได้สร้างเว็บไซต์ที่เขียน HTML ตรงบนเซิร์ฟเวอร์การผลิตโดยใช้ Emacs และ vi และเราได้สร้างเว็บไซต์ที่เราไม่สามารถเข้าถึงอะไรได้ แต่ส่วนเล็ก ๆ ของหน้าเว็บที่เรากำลังทำงานอยู่และเราทำงานทั้งหมดภายใน CMS เมื่อเข้าใจวัตถุประสงค์ของเซิร์ฟเวอร์ต่างๆที่คุณอาจเจอคุณสามารถออกแบบและพัฒนางานได้อย่างมีประสิทธิภาพ