Podcast
Questions and Answers
Pourquoi les monolithes ne sont-ils pas adaptés à l'évolutivité?
Pourquoi les monolithes ne sont-ils pas adaptés à l'évolutivité?
Quel est l'avantage principal de passer à une architecture orientée services?
Quel est l'avantage principal de passer à une architecture orientée services?
Quels modules seraient séparés dans une architecture service après avoir rompu un monolithe?
Quels modules seraient séparés dans une architecture service après avoir rompu un monolithe?
Quel est l'inconvénient principal d'une instance unique sans redondance ?
Quel est l'inconvénient principal d'une instance unique sans redondance ?
Signup and view all the answers
Qu'est-ce qui caractérise une architecture monolithique?
Qu'est-ce qui caractérise une architecture monolithique?
Signup and view all the answers
Qu'est-ce qui restreint les choix technologiques pour les composants individuels ?
Qu'est-ce qui restreint les choix technologiques pour les composants individuels ?
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 ?
Quel service permet de gérer des bases de données de manière entièrement gérée ?
Signup and view all the answers
Quelle approche est souvent prise pour améliorer l'évolutivité d'une application?
Quelle approche est souvent prise pour améliorer l'évolutivité d'une application?
Signup and view all the answers
Quel service d'Amazon est mentionné comme une option de base de données auto-gérée ?
Quel service d'Amazon est mentionné comme une option de base de données auto-gérée ?
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 ?
Quelle caractéristique est associée à l'incapacité à réduire la taille des composants de manière indépendante ?
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 ?
Quel aspect représente un risque dans un scénario où toutes les ressources sont concentrées dans une seule instance ?
Signup and view all the answers
Quelle serait une conséquence d'un modèle d'architecture sans échec ?
Quelle serait une conséquence d'un modèle d'architecture sans échec ?
Signup and view all the answers
Qu'est-ce qu'un équilibre de charge d'application permet de faire?
Qu'est-ce qu'un équilibre de charge d'application permet de faire?
Signup and view all the answers
Quel est l'une des avantages des vérifications de santé dans un équilibre de charge d'application?
Quel est l'une des avantages des vérifications de santé dans un équilibre de charge d'application?
Signup and view all the answers
Qu'est-ce que la persistance de session permet dans une architecture d'équilibre de charge?
Qu'est-ce que la persistance de session permet dans une architecture d'équilibre de charge?
Signup and view all the answers
Quel protocole est pris en charge par l'équilibrage de charge d'application pour améliorer la performance?
Quel protocole est pris en charge par l'équilibrage de charge d'application pour améliorer la performance?
Signup and view all the answers
Quel rôle joue Amazon Route 53 dans une architecture de répartition de charge?
Quel rôle joue Amazon Route 53 dans une architecture de répartition de charge?
Signup and view all the answers
Pourquoi est-il important d'avoir des zones de disponibilité dans une architecture cloud?
Pourquoi est-il important d'avoir des zones de disponibilité dans une architecture cloud?
Signup and view all the answers
Quelle fonctionnalité permet l'équilibre de charge d'application de gérer le trafic basé sur le contenu?
Quelle fonctionnalité permet l'équilibre de charge d'application de gérer le trafic basé sur le contenu?
Signup and view all the answers
Quelle est l'importance du monitoring et logging dans un équilibre de charge d'application?
Quelle est l'importance du monitoring et logging dans un équilibre de charge d'application?
Signup and view all the answers
Quel type d'application est particulièrement adapté à l'utilisation d'un équilibre de charge d'application?
Quel type d'application est particulièrement adapté à l'utilisation d'un équilibre de charge d'application?
Signup and view all the answers
Quelle option décrit le service Amazon DynamoDB?
Quelle option décrit le service Amazon DynamoDB?
Signup and view all the answers
Quelle fonction n'est pas associée à Amazon DynamoDB?
Quelle fonction n'est pas associée à Amazon DynamoDB?
Signup and view all the answers
Comment Amazon DynamoDB garantit-il sa tolérance aux pannes?
Comment Amazon DynamoDB garantit-il sa tolérance aux pannes?
Signup and view all the answers
Que signifie 'tarification provisionnée' dans le contexte d'Amazon DynamoDB?
Que signifie 'tarification provisionnée' dans le contexte d'Amazon DynamoDB?
Signup and view all the answers
Quel est le principal avantage d'utiliser des tables globales dans DynamoDB?
Quel est le principal avantage d'utiliser des tables globales dans DynamoDB?
Signup and view all the answers
À quoi sert principalement le service de migration de base de données AWS DMS?
À quoi sert principalement le service de migration de base de données AWS DMS?
Signup and view all the answers
Quel rôle le Load Balancer joue-t-il dans l'architecture mentionnée?
Quel rôle le Load Balancer joue-t-il dans l'architecture mentionnée?
Signup and view all the answers
Quelle affirmation sur Amazon RDS est correcte?
Quelle affirmation sur Amazon RDS est correcte?
Signup and view all the answers
Dans cette architecture, quel service est principalement conçu pour la mise en cache?
Dans cette architecture, quel service est principalement conçu pour la mise en cache?
Signup and view all the answers
Quelle composante de l'architecture est responsable du stockage d'objets?
Quelle composante de l'architecture est responsable du stockage d'objets?
Signup and view all the answers
Quel est le rôle principal d'une passerelle Internet dans une architecture VPC?
Quel est le rôle principal d'une passerelle Internet dans une architecture VPC?
Signup and view all the answers
Quel service AWS est principalement utilisé pour orchestrer des déploiements ?
Quel service AWS est principalement utilisé pour orchestrer des déploiements ?
Signup and view all the answers
Quelle fonctionnalité est associée aux groupes d'auto-scaling?
Quelle fonctionnalité est associée aux groupes d'auto-scaling?
Signup and view all the answers
Quel rôle joue un groupe d'instances dans une architecture de mise à l'échelle automatique?
Quel rôle joue un groupe d'instances dans une architecture de mise à l'échelle automatique?
Signup and view all the answers
À quoi sert principalement CloudFormation?
À quoi sert principalement CloudFormation?
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?
Quelle méthode de déploiement permet de réduire les temps d'arrêt en basculant entre deux environnements identiques?
Signup and view all the answers
Quel service permet de compiler et de tester le code dans le flux de CI/CD?
Quel service permet de compiler et de tester le code dans le flux de CI/CD?
Signup and view all the answers
Quelle composante est essentielle pour distribuer le trafic entre plusieurs instances dans AWS?
Quelle composante est essentielle pour distribuer le trafic entre plusieurs instances dans AWS?
Signup and view all the answers
Quel service est utilisé dans AWS pour le contrôle de version du code?
Quel service est utilisé dans AWS pour le contrôle de version du code?
Signup and view all the answers
Quel avantage les sous-réseaux privés offrent-ils dans une VPC?
Quel avantage les sous-réseaux privés offrent-ils dans une VPC?
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.
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.