วันเสาร์ที่ 12 กันยายน พ.ศ. 2563

รู้จักกับ Azure SQL ตอนที่ 2

      สวัสดีครับทุกท่าน สำหรับบทความนี้เป็นตอนที่ 2 ของ Azure SQL ครับ เราจะมาว่ากันต่อสำหรับเรื่องราวของ Azure SQL ครับ แต่ท่านใดที่ยังไม่ได้อ่านตอนที่ 1 ผมแนะนำให้ไปอ่านก่อนนะครับและค่อยกลับมาอ่านบทความตอนนี้ครับ จะได้เข้าใจเรื่องราวต่างๆ ของ Azure SQL ครับ และเพื่อไม่ให้เป็นการเสียเวลาเรามาต่อกันในเรื่องราวของสิ่งที่จะต้องทำความเข้าใจและพิจารณาก่อนที่จะใช้งาน Azure SQL ครับ 







2. Purchase Model, หลังจากที่เราได้ทำการเลือกในส่วนของ Deployment Option แล้ว สิ่งที่จะต้องทำความเข้าใจและพิจารณาก็คือ Purchase Model ครับ ซึ่งจะเกี่ยวข้องกับเรื่องที่สำคัญและเป็นเรื่องที่ลูกค้าหรือทุกท่านอยากทราบครับ นั่นก็คือ เรื่องของคิดค่าใช้จ่ายของ Azure SQL ครับ 

โดยจะมี 2 รูปแบบให้เลือก คือ vCore กับ DTU ครับ  สำหรับ vCore จะคิดค่าใช้จ่ายแยกกันระหว่าง Compute กับ Storage ดังนั้นเวลาที่เราต้องการเพิ่มหรือลดก็จะแยกกันระหว่างสองส่วนนี้ครับ และใน vCore จะมีให้เลือกในส่วนของ Hardware Generation (Gen4/Gen5, Fsv2-Series, เป็นต้น) ครับ  สำหรับในส่วนของ DTU จะคิดแบบเหมารวมทั้ง Compute และ Storage ครับ ในส่วนของการเพิ่มหรือลดไปทั้งหมดไปพร้อมๆกันครับ

*ทั้งนี้ vCore หรือ DTU จะขึ้นอยู่กับ Deployment Option (Single Database, Elastic Pool, และ Managed Instance) นะครับ


3. Service Tier, หลังจากที่พิจารณาเรื่องของ Purchase Model แล้ว ก็จะมีความสัมพันธ์หรือเกี่ยวข้องกับ Service Tier ครับ โดยมีรายละเอียดดังนี้ครับ:

ถ้าเป็น vCore จะมี Option ให้เลือกดังนี้ครับ


- General Purpose

- Business Critical

- Hyperscale














รายละเอียดเพิ่มเติมเกี่ยวกับ vCore สามารถดูเพิ่มเติมจาก Link นี้ครับ, https://docs.microsoft.com/en-us/azure/azure-sql/database/service-tiers-vcore?tabs=azure-portal


ถ้าเป็น DTU ก็จะมี Options ให้เลือกดังนี้ครับ

- Basic

- Standard

- Premium



รายละเอียดเพิ่มเติมเกี่ยวกับ DTU สามารถดูรายละเอียดเพิ่มเติมได้จาก Link นี้ครับ, https://docs.microsoft.com/en-us/azure/azure-sql/database/service-tiers-dtu


 4. Compute Tier, สำหรับเรื่องนี้จะเกี่ยวข้องกับ Purchase Model เป็น vCore  โดยจะมี 2 Option ให้เลือกสำหรับในส่วนของ Compute Tier ครับ

- Provisioned Compute, Option นี้เหมาะสำหรับกรณีของ Database ที่มีการใช้งานอย่างต่อเนื่องตลอดเวลา เพราะค่าใช้จ่ายหรือราคาจะคิดตาม Compute (vCore) ซึ่งจะ Fixed Compute ตามที่เลือกครับ และคิดค่าใช้จ่ายเป็นชั่วโมงครับ

- Serverless Compute, Option นี้เหมาะสำหรับกรณีของ Database ที่มีการใช้งานไม่ได้ต่อเนื่องหรือไม่ได้ตลอดเวลาครับ โดย Option นี้จะสามารทำ Auto-Scale Compute ได้ตามการใช้งานครับ โดยค่าใช้จ่ายคิดตาม Compute ที่ใช้งานตามที่ใช้งานและคิดเป็นวินาทีครับ


