Útmutató az Azure alkalmazásarchitektúrájáhozAzure Application Architecture Guide

Ez az útmutató az Azure-on futó skálázható, rugalmas, magas rendelkezésre állású alkalmazások tervezésének strukturált megközelítését ismerteti.This guide presents a structured approach for designing applications on Azure that are scalable, secure, resilient, and highly available. Az útmutatót az ügyfélesetekből származó tapasztalatok és az ajánlott eljárások alapján állítottunk össze.It is based on proven practices that we have learned from customer engagements.

Introduction (Bevezetés)Introduction

A felhő átformálja az alkalmazások tervezésének én védelmének módját.The cloud is changing how applications are designed and secured. Az egybefüggő kódtömbök helyett az alkalmazások kisebb, decentralizált szolgáltatásokra vannak bontva.Instead of monoliths, applications are decomposed into smaller, decentralized services. Ezek a szolgáltatások API-kkal, vagy aszinkron üzenetküldéssel és eseménykezeléssel kommunikálnak egymással.These services communicate through APIs or by using asynchronous messaging or eventing. Az alkalmazások horizontálisan skálázhatók és igény szerint új példányokkal bővíthetők.Applications scale horizontally, adding new instances as demand requires.

Ezek a trendek új kihívásokat támasztanak felénk.These trends bring new challenges. Az alkalmazás elosztott állapotú.Application state is distributed. A műveletek párhuzamosan és aszinkron módon zajlanak.Operations are done in parallel and asynchronously. Hibák esetén az alkalmazásoknak rugalmasnak kell lenniük.Applications must be resilient when failures occur. A rosszindulatú aktorok folyamatosan támadják az alkalmazásokat.Malicious actors continuously target applications. Az üzemelő példányoknak automatizáltnak és kiszámíthatónak kell lenniük.Deployments must be automated and predictable. A monitorozás és a telemetria kritikus fontosságú a rendszer működésébe való betekintés szempontjából.Monitoring and telemetry are critical for gaining insight into the system. Ennek az útmutatónak az a célja, hogy segítsen Önnek eligazodni ezen változások között.This guide is designed to help you navigate these changes.

Hagyományos helyszíniTraditional on-premisesModern felhőModern cloud
MonolitikusMonolithic
Kiszámítható skálázhatóságra tervezveDesigned for predictable scalability
Relációs adatbázisRelational database
Szinkronizált feldolgozásSynchronized processing
A hibák elkerülését segítő kialakítás (MTBF)Design to avoid failures (MTBF)
Időnkénti nagy frissítésekOccasional large updates
Kézi felügyeletManual management
Hópehely-kiszolgálókSnowflake servers
SzétbontottDecomposed
Rugalmas skálázásra tervezveDesigned for elastic scale
Polyglot-adatmegőrzés (többféle tárolási technológia vegyítése)Polyglot persistence (mix of storage technologies)
Aszinkron feldolgozásAsynchronous processing
Hibákra tervezve (MTTR)Design for failure (MTTR)
Gyakori kisebb frissítésekFrequent small updates
Automatikus önfelügyeletAutomated self-management
Nem módosítható infrastruktúraImmutable infrastructure

Az útmutató felépítéseHow this guide is structured

Az Útmutató az Azure alkalmazásarchitektúrájához több lépésből áll az architektúrától és tervezéstől az implementálásig.The Azure Application Architecture Guide is organized as a series of steps, from the architecture and design to implementation. Minden lépés mellé támogató útmutatást is nyújtunk, amely segítséget nyújt az alkalmazásarchitektúra megtervezésében.For each step, there is supporting guidance that will help you with the design of your application architecture.

Az útmutató felépítését mutató ábra, amelyen a cikk részei egy folyamatábrán láthatóak.

ArchitektúrastílusokArchitecture styles

A legelső döntés a legfontosabb.The first decision point is the most fundamental. Milyen típusú architektúrát szeretnénk használni?What kind of architecture are you building? Lehet mikroszolgáltatási architektúra, hagyományosabb N rétegű alkalmazás, vagy big data-megoldás is.It might be a microservices architecture, a more traditional N-tier application, or a big data solution. Számos különféle architektúrastílust határoztunk meg.We have identified several distinct architecture styles. Mindegyiknek megvannak a maga előnyei és kihívásai.There are benefits and challenges to each.

További információ: ArchitektúrastílusokLearn more: Architecture styles

Technológiai lehetőségekTechnology choices

A kiépítendő architektúra ismeretében megkezdheti az architektúra fő technológiai összetevőinek kiválasztását.Knowing the type of architecture you are building, now you can start to choose the main technology pieces for the architecture. Az alábbi területeken alkalmazott technológiára vonatkozó döntések kulcsfontosságúak:The following technology choices are critical:

  • A számítás azon számítási erőforrások üzemeltetési modelljére utal, amelyeken az alkalmazások futnak.Compute refers to the hosting model for the computing resources that your applications run on. További információ: Számítási szolgáltatás kiválasztása.For more information, see Choose a compute service.

  • Az adattárak közé tartoznak az adatbázisok, valamint az üzenetsorokhoz, a gyorsítótárakhoz, a naplókhoz és az alkalmazás által megőrizni kívánt bármely egyéb adathoz használt tárolók is.Data stores include databases but also storage for message queues, caches, logs, and anything else that an application might persist to storage. További információ: Adattár kiválasztása.For more information, see Choose a data store.

  • Az üzenetküldési technológiák lehetővé teszik a rendszer összetevői közötti aszinkron üzenetváltást.Messaging technologies enable asynchronous messages between components of the system. További információ: Üzenetkezelési szolgáltatás kiválasztása.For more information, see Choose a messaging service.

