Azure Uygulama Mimarisi KılavuzuAzure Application Architecture Guide

Bu kılavuz, Azure’da ölçeklenebilir, dayanıklı ve yüksek oranda kullanılabilir uygulamalar tasarlamak için yapılandırılmış bir yaklaşım sunmaktadır.This guide presents a structured approach for designing applications on Azure that are scalable, resilient, and highly available. Müşterilerle yaşadığımız deneyimlerden edindiğimiz, kendini kanıtlamış uygulamaları temel alır.It is based on proven practices that we have learned from customer engagements.

GirişIntroduction

Bulut, uygulamaların tasarlanma yöntemini değiştiriyor.The cloud is changing how applications are designed. Uygulamalar tek parça olmak yerine daha küçük, merkezi olmayan hizmetlere bölünüyor.Instead of monoliths, applications are decomposed into smaller, decentralized services. Bu hizmetler API’ler aracılığıyla veya zaman uyumsuz mesajlaşmayı ya da olay oluşturmayı kullanarak iletişim kuruyor.These services communicate through APIs or by using asynchronous messaging or eventing. Yatay olarak ölçeklendirilen uygulamalara, gereksinimlere göre yeni örnekler ekleniyor.Applications scale horizontally, adding new instances as demand requires.

Bu eğilimler, beraberinde yeni zorluklar da getiriyor.These trends bring new challenges. Uygulama durumu dağıtılmış oluyor.Application state is distributed. İşlemler paralel ve zaman uyumsuz olarak gerçekleştiriliyor.Operations are done in parallel and asynchronously. Hatalar oluştuğunda, uygulamaların dayanıklı olması gerekiyor.Applications must be resilient when failures occur. Dağıtımlar otomatik ve tahmin edilebilir olmalı.Deployments must be automated and predictable. Sistemle ilgili öngörüler edinilmesi açısından izleme ve telemetri hayati öneme sahip.Monitoring and telemetry are critical for gaining insight into the system. Bu kılavuz, bu değişikliklerle başa çıkmanıza yardımcı olmak için tasarlanmıştır.This guide is designed to help you navigate these changes.

Geleneksel şirket içiTraditional on-premisesModern bulutModern cloud
Tek parçaMonolithic
Tahmin edilebilir ölçeklenebilirliğe yönelik tasarımDesigned for predictable scalability
İlişkisel veritabanıRelational database
Eşitlenmiş işlemeSynchronized processing
Hataları önlemeye yönelik tasarım (MTBF)Design to avoid failures (MTBF)
Seyrek, büyük güncelleştirmelerOccasional large updates
El ile yönetimManual management
Benzersiz sunucularSnowflake servers
Parçalara ayrılmışDecomposed
Elastik ölçeğe yönelik tasarımDesigned for elastic scale
Çok yönlü kalıcılık (depolama teknolojilerinin karışımı)Polyglot persistence (mix of storage technologies)
Zaman uyumsuz işlemeAsynchronous processing
Hataların hesaba katıldığı tasarım (MTTR)Design for failure (MTTR)
Sık, küçük güncelleştirmelerFrequent small updates
Otomatik kendi kendine yönetimAutomated self-management
Değişmez altyapıImmutable infrastructure

Bu kılavuzun yapısıHow this guide is structured

Azure Uygulama Mimarisi Kılavuzu, mimariden tutun tasarıma ve uygulamaya kadar bir dizi adımdan oluşacak şekilde düzenlenmiştir.The Azure Application Architecture Guide is organized as a series of steps, from the architecture and design to implementation. Her adım için uygulama mimarinizin tasarımında size yardımcı olacak destekleyici kılavuzlar sunulmaktadır.For each step, there is supporting guidance that will help you with the design of your application architecture.

Mimari stilleriArchitecture styles

İlk karar noktası en temel noktadır.The first decision point is the most fundamental. Ne tür bir mimari oluşturuyorsunuz?What kind of architecture are you building? Bu bir mikro hizmetler mimarisi, daha geleneksel bir N katmanlı uygulama ya da bir büyük veri çözümü olabilir.It might be a microservices architecture, a more traditional N-tier application, or a big data solution. Birkaç farklı mimari stili belirledik.We have identified several distinct architecture styles. Her birinin avantajları ve zorlukları var.There are benefits and challenges to each.

Daha fazla bilgi edinin: Mimari stilleriLearn more: Architecture styles

Teknoloji seçimleriTechnology choices

Oluşturmakta olduğunuz mimarinin türünü bilerek, mimari için ana teknoloji parçalarını seçmeye başlayabilirsiniz.Knowing the type of architecture you are building, now you can start to choose the main technology pieces for the architecture. Aşağıdaki teknoloji seçimleri kritiktir:The following technology choices are critical:

  • İşlem, uygulamalarınızın üzerinde çalıştığı işlem kaynakları için barındırma modelini ifade eder.Compute refers to the hosting model for the computing resources that your applications run on. Daha fazla bilgi için bkz. İşlem hizmeti seçme.For more information, see Choose a compute service.

  • Veri depolarına veritabanlarının yanı sıra ileti kuyrukları, önbellekler, günlükler ve bir uygulamanın depolamada kalıcı hale getirebileceği diğer her şey dahildir.Data stores include databases but also storage for message queues, caches, logs, and anything else that an application might persist to storage. Daha fazla bilgi için bkz. Veri deposu seçme.For more information, see Choose a data store.

  • Mesajlaşma teknolojileri, sistem bileşenleri arasında zaman uyumsuz iletileri etkinleştirir.Messaging technologies enable asynchronous messages between components of the system. Daha fazla bilgi için bkz. Mesajlaşma hizmeti seçme.For more information, see Choose a messaging service.

