Saladpuk.com
🏆 เนื้อหาหลัก
🏆 เนื้อหาหลัก
  • 💖สลัดผัก
  • 📰มีอะไรใหม่บ้าง
    • 2020
      • 2020-11
      • 2020-10
      • 2020-09
      • 2020-08
      • 2020-03
      • 2020-02
      • 2020-01
    • 2019
      • 2019-12
      • 2019-11
      • 2019-10
      • 2019-09
      • 2019-08
  • 🤔อ่านเรื่องไรดี ?
  • มือใหม่หัดเขียนโค้ด
    • 👶เขียนโค้ดด้วยภาษา C#
      • เกิดมาไม่เคยเขียนโค้ดมาก่อนเบย
      • 👶พื้นฐาน
        • 1.โปรแกรมที่ต้องลง
        • 2.โครงสร้างของโค้ด
        • 3.ชนิดของข้อมูล
        • 4.การสร้างตัวแปร
        • 5.คำสั่งพื้นฐาน
        • 6.การแปลงข้อมูล
        • 7.การเปรียบเทียบค่า
        • 8.การตัดสินใจด้วย IF statements
        • 9.การตัดสินใจด้วย Switch statements
        • 10.การทำงานซ้ำๆด้วย While
        • 11.การทำงานซ้ำๆด้วย Do While
        • 12.การทำงานซ้ำๆด้วย For
        • 13.การแก้โจทย์จากรูป
        • 14.มารู้จักกับ Array กัน
      • 🧑ระดับกลาง
        • 15.Value type vs Reference type
        • 16.ลดงานซ้ำๆด้วย Method
        • 17.มารู้จักกับ Class & Field กัน
        • 18.มารู้จักกับ Constructor กันบ้าง
        • 19.มาเขียน Method ใน Class กัน
        • 20.มารู้จักกับ Property กัน
        • 21.ลองใช้คลาสแบบจริงจังบ้าง
        • 22.การสืบทอด Inheritance
        • 23.Polymorphism
        • 24.Abstract Class
        • 25.Interface
        • 26.Namespace
        • 27.Enum
        • 28.Exception handler
        • 29.ลงลึกกับ string
        • 30.StringBuilder เพื่อนคู่ string
      • 👨⏳ระดับสูง
        • Generic
        • Delegates
        • Action & Func
        • Lambda expression
        • LINQ
        • พระคัมภีร์การใช้คำสั่ง LINQ
      • 💡Tips
        • 💡C# version 8.0
        • 💡Boxing & Unboxing
    • 👶Algorithm
      • 👾Algorithm Big-O
      • 👽Algorithm P & NP
    • 👦OOP
      • 💖Abstraction
      • 💖Encapsulation
      • 🏆Abstraction & Encapsulation
      • 💖Inheritance
      • 💖Polymorphism
      • 🏆Inheritance & Polymorphism
      • 📝ลองเขียน OOP ดูดิ๊
      • 👑OOP + Power of Design
      • 🥰เทคนิคในการออกแบบ
    • 👶บทสรุปฐานข้อมูล
      • เก็บรูปในฐานข้อมูล
      • Database indexing
      • การลบข้อมูล
    • 👦Communication Patterns
    • 👦Design Patterns
      • 🤰Creational Patterns
        • 🏭Factory Method
        • 🏭Abstract Factory
        • ☝️ Singleton Pattern
        • 🏗️ Builder Pattern
        • 🎎Prototype Pattern
      • 🧱Structural Patterns
        • 🔌Adapter Pattern
        • 📪Proxy Pattern
  • Puzzle
    • 🧠Challenges
      • 🐴Google ม้า 25 ตัว
      • 🌉Amazon เสา 2 ต้น
      • 🥇ทองเก๊
      • 💊ยาต้านโควิด
      • 🎩CP หมวก 5 ใบ
      • 🧓Einstein's Riddle 01
  • พื้นฐานที่ควรต้องรู้
    • 🐳Docker
      • 📦Docker Containers
      • 🃏Docker Exercise 01
      • 🛠️ Docker Tools
      • 🗃️ Docker Registry
      • 🖼️ Container Image
      • 📢Docker Push
      • 🔄WSL
    • 👶Clean Code
      • 🧓Uncle Bob - Clean Code
      • 🧓Uncle Bob - Comments
      • 🧓Uncle Bob - Naming
      • 🧓Uncle Bob - Mindset
      • 🧓Uncle Bob - TDD
    • 👶Code Smells
    • 👶สิ่งที่คนเขียนโค้ดมักเข้าใจผิด
    • 👶AI พื้นฐาน
    • 👶Git พื้นฐาน
      • Git branching strategy
    • 👶Cloud พื้นฐาน
    • 👶UML พื้นฐาน
      • Activity Diagram
      • Class Diagram
      • Sequence Diagram
      • Use case Diagram
      • บทสรุปการใช้ UML
    • 👶Data Scientist
      • การเลือก Algorithms ให้ AI (1/5)
      • การเตรียมข้อมูลให้ AI (2/5)
      • หลักการตั้งคำถามให้ AI (3/5)
      • แฉความลับของ AI Model (4/5)
      • หัดเขียน AI จาก AI ของคนอื่น (5/5)
    • 👶DevOps พื้นฐาน
    • 👶Docker ขั้นพื้นฐาน
      • Image and Container
      • แชร์ Docker Image ที่สร้างไว้
    • 👶Microservices พื้นฐาน
      • Microservices ที่ดีมีลักษณะยังไง
      • Microservices Tips
      • จาก Monolith สู่ Microservices
    • 👶ความรู้พื้นฐานในการทำเว็บ
    • 👦Bottlenecks of Software
      • หัวใจที่สำคัญที่สุดของฐานข้อมูล
    • 👦Agile Methodology
      • Agile in a Nutshell
      • Software Development Life Cycle
      • Code Review
    • 👦Security พื้นฐาน
      • การเก็บรหัสผ่านที่ถูกต้อง
      • Security in actions
        • Hash function
      • Security Principles
      • 😎The Matrix 1
      • 😎The Matrix 2
      • HTTPS in a nutshell
    • 👦SOLID Design Principles
      • มารู้จักกับ SOLID กันดีกว่า
      • Single-Responsibility Principle
      • Open/Closed Principle
      • Liskov Substitution Principle
      • Interface Segregation Principle
      • Dependency-Inversion Principle
  • Cloud Computing
    • 👶Microsoft Azure 101
      • สมัคร Microsoft Azure
      • รู้จักกับ Resource Groups
      • สร้างเว็บตัวแรกกัน
      • สร้าง Virtual Machine กัน
      • ประเภทของคลาว์เซอร์วิส
      • มาสร้าง Logic App กัน
      • มาสร้าง Function App กัน
      • คลาว์คิดเงินยังไง ?
      • Cloud Native
      • Guideline for Cloud scaling
      • Auto Scaling
    • 👶Azure App Services
    • 👶App Service Plan
    • 👶Azure Storage
      • Blob storage
        • ลองสร้างที่เก็บไฟล์กันเลย
        • เข้าใจ Blob storage ให้มากขึ้น
        • ลองเขียนโค้ดอัพโหลดไฟล์กันบ้าง
        • สร้างเว็บจากที่ฝากไฟล์บนคลาว์
    • 👶Azure Bot Service
      • Bot เข้าใจเราได้ยังไงกันนะ
    • 👶Azure Cognitive Services
      • การสร้าง Cognitive Services
      • การ Login ด้วยใบหน้า
      • อ่านลายมือจากรูปเป็นตัวอักษร (OCR)
      • เขียน AI แยกของต่างๆทำยังไง?
      • เขียนแอพ ทายอายุ บอกเพศ ง่ายจิ๊ดเดียว
      • เขียนแอพให้ AI อธิบายรูปเป็นภาษาคน
    • 👶Machine Learning Studio
      • มาสร้าง AI ของแท้ตัวแรกของเรากัน
      • สร้าง AI ตัดสินใจอนุมัติบัตรเครดิต 💳
      • ลองเรียกใช้ AI ของเรากัน
    • 👶Azure Service Fabric
      • สร้าง Service Fabric กัน
    • 👶Blockchain
      • Blockchain ทำงานยังไง ?
      • Consensus Algorithm คืออะไร ?
      • สร้าง Blockchain ใช้เองกัน !
      • หัดเขียน Smart Contract กัน
    • 👶Power BI
    • 👶Azure Web App
      • เซิฟเวอร์บนคลาว์ ราคา? ต่าง?
    • 👶Azure DevOps
      • เล่น Azure DevOps กัน
      • เล่นกับ Repository
      • ลองทำ Continuous Integration (CI)
      • ลองทำ Continuous Delivery (CD)
      • เล่น Kanban Board
    • 🤠Cloud Playground
      • การป้องกันความลับหลุดตอนที่ 1
      • การป้องกันความลับหลุดตอนที่ 2
      • การป้องกันความลับหลุดตอนที่ 3
      • การป้องกันความลับหลุดตอนจบ
  • Software Testing
    • 👦Test-First Design
    • 👦Test-Driven Development
      • 1.มารู้จักกับ TDD กันดีกว่า
      • 2.Test cases เขาเขียนกันยังไงนะ
      • 3.เครื่องมือในการทดสอบ
      • 4.การใช้ Theory และ InlineData
      • 5.โค้ดที่ทดสอบได้
      • 6.Mantra of TDD
      • 7.Functional & None-Functional testing
      • 8.Manual vs Automation testing
      • 9.Automation Frameworks in .NET
      • 10.Mock Framework
      • 11.มาเรียนการใช้ Moq กันเถอะ
      • 12.สรุป
  • Web
    • 👦Web API
      • 1.Web API คืออะไร
      • 2.ติดตั้ง .NET Core SDK
      • 3.สร้าง Web API ตัวแรกกัน
      • 4.Verbs
      • 5.Swagger เพื่อคู่ API
      • 6.การใช้ Model
      • 7.เรียก Web API ผ่าน Postman
      • 8.มาจัดกลุ่ม API กัน (1/2)
      • 9.มาจัดกลุ่ม API กัน (2/2)
  • Software Design
    • 🤴Design Patterns
      • 🦈Creational patterns
        • Abstract Factory
        • Builder
        • Factory Method
        • Prototype
        • Singleton
      • 🦈Structural patterns
        • Adapter
        • Bridge
        • Decorator
        • Facade
        • Proxy
      • 🦈Behavioral patterns
        • Chain of Responsibility
        • Command
        • Iterator
        • Mediator
        • Memento
        • Observer
        • State
        • Strategy
        • Template Method
        • Visitor