และทั้งหมดนี้คือสิ่งที่ท่านผู้อ่านจะต้องทำความเข้าใจและพิจารณาก่อนที่จะเลือกใช้งาน Azure SQL ครับ ผมขอเพิ่มเติมอีกนิดนึงเกี่ยวกับ Azure SQL ซึ่งให้บริการในรูปแบบของ PaaS นั้นมีข้อดีหลายอย่างเมื่อเปรียบเทียบกับการ Deploy (Microsoft SQL Server) ในรูปแบบของ IaaS ซึ่งก็คือการติดตั้งใน Virtual Machine (Azure Virtual Machine) เช่น เรื่องของ High Availability, Threat Detection, Database Advisor, Data Protection, เป็นต้นครับ


โปรดติดตามตอนต่อไปครับผม.....






วันพฤหัสบดีที่ 10 กันยายน พ.ศ. 2563

รู้จักกับ Azure SQL ตอนที่ 1

     สวัสดีครับทุกท่านสำหรับบทความตอนนี้ของผมจะพาทุกท่านไปทำความรู้จักกับ Service ตัวหนึ่งใน Microsoft Azure ครับ Service ที่ว่านี้ก็คือ "Azure SQL" ครับ  ก่อนที่จะเข้าสู่เรื่องราวของ Azure SQL  ผมขออนุญาตท้าวความนิดนึงครับ เนื่องด้วยหลายๆ องค์กรกำลังวางแผนที่จะทำการย้าย หรือ Migrate ระบบต่างๆ จาก On-Premise ขึ้นไปที่ Microsoft Azure หนึ่งในนั้นก็จะมีเรื่องราวของการย้าย Database เช่น Microsoft SQL Server ที่อยู่ใน On-Premise ครับ 

ดังน้้นทาง Microsoft ได้เตรียมแนวทางวิธีการตลอดจนเครื่องมือต่างๆ ให้กับองค์กรที่ต้องการที่จะทำการย้าย Database (Microsoft SQL Server) ไปที่ Microsoft Azure เรียบร้อยแล้วครับ ขึ้นอยู่กับความต้องการของแต่ละองค์กรว่าจะย้าย Database (Microsoft SQL Server) ไปที่ Microsoft Azure อย่างไร? 











เนื่องจากการย้าย Database (Microsoft SQL Server) ไปที่ Microsoft Azure นั้นสามารถทำได้ 2 รูปแบบหลักๆ ครับ นั่นก็คือ:

1. การย้าย Database ไปที่ Microsoft Azure ในรูปแบบ IaaS คือ การย้าย Database ซึ่งรันใน Virtual Machine ที่อยู่ใน On-Premise ไปเป็น Virtual Machine (Azure Virtual Machine) 



โดยใช้ Migration Strategy (Rehost หรือ Lift & Shift) และใช้ Azure Migrate Service ทำการย้ายหรือ Migrate ครับ  สำหรับในรูปแบบนี้ Microsoft SQL Server ก็จะรันใน Azure Virtual Machine เหมือนกับ On-Premise ครับ เพียงแต่ย้ายมาอยู่ใน Microsoft Azure ครับ ดังนั้นในแง่ของการบริหารจัดการและดูแลในส่วนของ Infrastructure เช่น Operating System (OS), Virtual Machine, Storage, Networking, และอื่นๆ  ท่านผู้อ่านก็จะต้องดูแลรักษาเหมือนเดิมครับ

2. การย้าย Database ไปที่ Microsoft Azure ในรูปแบบของ PaaS คือ การย้าย Database ซึ่งรันใน Virtual Machine ที่อยู่ใน On-Premise ไปเป็น Microsoft SQL Server ในรูปแบบ PaaS ครับ ซึ่งเรืยกว่า "Azure SQL" ครับ โดยใช้ Migration Strategy (Refactor) และใช้เครื่องมือและ Services ต่างๆ ที่ทาง Microsoft ได้เตรียมไว้ให้ เช่น DMA, DMS  เป็นต้นครับ  และสำหรับท่านใดที่ยังงง ว่า Microsoft SQL Server ในรูปแบบ PaaS คืออะไร ผมขออธิบายคร่าวๆ นะครับ มันคือการที่เราสร้างและใช้งาน Microsoft SQL Server ที่ไม่ต้องมี เครื่องหรือ Virtual Machine เข้ามาเกี่ยวข้องครับ นั่นหมายความว่าเราไม่ต้องมาคอยดูแลรักษา Operating System (OS), Virtual Machine, Storage, Networking, และอื่นๆ ที่ติดตั้งและใช้งาน Microsoft SQL Server เหมือนกับรูปแบบเดิมอีกต่อไปครับ ดังนั้นจึงทำให้เกิดความยืดหยุ่นและทำให้การบริหารจัดการมีประสิทธิภาพมากขึ้นครับ

และนี่จึงเป็นที่ผ่านของบทความนี้ ที่ผมจะพาทุกท่านไปทำความรู้จักกับ Azure SQL กันครับ


Azure SQL คืออะไร?







