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 the way 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, sistemin bir bütün olarak dayanıklı olması gerekiyor.The system as a whole 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. Azure Uygulama Mimarisi Kılavuzu, bu değişikliklerle başa çıkmanıza yardımcı olacak şekilde tasarlanmıştır.The Azure Application Architecture Guide is designed to help you navigate these changes.

Geleneksel şirket içiTraditional on-premisesModern bulutModern cloud
Tek parça, merkeziMonolithic, centralized
Tahmin edilebilir ölçeklenebilirliğe yönelik tasarımDesign for predictable scalability
İlişkisel veritabanıRelational database
Güçlü tutarlılıkStrong consistency
Seri ve eşitlenmiş işlemeSerial and synchronized processing
Hataları önlemeye yönelik tasarım (MTBF)Design to avoid failures (MTBF)
Seyrek, büyük güncelleştirmelerOccasional big updates
El ile yönetimManual management
Benzersiz sunucularSnowflake servers
Bölünmüş, merkezi olmayanDecomposed, de-centralized
Elastik ölçeğe yönelik tasarımDesign for elastic scale
Çok yönlü kalıcılık (depolama teknolojilerinin karışımı)Polyglot persistence (mix of storage technologies)
Nihai tutarlılıkEventual consistency
Paralel ve zaman uyumsuz işlemeParallel and asynchronous 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ılavuz uygulama mimarları, geliştiriciler ve operasyon ekiplerine yöneliktir.This guide is intended for application architects, developers, and operations teams. Tek tek Azure hizmetlerinin nasıl kullanılacağına ilişkin bir kılavuz değildir.It's not a how-to guide for using individual Azure services. Bu kılavuzu okuduktan sonra, Azure bulut platformunda çalışırken uygulayabileceğiniz mimari desenleri ve en iyi yöntemleri anlayacaksınız.After reading this guide, you will understand the architectural patterns and best practices to apply when building on the Azure cloud platform. Dilerseniz kılavuzun e-kitap sürümünü de indirebilirsiniz.You can also download an e-book version of the guide.

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:Learn more:

Teknoloji seçimleriTechnology choices

En başta, mimarinin tamamını etkileyen iki teknoloji seçimi yapılması gerekir.Two technology choices should be decided early on, because they affect the entire architecture. Bunlar işlem hizmeti ve veri depolama tercihleridir.These are the choice of compute service and data stores. İş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 runs on. 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 includes databases but also storage for message queues, caches, logs, and anything else that an application might persist to storage.

Daha fazla bilgi edinin:Learn more:

Tasarım ilkeleriDesign principles

Uygulamalarınızı daha ölçeklenebilir, dayanıklı ve yönetilebilir hale getirecek on adet üst düzey tasarım ilkesi belirledik.We have identified ten 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 styles. Tasarım süreci boyunca bu on üst düzey tasarım ilkesini aklınızda tutun.Throughout the design process, keep these ten high-level design principles in mind. Otomatik ölçeklendirme, önbelleğe alma, veri bölümlendirme, API tasarımı vb. gibi mimarinin belirli boyutları için en iyi yöntemleri düşünebilirsiniz.Then consider the set of best practices for specific aspects of the architecture, such as auto-scaling, caching, data partitioning, API design, and others.

Daha fazla bilgi edinin:Learn more:

Kalite yapı taşlarıQuality pillars

Başarılı bir bulut uygulaması, yazılım kalitesinin beş yapı taşına odaklanır: ölçeklenebilirlik, kullanılabilirlik, dayanıklılık, yönetim ve güvenlik.A successful cloud application will focus on five pillars of software quality: Scalability, availability, resiliency, management, and security. Tasarım gözden geçirme denetim listelerimizi kullanarak mimarinizi bu kalite yapı taşlarına göre gözden geçirin.Use our design review checklists to review your architecture according to these quality pillars.