Some Important Architectural Considerations

As a Cloud solution architect when considering cloud migration here are some important considerations and questions to ask -

Disaster recovery
  • For how long can the application be down?  
  • Do you need the application to be up 24/7 no matter what the cost is?  
  • What are the possible locations from which client is willing to operate.  
  • Is it only a single state/single country or having locations across the oceans or continents.
  • For backup sites do you want it to be active/active in which case application can be recovered in matter of minutes by switching to another site.  Or do they want to keep snapshot of database backups in which case it may need more time like few hours to recover.
Business Continuity
  • Can the business be offline for few minutes/hours/few days in a week or Customers use it 24/7?
Cost
  • How sensitive if customer towards Cost.  Are they ready to compromise of Disaster recovery time or is it other way round.
  • Is there any budget?
Performance
  • What is the I/O expected from the disk or the database?
  • How many hit are expected on the website or the S3
  • How many hits are expected on the API Gateway or the ELB
  • Is VPN sufficient or Direct Connect required?
  • What latency is tolerable.
Security
  • What kind of encryption key should be used.
  • How secure is HSM?
  • How will S3 be secured ?
  • Is client side encryption needed?
  • What about securing data at rest and transit?
  • How is the database and the snapshots going to be secured?
  • What kind of access control will be used.
  • How about OAuth and Open Id Connect implementations.
  • Who will have root access
  • How will the OS be secured.
  • How is the VPC secured?
  • Can everyone see the logs or it is restricted
Monitoring
  • How can we know what is the performance or if the threshold has been reached.
  • How can we monitor network breach.
  • How to check which component is costing how much.
  • How to know if a location is down or some component is down.

Scalability and Elasticity
  • If during some special event like black friday the load increases how the the application scale and adjust to the load.
  • Can it scale down once the traffic is down.
  • Is the solution scalable for load or traffic increase of 10x, 20x or 100x?
  • How auto scaling will be configured and what kind of resources will be used such as ELB or ALB or type of EC2 instances.  Will Fargate be used?

Ease of Deployment
  • How easy is it to deploy and will it be through CI/CD
  • Is the deployment solution portable for different region too?
  • Which of the solutions such as Terraform, cloudformation, Elastic Beanstack etc will be used.
  • Will it use scripts for creating infrastructure
Migration
  • Is customer migrating the entire application or part of it to cloud in case it was on prem earlier.
  • What is the purpose of migration.  Is it to act as data center or hosting or scalability etc.
  • How much percent traffic will be served from cloud and how much from on prem.  Sometime customers want to try out cloud experience and then migrate in a full fledged manner.
  • Is customer going to have more than one cloud provider as DR option










Comments

Popular posts from this blog

How to Manage Fault Tolerance with Availability Zone and Regions in AWS

Role of AMIs and EBS in designing Fault Tolerant Systems