Powered by GitBook
On this page
  • 🤔 App Services ทำไยได้ ?
  • 🔥 Apps
  • 🔥 Operating System
  • 🔥 Development Frameworks
  • 🤔 ชีวิตสบายขึ้นได้ไง ?
  • 🔥 Deployments
  • 🔥 Backup & Restore
  • 🔥 Authentications
  • 🔥 Scaling
  • 🔥 Domain Name
  • 🔥 SSL Cerifications
  • 🔥 Monitoring
  • 🔥 รวบรัดตัดจบ
  • 🤔 ต้องดูแลเยอะป่ะ ?
  • 🎯 บทสรุป

Was this helpful?

Export as PDF
  1. Cloud Computing

Azure App Services

มาหัดทำแอพบนคลาว์กันดีกั่ว

PreviousAuto ScalingNextApp Service Plan

Last updated 5 years ago

Was this helpful?

ในคอร์สนี้เราจะมาทำความรู้จักกับเจ้าสิ่งที่ชื่อว่า App Services ของ Microsoft Azure กันบ้าง ซึ่งงานพื้นฐานต่างๆที่เราใช้ๆกัน 80% ก็จะอยู่กับเจ้าตัวนี้นั่นเอง ดังนั้นถ้าอยากมีชีวิตที่ดี๊ดี ลองมาศึกษามันจริงๆจังๆกันดีกว่านะ