Valószínűleg további technológiai döntéseket is meg kell hoznia, de ez a három elem (a számítás, az adatok és az üzenetkezelés) központi szerepet tölt be a legtöbb felhőalkalmazásban, és a tervezési folyamat számos aspektusára van meghatározó befolyással.You will probably have to make additional technology choices along the way, but these three elements (compute, data, and messaging) are central to most cloud applications and will determine many aspects of your design.

Az architektúra megtervezéseDesign the architecture

Miután kiválasztotta az architektúra stílusát és a főbb technológiai összetevőket, készen áll arra, hogy belevágjon az alkalmazás kialakításába.Once you have chosen the architecture style and the major technology components, you are ready to tackle the specific design of your application. Minden alkalmazás más, de az alábbi erőforrások és segédanyagok segíthetnek eligazodni:Every application is different, but the following resources can help you along the way:

ReferenciaarchitektúrákReference architectures

Az adott forgatókönyvtől függően valamelyik referenciaarchitektúránk jó kiindulási pontként szolgálhat.Depending on your scenario, one of our reference architectures may be a good starting point. Minden referenciaarchitektúra tartalmaz ajánlott eljárásokat, valamint skálázhatóságra, rendelkezésre állásra, biztonságra és rugalmasságra vonatkozó, megfontolandó tervezési szempontokat.Each reference architecture includes recommended practices, along with considerations for scalability, availability, security, resilience, and other aspects of the design. A legtöbb architektúra emellett egy üzembe helyezhető megoldást vagy referenciaimplementációt is tartalmaz.Most also include a deployable solution or reference implementation.

Tervezési alapelvekDesign principles

Meghatároztunk tíz általános tervezési alapelvet, amelyeket követve skálázhatóbbá, rugalmasabbá és felügyelhetőbbé teheti alkalmazását.We have identified 10 high-level design principles that will make your application more scalable, resilient, and manageable. Ezek a tervezési alapelvek minden architektúrastílusra érvényesek.These design principles apply to any architecture style. A tervezés folyamata során ezt a tíz általános tervezési alapelvet be kell tartani.Throughout the design process, keep these 10 high-level design principles in mind. További információ: Tervezési alapelvek.For more information, see Design principles.

Tervezési mintákDesign patterns

A szoftveres tervezési minták olyan ismételhető mintázatok, amelyek bizonyítottan orvosolni tudnak bizonyos problémákat.Software design patterns are repeatable patterns that are proven to solve specific problems. Felhőalapú tervezési mintákat tartalmazó katalógusunk az elosztott rendszerekre jellemző egyes kihívásokra jelent megoldást.Our catalog of Cloud design patterns addresses specific challenges in distributed systems. A minták különböző rendelkezésre állási, rugalmassági, teljesítménybeli és biztonsági szempontoknak felelnek meg.They address aspects such as availability, resiliency, performance, and security. A tervezési minták katalógusát itt érheti el.You can find our catalog of design patterns here.

Ajánlott eljárásokBest practices

Az ajánlott eljárásokra vonatkozó cikkek különféle tervezési megfontolásokat vesznek figyelembe, például az API-tervezést, az automatikus skálázást, az adatparticionálást, a gyorsítótárazást és így tovább.Our best practices articles cover various design considerations including API design, autoscaling, data partitioning, caching, and so forth. Tekintse át a rendelkezésre álló információkat, és támaszkodjon az alkalmazás kialakításához legnagyobb segítséget nyújtó ajánlott eljárásokra.Review these and apply the best practices that are appropriate for your application.

Ajánlott biztonsági eljárásokSecurity best practices

A biztonsági ajánlott eljárásaink leírják, hogy miként biztosítható az alkalmazások bizalmas jellege, sértetlensége és rendelkezésre állása a rosszindulatú aktorokkal szemben.Our security best practices describe how to ensure that the confidentiality, integrity, and availability of your application aren't compromised by malicious actors.

A minőség alappilléreiQuality pillars

Egy sikeres felhőalkalmazás a szoftverminőség következő öt alappillérére koncentrál: Költségoptimalizálás, működésbeli kiválóság, teljesítménybeli hatékonyság, megbízhatóság és biztonság.A successful cloud application will focus on five pillars of software quality: Cost optimization, Operational excellence, Performance efficiency, Reliability, and Security.

A Microsoft Azure Well-Architected Framework használatával kiértékelheti, hogy az architektúra mennyiben felel meg az öt pillér által szabott követelményeknek.Leverage the Microsoft Azure Well-Architected Framework to assess your architecture across these five pillars.

További lépésekNext steps