AWS Design Principles Flashcards
What is Scaling Horizontally?
an increase in the number of resources
What is Scaling Vertically?
an increase in the specifications of an individual resource
What is Instantiating Compute Resources?
automate setting up of new resources along with their configuration and code
What is Infrastructure as Code?
AWS assets are programmable. You can apply techniques, practices, and tools from software development to make your whole infrastructure reusable, maintainable, extensible, and testable.
What is Serverless Management and Deployment?
being serverless shifts your focus to automation of your code deployment. AWS handles the management tasks for you.
What is Infrastructure Management and Deployment?
AWS automatically handles details, such as resource provisioning, load balancing, auto scaling, and monitoring, so you can focus on resource deployment.
What are Alarms and Events?
AWS services will continuously monitor your resources and initiate events when certain metrics or conditions are met.
What are Well-Defined Interfaces?
reduce interdependencies in a system by allowing various components to interact with each other only through specific, technology agnostic interfaces, such as RESTful APIs.
What is Service Discovery?
applications that are deployed as a set of smaller services should be able to be consumed without prior knowledge of their network topology details. Apart from hiding complexity, this also allows infrastructure details to change at any time.
What is Asynchronous Integration?
interacting components that do not need an immediate response and where an acknowledgement that a request has been registered will suffice, should integrate through an intermediate durable storage layer.
What is Distributed Systems Best Practices?
build applications that handle component failure in a graceful manner.
What are Relational Databases?
provide a powerful query language, flexible indexing capabilities, strong integrity controls, and the ability to combine data from multiple tables in a fast and efficient manner.
What are NoSQL Databases?
trades some of the query and transaction capabilities of relational databases for a more flexible data model that seamlessly scales horizontally. It uses a variety of data models, including graphs, key-value pairs, and JSON documents, and are widely recognized for ease of development, scalable performance, high availability, and resilience.
What are Data Warehouses?
are a specialized type of relational database, which is optimized for analysis and reporting of large amounts of data.
What are Graph Databases?
uses graph structures for queries.