แนะนำให้อ่าน สำหรับคนที่ไม่รู้เรื่องคลาว์เลย แต่แอบมีใจอยากลองเด่ขาเข้ามาฝั่งนี้บ้าง ผมแนะนำให้ลองดูบทเรียนในลิงค์ด้านล่างนี้ก่อนนะ มันจะได้รู้ว่าควรจะสละเวลาเล่นเกมส์มาศึกษามันจริงๆหรือเป่านั่นเอง ****

🤔 App Services ทำไยได้ ?

🔥 Apps

อู๊วววว เย๊อะม๊วกกก เช่น อยากได้เว็บไซต์ซักตัว, อยากทำ Mobile back-end, อยากมีทำ REST API บลาๆ ก็สามารถให้กดสร้างได้เลยเพียงคลิก 2-3 ทีและรอไม่กี่วินาทีเท่านั้นเอง เราก็จะได้ของที่ว่ามาเอาไว้ใช้ทำ production ได้เลย

หรือแม้กระทั้งแอพที่ใช้ทำงานแบบไม่มีวันพักผ่อน ทำงานจนตายกันไปข้าง หรือที่เราเรียกกันว่า Background Services นั่นเอง ซึ่งของ Azure เขาเรียกว่า WebJobs เช่น เอาไว้ไล่เคลียข้อมูล เอาไว้ทำ thumbnail รูป หรืออะไรก็ตามที่เราไม่อยากให้มันเสียทรัพยากร (มีหลายตัวอยู่ที่มีไว้ทำงานลักษณะนี้)

