Architecture Logicielle et Monolithes
41 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Pourquoi les monolithes ne sont-ils pas adaptés à l'évolutivité?

  • Ils ne permettent pas la séparation des modules. (correct)
  • Ils créent des dépendances entre les équipes de développement.
  • Ils nécessitent trop de ressources pour fonctionner.
  • Ils sont trop complexes à gérer.
  • Quel est l'avantage principal de passer à une architecture orientée services?

  • Elle réduit les coûts d'infrastructure.
  • Elle élimine complètement les erreurs.
  • Elle facilite la maintenance du code. (correct)
  • Elle regroupe toutes les fonctionnalités en un seul endroit.
  • Quels modules seraient séparés dans une architecture service après avoir rompu un monolithe?

  • Module de livraison et module d'achats. (correct)
  • Module d'achats et module de comptabilité. (correct)
  • Module de comptabilité et module de stock.
  • Module de livraison et module de stock. (correct)
  • Quel est l'inconvénient principal d'une instance unique sans redondance ?

    <p>Pas de capacité de récupération en cas d'échec</p> Signup and view all the answers

    Qu'est-ce qui caractérise une architecture monolithique?

    <p>Tous les composants sont interconnectés.</p> Signup and view all the answers

    Qu'est-ce qui restreint les choix technologiques pour les composants individuels ?

    <p>Le modèle d'instance unique</p> Signup and view all the answers

    Quel service permet de gérer des bases de données de manière entièrement gérée ?

    <p>Amazon RDS</p> Signup and view all the answers

    Quelle approche est souvent prise pour améliorer l'évolutivité d'une application?

    <p>Implémenter une architecture de microservices.</p> Signup and view all the answers

    Quel service d'Amazon est mentionné comme une option de base de données auto-gérée ?

    <p>Amazon EC2</p> Signup and view all the answers

    Quelle caractéristique est associée à l'incapacité à réduire la taille des composants de manière indépendante ?

    <p>Architecture monolithique</p> Signup and view all the answers

    Quel aspect représente un risque dans un scénario où toutes les ressources sont concentrées dans une seule instance ?

    <p>Échec potentiel du système entier</p> Signup and view all the answers

    Quelle serait une conséquence d'un modèle d'architecture sans échec ?

    <p>Perte de données en cas de panne</p> Signup and view all the answers

    Qu'est-ce qu'un équilibre de charge d'application permet de faire?

    <p>Garantir la haute disponibilité des instances</p> Signup and view all the answers

    Quel est l'une des avantages des vérifications de santé dans un équilibre de charge d'application?

    <p>S'assurer que seules les instances saines reçoivent le trafic</p> Signup and view all the answers

    Qu'est-ce que la persistance de session permet dans une architecture d'équilibre de charge?

    <p>Conserver la connexion à un serveur pour un utilisateur spécifique</p> Signup and view all the answers

    Quel protocole est pris en charge par l'équilibrage de charge d'application pour améliorer la performance?

    <p>HTTP/2</p> Signup and view all the answers

    Quel rôle joue Amazon Route 53 dans une architecture de répartition de charge?

    <p>Il gère le routage du trafic vers les ressources appropriées</p> Signup and view all the answers

    Pourquoi est-il important d'avoir des zones de disponibilité dans une architecture cloud?

    <p>Pour assurer la résilience et la disponibilité des services</p> Signup and view all the answers

    Quelle fonctionnalité permet l'équilibre de charge d'application de gérer le trafic basé sur le contenu?

    <p>Routage basé sur le contenu</p> Signup and view all the answers

    Quelle est l'importance du monitoring et logging dans un équilibre de charge d'application?

    <p>Améliorer la qualité de l'expérience utilisateur</p> Signup and view all the answers

    Quel type d'application est particulièrement adapté à l'utilisation d'un équilibre de charge d'application?

    <p>Applications basées sur des conteneurs</p> Signup and view all the answers

    Quelle option décrit le service Amazon DynamoDB?

    <p>Base de données NoSQL entièrement gérée avec des options de tarification à la demande.</p> Signup and view all the answers

    Quelle fonction n'est pas associée à Amazon DynamoDB?

    <p>Transactions complexes.</p> Signup and view all the answers

    Comment Amazon DynamoDB garantit-il sa tolérance aux pannes?

    <p>Par une architecture entièrement distribuée.</p> Signup and view all the answers

    Que signifie 'tarification provisionnée' dans le contexte d'Amazon DynamoDB?

    <p>L'utilisateur doit prédire et payer pour les ressources nécessaires à l'avance.</p> Signup and view all the answers

    Quel est le principal avantage d'utiliser des tables globales dans DynamoDB?

    <p>Accès à des données à faible latence dans plusieurs régions.</p> Signup and view all the answers

    À quoi sert principalement le service de migration de base de données AWS DMS?

    <p>Faciliter la migration des bases de données vers le cloud.</p> Signup and view all the answers

    Quel rôle le Load Balancer joue-t-il dans l'architecture mentionnée?

    <p>Il gère la distribution des requêtes réseau entre plusieurs instances.</p> Signup and view all the answers

    Quelle affirmation sur Amazon RDS est correcte?

    <p>Il offre une gestion entièrement automatique des bases de données.</p> Signup and view all the answers

    Dans cette architecture, quel service est principalement conçu pour la mise en cache?

    <p>Cache nodes.</p> Signup and view all the answers

    Quelle composante de l'architecture est responsable du stockage d'objets?

    <p>S3 bucket.</p> Signup and view all the answers

    Quel est le rôle principal d'une passerelle Internet dans une architecture VPC?

    <p>Fournir un accès à Internet aux ressources dans des sous-réseaux publics</p> Signup and view all the answers

    Quel service AWS est principalement utilisé pour orchestrer des déploiements ?

    <p>AWS CodePipeline</p> Signup and view all the answers

    Quelle fonctionnalité est associée aux groupes d'auto-scaling?

    <p>Ajustement automatique du nombre d'instances en fonction de la charge</p> Signup and view all the answers

    Quel rôle joue un groupe d'instances dans une architecture de mise à l'échelle automatique?

    <p>Héberger des instances d'application pour gérer la charge</p> Signup and view all the answers

    À quoi sert principalement CloudFormation?

    <p>Automatiser la création et le déploiement d'infrastructures</p> Signup and view all the answers

    Quelle méthode de déploiement permet de réduire les temps d'arrêt en basculant entre deux environnements identiques?

    <p>Déploiement bleu/vert</p> Signup and view all the answers

    Quel service permet de compiler et de tester le code dans le flux de CI/CD?

    <p>AWS CodeBuild</p> Signup and view all the answers

    Quelle composante est essentielle pour distribuer le trafic entre plusieurs instances dans AWS?

    <p>Load balancer</p> Signup and view all the answers

    Quel service est utilisé dans AWS pour le contrôle de version du code?

    <p>AWS CodeCommit</p> Signup and view all the answers

    Quel avantage les sous-réseaux privés offrent-ils dans une VPC?

    <p>Isolation des ressources d'application</p> Signup and view all the answers

    Study Notes

    Introduction to Scaling on AWS

    • The presentation is about scaling up to 10 million users on Amazon Web Services (AWS).
    • The presenter is Giulio Lennazzo, a Solution Architect at Amazon Web Services.

    AWS Global Infrastructure

    • AWS has 34 regions and 108 availability zones (AZs).
    • It has over 600+ points of presence.
    • Private backbone network connects these regions.
    • Regions are used to define data location and comply with legal risks (e.g., GDPR) enabling disaster recovery.

    Availability Zones (AZs)

    • AZs are clusters of data centers.
    • Each region has at least 3 AZs.
    • The AZs provide protection against technical failures.

    Points of Presence

    • Used to host content delivery services (e.g. Amazon CloudFront).
    • These are not directly usable to users.

    AWS Local Zones

    • Provide region extension, located in major urban and industrial centers.

    AWS Wavelength

    • 5G infrastructure in stadiums or other high-traffic areas enables fast data access
    • Features data analytics, processing and streaming.

    AWS Outposts

    • Extends AWS infrastructure to on-premises data centers.
    • Enables ultra-low latency application, local data processing, and local data storage.

    Breadth and Depth of AWS Services

    • Over 200 fully featured services are available.
    • Services span across several categories (Analytics, Business Applications, Blockchain, Security, Identity...)
    • AWS provides comprehensive tools, such as Database, Development, Compute and Media services.

    Considerations for Scale

    • Decisions are often reversible, enabling flexibility.
    • Essential tools for monitoring and managing scale include: Build, Measure, and Learn.
    • Important to identify and avoid undifferentiated heavy lifting, choose appropriate solutions (serverless versus managed versus run yourself), and define control vs. responsibility well.

    User Scaling Considerations

    • Single instance deployment has no failover, redundancy or independent component scaling.
    • Deployment options for different user counts (1, >1, >1000) exist.
    • Consider managed relational and NoSQL database options to adjust to user scaling needs.
    • Amazon RDS offers a managed relational database solution, capable of handling daily maintenance, security patches, and software updates for various database engines (MySQL/MariaDB, PostgreSQL, Oracle, SQLServer, Amazon Aurora).
    • Amazon Aurora stands out with MySQL or PostgreSQL compatibility, automatic storage scaling, numerous read replicas and continuous backups.
    • Serverless v2 database for adaptable workloads. Deploy on-demand, scaling automatically when needed.

    Database Options and Strategies

    • Decide between self-managed (Amazon EC2) or fully-managed database options (Amazon RDS, Amazon Aurora, Amazon DynamoDB, etc.).
    • NoSQL solutions are favored for high throughput, latency-sensitive, or large volume applications.
    • Differentiate cases where NoSQL might be necessary; latency-sensitive applications with required sub-milliseconds response time; terabytes of data volumes and rapid data ingestion; and the use of highly non-relational data like graphs.

    AWS Cognito

    • A managed user directory service, handling authorization and identity.
    • Provides hosted user interfaces for authentication.
    • Enables integration with various providers. (e.g., Facebook, Google)

    Horizontal Scaling

    • Scalability by increasing the number of instances for application load balancing.
    • Using load balancers (Application Load Balancer and Network Load Balancer) to distribute the workload evenly across multiple instances in several availability zones (multi-AZ).

    Data Consistency

    • Crucial to ensure data consistency when scaling (especially with read/write ratios).
    • Implementing data replication helps manage data consistency issues. Using multiple regions can address these issues.

    Typical read/write ratio

    • The ratio of read to write operations, typically with a majority of reads.

    Amazon S3

    • Object-based storage service, enabling high durability, scaling and storage sizes up to 5TB.

    Amazon CloudFront

    • Content Delivery Network (CDN) for faster content delivery and handling static asset storage. (e.g., Images, videos, static content).

    Caching

    • Caching strategies can optimize response times and reduce server load. Caching both inside and outside infrastructure for faster query response times.

    Amazon ElastiCache

    • Managed caching service (Memcached or Redis) enables quick responses (often single-digit milliseconds).

    Amazon DynamoDB

    • Managed NoSQL database, offering fast, predictable performance, fault tolerance, and global multi-region tables.

    Application Modernization

    • Utilize containers and serverless to modernize web applications
    • Adopt serverless features (including APIs, queuing, transcoding, search capabilities from databases, monitoring, logging and machine learning) to optimize application performance.

    Loose Coupling

    • This approach facilitates scalability and resilience by decoupling various components using Amazon SQS and Amazon SNS.

    Event-Driven Compute (AWS Lambda)

    • Trigger functions automatically based on events within infrastructure.

    Microservices Architecture

    • Breakdown of large monolithic applications into independent services, enhancing scalability and allowing for independent scaling of individual components.

    AWS X-Ray

    • Application performance monitoring service for diagnosis of bottlenecks and issues.

    Key Recommendations

    • Multi-AZ (multi-availability zone) is key for infrastructure resilience and redundancy
    • Leverage self-scaling services for optimization (Load Balancer, S3, Lambda, SNS, SQS, CloudFront, etc.)
    • Start by selecting appropriate database designs (e.g., relational versus NoSQL).
    • Favor automation tools and software development best practices, including the AWS Command Line Interface (CLI) and AWS Cloud Development Kit (CDK) for infrastructure automation.
    • Consider caching when necessary for performance improvements.
    • Use good metrics and logging for performance monitoring.
    • Employ SOA (service-oriented architecture), splitting tiered architectures into independent services, while selecting correct runtimes like Lambda or EC2 based on use cases.

    Important Considerations for > 1 Million Users

    • Fine-tune existing solutions, especially performance-critical ones.
    • Database performance might become an issue.
    • Evaluate multi-region deployments for service availability.

    Purpose-built Databases

    • Use database solutions where applicable (graph, ledger, geo tracking or key-value).
    • Leverage database solutions (e.g., NoSQL) when appropriate.

    Database Issues & Solutions

    • Database issues (potential solutions) could arise and include federating, sharding or employing purpose-built databases or cross-region replication (multi-region).

    AWS Amplify

    • AWS Amplify enables building apps quickly through UI, integration of backend and front end.

    Student Resources

    • The presentation contains links to free resources, including AWS Amplify and SageMaker for developers and others interested in learning data science.

    Conclusion

    • The presentation provides guidelines for scaling up to 10 million users using AWS services.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    Description

    Ce quiz explore les concepts clés de l'architecture logicielle, notamment les avantages et inconvénients des monolithes et des architectures orientées services. Découvrez comment la séparation des modules et la gestion des bases de données influent sur l'évolutivité et la redondance en tant que caractéristiques essentielles des systèmes modernes.

    More Like This

    Microservices Architecture Quiz
    15 questions

    Microservices Architecture Quiz

    WarmheartedHeliotrope avatar
    WarmheartedHeliotrope
    Monolithic Architecture Challenges
    5 questions
    Monolithic vs Layered Architecture Quiz
    37 questions
    Use Quizgecko on...
    Browser
    Browser