Muhtemelen ek teknoloji seçimleri yapmanız gerekecektir, ancak bu üç öğe (işlem, veri ve mesajlaşma) çoğu bulut uygulamasının temelini oluşturur ve tasarımınızın birçok yönünü belirler.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.

Mimariyi tasarlamaDesign the architecture

Mimari stilini ve ana teknoloji bileşenlerini seçtikten sonra, uygulamanızın tasarımını oluşturmak için hazırsınız.Once you have chosen the architecture style and the major technology components, you are ready to tackle the specific design of your application. Her uygulama farklıdır, ancak aşağıdaki kaynaklar bu süreç boyunca size yardımcı olabilir:Every application is different, but the following resources can help you along the way:

Başvuru mimarileriReference architectures

Senaryonuza bağlı olarak, başvuru mimarilerimizden biri iyi bir başlangıç noktası olabilir.Depending on your scenario, one of our reference architectures may be a good starting point. Her başvuru mimarisi, önerilen uygulamaların yanı sıra ölçeklenebilirlik, kullanılabilirlik, güvenlik, dayanıklılık ve diğer tasarım yönleri açısından dikkat edilmesi gereken noktaları içerir.Each reference architecture includes recommended practices, along with considerations for scalability, availability, security, resilience, and other aspects of the design. Ayrıca çoğu dağıtılabilir bir çözüm veya başvuru uygulaması içerir.Most also include a deployable solution or reference implementation.

Tasarım ilkeleriDesign principles

Uygulamalarınızı daha ölçeklenebilir, dayanıklı ve yönetilebilir hale getirecek 10 adet üst düzey tasarım ilkesi belirledik.We have identified 10 high-level design principles that will make your application more scalable, resilient, and manageable. Bu tasarım ilkeleri herhangi bir mimari stiline uygulanabilir.These design principles apply to any architecture style. Tasarım süreci boyunca bu 10 üst düzey tasarım ilkesini aklınızda bulundurun.Throughout the design process, keep these 10 high-level design principles in mind. Daha fazla bilgi için bkz. Tasarım ilkeleri.For more information, see Design principles.

Tasarım desenleriDesign patterns

Yazılım tasarımı desenleri, belirli sorunları çözümlemek için kanıtlanmış, yinelenebilir desenlerdir.Software design patterns are repeatable patterns that are proven to solve specific problems. Bulut tasarım desenleri kataloğumuz, dağıtılmış sistemlerdeki belirli zorlukları çözmek için tasarlanmıştır.Our catalog of Cloud design patterns addresses specific challenges in distributed systems. Kullanılabilirlik, dayanıklılık, performans ve güvenlik gibi konuları ele alır.They address aspects such as availability, resiliency, performance, and security. Tasarım desenleri kataloğumuzu burada bulabilirsiniz.You can find our catalog of design patterns here.

En iyi uygulamalarBest practices

En iyi yöntemler makalelerimiz API tasarımı, otomatik ölçeklendirme, veri bölümleme, önbelleğe alma gibi çeşitli tasarım konularını kapsar.Our best practices articles cover various design considerations including API design, autoscaling, data partitioning, caching, and so forth. Bunları gözden geçirin ve uygulamanız için uygun olan en iyi yöntemleri uygulayın.Review these and apply the best practices that are appropriate for your application.

Kalite yapı taşlarıQuality pillars

Başarılı bir bulut uygulaması, yazılım kalitesinin beş yapı taşına odaklanır: Maliyet, DevOps, dayanıklılık, ölçeklenebilirlik ve güvenlik.A successful cloud application will focus on five pillars of software quality: Cost, DevOps, resiliency, scalability, and security.

Yapı TaşıPillar AçıklamaDescription
MaliyetCost Sağlanan değeri en üst düzeye çıkarmak için maliyetleri yönetme.Managing costs to maximize the value delivered.
DevOpsDevOps Sistemi üretimde çalışır durumda tutan operasyon süreçleri.Operations processes that keep a system running in production.
DayanıklılıkResiliency Sistemin hatalardan kurtularak çalışmaya devam edebilme özelliği.The ability of a system to recover from failures and continue to function.
ÖlçeklenebilirlikScalability Sistemin yükteki değişikliklere uyum sağlama becerisi.The ability of a system to adapt to changes in load.
GüvenlikSecurity Uygulama ve verilerin tehditlere karşı korunması.Protecting applications and data from threats.

Mimarinizi bu beş sütun genelinde değerlendirmek için Microsoft Azure İyi Oluşturulmuş Mimari Çerçevesi’ni kullanın.Use the Microsoft Azure Well-Architected Framework to assess your architecture across these five pillars.

Sonraki adımlarNext steps