หรือแม้กระทั่งตัวที่เอาไว้ส่ง Notification ต่างๆลง Platforms ต่างๆ เช่น Android, iOS, Windows, Kindle ก็มีตัวที่ชื่อว่า Notification Hub นะจ๊ะ

🔥 Operating System

แถมเรายังสามารถเลือกได้ด้วยว่าจะใช้ OS เป็น Windows หรือ Linux อีกด้วยนะ อันนี้รักเลยเพราะบางทีเราอยากจะประหยัดค่า License

🔥 Development Frameworks

รองรับภาษาอะไรบ้างนะเหรอ ตามลิสต์นี้เลย .NET Framework, .NET Core, Java, Ruby, Node.js, PHP, Phyton อีกทั้งเรายังเลือก version ย่อยได้อีกนะ ตามรูปด้านล่าง เวอร์ชั่นใหม่ๆออกก็กระโดดมาให้ใช้ทันที + ยังคงเวอร์ชันเก่าให้เลือกใช้ได้ยาวๆอีกด้วย

คือจะให้มาร่ายทั้งหมดทุกซอกทุกมุมของ App Services ในบทความนี้ ผมว่ามันคงจะยาวเฟื้อยเลยล่ะ ดังนั้นขอตัดบทไปดูเรื่องอื่นกันบ้างนะ ... ฉับ ฉับ ฉับ

🤔 ชีวิตสบายขึ้นได้ไง ?

🔥 Deployments

DevOps

สำหรับคนที่ชอบ Automation ตามฉบับของ DevOps อย่าง (CI) Continuous Integration, (CD) Continuous Delivery หรือทำงานในพวก Git ต่างๆแล้วล่ะก็ งานเหล่านั้นสามารถเอาขึ้น App Services ได้เลยนะฮ๊าฟฟฟฟ ไม่ว่าเราจะใช้ค่ายไหน VSTS, GitHub, BitBucket, Docker Hub เขาก็รองรับหมดนะก๊าฟฟฟ หรือจะเป็น FTP, Local Repository ก็จัดมาได้หมดเลย หรือจะเป็นอัพโหลดด้วย Zip file, OneDrive, DropBox ก็มิหวั่นนะจ๊ะ

