Introduction:
The world of application development and security is going through a significant change in the era of cloud computing. The old days of having one giant structure are gone. Nowadays, applications are crafted with great care from decentralized services that communicate through APIs, asynchronous messaging, or eventing. Scalability is achieved horizontally, with applications adapting to demand by adding new instances without any disruption. However, these advancements come with new challenges, ranging from distributed application states to the need for resilience and security against malicious threats. This guide serves as a compass through this paradigm shift, providing insights into the best practices for designing, securing, and managing applications in the cloud.
Traditional on-premises vs. Modern cloud:
Traditional On-Premises | Modern Cloud |
---|---|
Monolithic | Decomposed |
Designed for predictable scalability | Designed for elastic scale |
Relational database | Polyglot persistence (mix of storage technologies) |
Synchronized processing | Asynchronous processing |
Design to avoid failures (MTBF) | Design for failure (MTTR) |
Occasional large updates | Frequent small updates |
Manual management | Automated self-management |
Snowflake servers | Immutable infrastructure |
How this guidance is structured:
Architecture styles:
Technology choices:
- Compute: Choose a hosting model for your computing resources.
- Data stores: Select databases and storage solutions for various application needs.
- Messaging technologies: Enable asynchronous communication between system components.
No comments:
Post a Comment