Azure SQL เป็น Service หนึ่งใน Microsoft Azure ซึ่งให้บริการ Microsoft SQL Server ในรูปแบบของ PaaS ครับ สำหรับตัวของ Azure SQL นั้นถูกพัฒนาจาก Microsoft SQL Server Database Engine เวอร์ชั่นล่าสุดและมีการอัพเดทอย่างต่อเนื่อง ( Continuously Updated) โดยไม่มีผลกระทบใดๆ กับการใช้งานครับ

นอกจากนี้แล้ว Microsoft ยังมาดูแลและจัดการส่วนประกอบต่างๆ ในส่วนของ Infrastructure เช่น Operating System (OS), Storage, Networking, Virtualization, Servers, Installation, และอื่นๆ ให้ครับ ในส่วนของผู้ใช้งานอย่างเรา ก็โฟกัสแค่ตัวของ Database อย่างเดียวครับ  นอกจากนี้แล้ว Azure SQL ยังมาพร้อมความสามารถและฟีเจอร์ต่างๆ มากมาย เช่น High Availability (HA), Scalability, Built-In Intelligent Optimization, Advanced Security เป็นต้น

ดังนั้นหากท่านผู้อ่านความต้องการใช้งาน Azure SQL ไม่ว่าจะเป็นการสร้างใหม่หรือย้ายจาก On-Premise ก็ตาม สิ่งสำคัญสิ่งหนึ่งที่ควรทำเป็นอันดับแรกเลยก็คือ จะต้องทำความเข้าใจเกี่ยวกับคอนเซปและรายละเอียดของ Azure SQL ครับ จากนั้นค่อยทำการพิจารณาวางแผนและเลือกใช้งาน Azure SQL ครับผม

หลังจากที่ทราบคอนเซปที่มาที่ไปของ Azure SQL เรียบร้อยแล้ว เรามาดูกันต่อครับว่า มีสิ่งใดบ้างที่จะต้องทำความเข้าใจและพิจารณาครับ ดังนี้:


1. Deployment Option

2. Purchase Model

3. Service Tier

4. Compute Tier


1. Azure SQL Deployment Option ครับ เนื่องด้วยตัวของ Azure SQL เองนั้นมีรูปแบบสำหรับการ Deploy ใช้งานหลายรูปแบบ ดังรูปด้านล่างครับ






สำหรับ Azure SQL Deployment Option ถือว่าเป็นสิ่งที่เราจะต้องทำความเข้าใจก่อนเป็นอันดับแรกครับ ในกรณีที่องค์กรของท่านหรือตัวท่านตัดสินใจว่าจะใช้ Azure SQL แล้ว เพราะแต่ละ Option หรือรูปแบบของการ Deploy Azure SQL นั้น สิ่งที่เหมือนกันคือ ทั้ง 3 Options (Single Database, Elastic Pool, และ Managed Instance) คือ Microsoft SQL Server ที่ให้บริการในรูปแบบของ PaaS ครับ แต่สิ่งที่แตกต่างคือ การนำไปใช้งานและฟีเจอร์ที่แตกต่างกันในแต่ละ Option ครับ ผมสรุปคร่าวๆ ดังนี้ครับ:

- Single Database เป็น Dedicated Single Database ที่ถูกออกแแบบมาเพื่อรองรับกับการทำงานร่วมกับ Modern Application Development เช่น "Microservice" หรือพวก Cloud หรือ SaaS Application ครับ โดย Single Database จะมี Resource เป็นของตัวเอง และ Isolated จาก Database อื่นๆ ครับ นอกจากนี้แล้ว Single Database ยังมีฟีเจอร์ที่ต่างจาก Microsoft SQL Server ใน On-Premise ครับ

- Elastic Pool ถูกออกแบบมาเพื่อรองรับกับความต้องการที่ต้องการมี หลายๆ Databases ครับ โดย หลายๆ Databases ที่ว่านี้จะแชร์ Resources เดียวกันใช้งานครับ หรือที่เรียกว่า "Shared Resource Pool" ครับ เหมาะสำหรับการทำ Dev/Test, ต้องการหลายๆ Databases ในการใช้งานแต่ไม่ต้องการ Dedicated Database (Single Database) เป็นต้นครับ

- Managed Instance ถูกออกแแบบมาให้มีความสามารถและฟีเจอร์ต่างๆ ใกล้เคียงกับ Microsoft SQL Server ใน On-Premise ครับ  ดังนั้นจึงไม่น่าแปลกใจว่า Azure SQL (Managed Instance) จึงเป็น Deployment Option ที่มีการใช้งานกันอย่างมากครับ และโดยเฉพาะอย่างยิ่งสำหรับการ Migrate SQL (On-Premise) มายัง Microsoft Azure (Azure SQL) ครับ 



รายละเอียดเพิ่มเติมของ Azure SQL Deployment Option, สามารถไปที่ Link นี้ครับ












โปรดติดตามตอนค่อไปครับผม.....