Environment

แถมยังสามารถสร้าง Environments ต่างๆขึ้นมาเพื่อให้เราแยกการ Deploy ในแต่ละ Environments เพื่อทำการทดสอบระบบก่อนที่จะใช้งานจริงได้ด้วย ซึ่งถ้าระบบพร้อมใช้งานแล้วก็ทำการสลับตัวกัน ทำให้ผู้ใช้ไม่รู้สึกถึง Downtime ที่เกิดขึ้นเลย หรือพูดง่ายๆว่า ไม่ต้องปิดเซิฟเวอร์เพื่ออัพเดทนั่นเอง ซึ่งบน Azure เรียกมันว่า Deployment Slots นั่นเอง

A/B Testing

เวลาที่เราอยากรู้ว่าแบบ A กับแบบ B อันไหนมีปัญหา หรืออะไรก็ตามแต่ เราก็สามารถ แยก Traffic ของผู้ใช้ ไปลองใช้งานได้ด้วยนะจ๊ะ

🔥 Backup & Restore

ถ้าเราอยากทำ Snapshot หรือสร้าง Backup ข้อมูล, database หรืออะไรต่างๆก็สามารถทำได้ แถมยังตั้งเป็น Schedule ไว้ได้ด้วยนะ เมื่อไหร่ที่มีปัญหาก็สามารถย้อนกลับมาได้

🔥 Authentications

กรณีที่เราไม่อยากให้ใครก็ไม่รู้มาเข้าใช้งานระบบ เขาก็มีระบบ Authentication เพื่อยืนยันตัวตนก่อนใช้งานให้เราด้วยนะ กดจิ้มจึ๊กๆไม่กี่ทีก็ได้ระบบ Login ด้วย Azure AD, Facebook, Google, Microsoft, Twitter มาใช้งานแว้ว

🔥 Scaling

กรณีที่มีคนเข้ามาใช้งานเยอะๆ แล้วกลับระบบรับโหลดไม่ไหว เราก็สามารถขยายเครื่องได้ด้วยนะ ไม่ว่าจะเป็นการทำ Scale Up/Down หรือ Scale In/Out ก็ได้หมด แถมยังตั้งเป็น schedule เช่นทุกๆวันศุกร์ตอน 2 ทุ่ม หรือ จะให้ระบบมันจัดการให้เองถ้า CPU พุ่งปรี๊ดไรงี้ก็ได้เช่นกัล

🔥 Domain Name

สำหรับคนที่อยากได้ Domain Name เป็นของตัวเอง หรือมีอยู่แล้วก็สามารถมา claim ได้เลยนะจ๊ะ

🔥 SSL Cerifications

สำหรับคนที่มี Certifications อยู่แล้วก็สามารถเอามา binding ได้เช่นกัลล์ หรือ ยังไม่มีกดซื้อด้านบนได้เช่นกัล

🔥 Monitoring

เพื่อป้องกันไม่ให้ระบบล่ม หรือ หาสาเหตุข้อผิดพลาดที่เกิดขึ้นในระบบของเรา การเข้าไปดูสถานะ Log สภาพเซิฟเวอร์ หรือแม้กระทั่ง Real-time Log ก็เป็นสิ่งที่ขาดไม่ได้เลย ซึ่ง Azure จัดเต็มมาให้กับเรื่องนี้เป็นหมวดใหญ่ๆเลย และมันก็ทำงานกับ Application Insights ได้ด้วยนะ ซึ่งจุดนี้มันเยอะม๊วกกก ขอแยกไปอธิบายในบทความเฉพาะทางเอาละกัน

🔥 รวบรัดตัดจบ

