Imagine that you meet with a small start-up company in the early stages of their operations.
Currently their architecture uses a LAMP stack with MySQL, Apache and PHP all running on
one desktop PC within their small office. Like many small start-ups they are confident that
they will be the next big thing and expect significant, rapid, yet un-quantified growth in the
next few months.
Existing technical environment
This is a greenfield project
Recommend a manageable, secure, scalable, high performance, efficient, elastic, highly available, fault tolerant and recoverable architecture that allows the start-up to organically grow. The architecture should specifically address the requirements/concerns
- Scaling to meet the demand, but with uncertainty around when and how much this demand will be. They are very concerned about buying too much infrastructure too soon or not enough too late!
- Their lack of provision for disaster recovery
re-usability of their code for infrastructure deployment and configuration management.
- Their ability to deliver application releases faster and more reliably, while remaining flexible to react to changing market feedback.
- Their ability to configure their database and data access layer for high performance and throughput
making the user experience in the browser very low latency even though a large portion of their user base will be from far away
- Effective distribution of load
- A self-healing infrastructure that recovers from failed service instances
- Security of data at rest and in transit
- Securing access to the environment as the delivery team expands
- An archival strategy for inactive objects greater than 6 months
- Ability to easily manage and replicate multiple environments based on their blueprint architecture.