Plan cloud infrastructure for high availability, scalability, and backup/disaster recovery—assessing your current setup against best practices and creating a plan to close the gaps.
Maintained in the open at github.com/Golden-Section-Tx/playbook · CC BY-SA 4.0
The decisions you make when setting up your server and cloud infrastructure affect your ability to maximize the efficiency of your software development and deployment.
The goal: The infrastructure should be set up in a way that is cost efficient, performant and secure.
Cloud Infrastructure is shared pools of configurable computer system resources and higher-level services that can be rapidly provisioned with minimal management effort, often over the Internet. Advocates note that it often allows companies to avoid or minimize up-front IT infrastructure costs. Cloud Infrastructure can be managed much more efficiently than traditional physical infrastructure, which typically requires that individual servers, storage, computational and networking components be procured and assembled to support an application. With cloud infrastructure, DevOps teams can deploy infrastructure programmatically, as part of an application's code.
There are three aspects of server design that we want to optimize: high availability, scalability, and backup / disaster recovery.
High Availability: a characteristic of a system which aims to ensure an agreed level of operational performance, usually uptime, for a higher than normal period. Availability refers to the ability of the user community to obtain a service or good or access the system, whether to submit new work, update or alter existing work, or collect the results of previous work. If a user cannot access the system, it is - from the users' point of view - unavailable. Generally, the term downtime is used to refer to periods when a system is unavailable. Modernization has resulted in an increased reliance on these systems. For example, hospitals and data centers require high availability of their systems to perform routine daily activities.
There are three principles of systems design in reliability engineering which can help achieve high availability.
Scalability / Auto-scaling: Scalability in the context of cloud computing can be defined as the ability to handle growing or diminishing resources to meet business demands in a scalable way. In essence, scalability is a planned level of capacity that can grow or shrink as needed.
Autoscaling is a method used in cloud computing, whereby the number of computational resources in a server farm, typically measured in terms of the number of active servers, scales automatically based on the load on the farm. It is closely related to and builds upon, the idea of load balancing.
Backup, Disaster Recovery Assessment: Cloud-based backup and recovery solutions enable you to backup and restore your business-critical files in case they are compromised. The cloud technology enables efficient disaster recovery, regardless of the type or intensity of workloads. The data is stored in a secure cloud environment architected to provide high availability. The service is available on-demand, which enables organizations of different sizes to tailor DR solutions to their needs.
Best Practices in Server / Cloud Infrastructure Design:
Cloud Infrastructure is shared pools of configurable computer system resources and higher-level services that can be rapidly provisioned with minimal management effort, often over the Internet. Advocates note that it often allows companies to avoid or minimize up-front IT infrastructure costs.
There are three aspects of server design that we want to optimize: high availability, scalability, and backup / disaster recovery.
Plan cloud infrastructure for high availability, scalability, and backup/disaster recovery—assessing your current setup against best practices and creating a plan to close the gaps.
Backup, Disaster Recovery Assessment : Cloud-based backup and recovery solutions enable you to backup and restore your business-critical files in case they are compromised. The cloud technology enables efficient disaster recovery, regardless of the type or intensity of workloads. The data is stored in a secure cloud environment architected to provide high availability.
There are three aspects of server design that we want to optimize: high availability, scalability, and backup / disaster recovery.