อย่างที่บอกว่ามันยาวม๊ากกกกกกก ถ้าจะให้ไล่ให้หมด ดังนั้นผมขอไล่แบบรวดเดียวตรงนี้เลยว่า ถ้าเราใช้ App Services มันยังจะทำให้เรา

  • Hybrid data connection - ต่อไปใช้งานกับเซิฟเวอร์ส่วนตัวของเราก็ได้

  • Restrict Access to IP Address & Ranges IPs - จำกัดสิทธิ์ IP ที่จะเข้ามาใช้งานได้

  • App Service Advisor - มีระบบสอดส่องสิ่งแปลกๆที่เกิดขึ้นในระบบตลอดเวลา

  • Resource health - มีระบบตรวจสอบว่า Service เรายังอยู่ดีมีสุขทำงานได้ปรกติหรือเปล่า

  • Performance Testing - ถ้าอยากรู้ว่าระบบของเราจะรับโหลดได้มากน้อยขนาดไหน ก็ลองจิ้มตัวนี้ได้เลย เขาจะจำลองสถานะการณ์ผู้ใช้กระหน่ำเซิฟเวอร์ให้เราแบบถึงลูกถึงคน แล้วเราจะรู้ขีดจำกัดของตัวเราเอง เพื่อไล่หาคอขวด ที่มาคอยขัดให้ระบบเราช้าเป็นเต่านั่นเอง

  • API Management - สามารถทำงานเข้ากับตัวจัดการเรื่อง 3rd party หรือ Client ของเราได้ว่าจะให้สิทธิ์เข้าได้ถึงไหน เวอร์ชั่นอะไร บลาๆ

และอื่นๆอีกมากมายที่เริ่มขี้เกียจอธิบาย เอาไว้ดูในรายละเอียดของมันในบทความเฉพาะอีกทีละกัน เพราะเดี๋ยวเราจะลงรายละเอียดมันไปเรื่อยๆทีละตัวนั่นเอง Kudo, VNet, Azure Front Door, Web Firewall, CDN

🤔 ต้องดูแลเยอะป่ะ ?

ทั้งหมดที่ร่ายยาวมา เราไม่ต้องไปสนใจเรื่อง Infrastructure เลย เช่น จะเว็บเราจะอัพเกรด OS เมื่อไหร่? จะเพิ่ม Anti-virus ดีไหม? Internet ล่มต้องทำไง? บลาๆ เพราะตัว App Services นั้นตั้งอยู่บนสิ่งที่เรียกว่า PaaS หรือ Platform as a Service นั่นเอง

🎯 บทสรุป

สำหรับคนที่อ่านทั้งหมดนั่นแล้วไม่เข้าใจเลย ผมพูดง่ายแบบนี้ละกันว่า แค่ใช้งาน App Services เป็นเพียงตระกูลนี้ตระกูลเดียว ก็รองรับงานส่วนใหญ่ 80% ของที่ลูกค้าจะมาจ้างแล้วล่ะ แถมยังได้ความสามารถในการควบคุมดูแลระบบ ที่อยู่ในระดับโลกใช้กันอีกด้วย ดังนั้นจงมอบตัวแล้วค่อยๆมาเรียนรู้การใช้งานเจ้าตัวนี้กันดีกั่ว

แนะนำให้อ่าน พอดีเขียนบทความเรื่อง Auto Scaling ไว้แล้ว ดังนั้นถ้าสนใจจุดนี้ก็ไปอ่านได้จากลิงค์นี้เบย ****

แนะนำให้อ่าน ใครจำ PaaS ไม่ได้หรืออยากรู้ประเภทของคลาว์เซอร์วิส ก็สามารถไปอ่านทำความเข้าใจได้ที่ลิงค์นี้ขอรับ ****

คอร์สนี้กำลังค่อยๆเขียนอยู่ ใครที่ไม่อยากพลาดอัพเดทก็เข้าไปกดติดตามที่ลิงค์ ได้เลย ส่วนใครที่อยากศึกษา App Service ตัวไหนล่วงหน้าก็ส่งข้อความไปทักเอาได้เช่นกันขอรับ

👶
Auto Scaling
ประเภทของคลาว์เซอร์วิส
Mr.Saladpuk
👶 Cloud พื้นฐาน