Designing a solution infrastructure that meets business requirements. Considerations include:
- Business use cases and product strategy
- Cost optimization
- Supporting the application design
- Integration with external systems
- Movement of data
- Design decision trade-offs
- Build, buy, or modify
- Success measurements (e.g., key performance indicators [KPI], return on investment [ROI], metrics)
- Compliance and observability
Designing a solution infrastructure that meets technical requirements. Considerations include:
- High availability and failover design
- Elasticity of cloud resources
- Scalability to meet growth requirements
- Performance and latency
Designing network, storage, and compute resources. Considerations include:
- Integration with on-premises/multi-cloud environments
- Cloud-native networking (VPC, peering, firewalls, container networking)
- Choosing data processing technologies
- Choosing appropriate storage types (e.g., object, file, RDBMS, NoSQL, New SQL)
- Choosing compute resources (e.g., pre-emptible, custom machine type, specialized workload)
- Mapping compute needs to platform products
Creating a migration plan (i.e., documents and architectural diagrams). Considerations include:
- Integrating solution with existing systems
- Migrating systems and data to support the solution
- Licensing mapping
- Network planning
- Testing and proof of concept
- Dependency management planning
Envisioning future solution improvements. Considerations include:
- Cloud and technology improvements
- Business needs evolution
- Evangelism and advocacy