You are deploying to a cloud environment for the first time. What considerations should you keep in mind?

Deploying to the cloud for the first time requires deliberately designing for scalability, security, and cost, rather than simply lifting-and-shifting an application built for a single fixed server.

Key Points: • Make the application stateless where possible, moving sessions and file storage to managed services (Redis, S3) so any instance can handle any request. • Use cloud-native monitoring, logging, and autoscaling so capacity adjusts automatically to real traffic instead of being manually sized. • Apply security best practices from day one: least-privilege IAM roles, properly scoped firewall/security-group rules, and encryption in transit and at rest. • Manage credentials through the cloud provider's secret manager rather than baking them into images or config files. • Provision infrastructure with a tool like Terraform so environments are reproducible and reviewable, and set up billing alerts to avoid unexpected costs.

Example: A team migrating a monolith to AWS externalizes session state to ElastiCache, defines their VPC, subnets, and security groups in Terraform, and sets a CloudWatch billing alarm before going live, avoiding both a security gap and a surprise bill.

Interview Tip: A concise interview answer is:

"I'd design for statelessness and autoscaling from the start, using managed services for things like sessions and storage instead of a fixed server. Security and cost need equal attention upfront, so I'd apply least-privilege IAM roles, encrypt data, and provision everything through infrastructure as code so it's reviewable and repeatable."