7 Avp

Best Practices & Industry Standards

Migrating Applications to the Cloud


Advantages of a Cloud based approach:

  • Concentrate on core business logic. “Outsource” infrastructure related complexity.
  • Easier to implement Disaster Recovery.
  • Easier to distribute applications over multiple regions.
  • Easier to scale up and scale down applications on demand.


Some situations where applications cannot be migrated to the cloud:

  • Specific compliance needs that the cloud cannot support.
  • Situations where Applications require regulated data which cannot be stored in a shared datacenter.


Some design considerations when migrating Applications to the Cloud:

1. Codebase

  • Migrate the same codebase to the Cloud? (lift and shift)
  • Use a “newer” tech stack when migrating to the Cloud?

2. CI (Continuous Integration)

Build and Test changes to the application as and when they occur.

3. CD (Continuous Deployment)

Deploy changes to the application (to dev) as and when they occur.

4. Deployment Type

  1. Docker Containers
  2. Lambda instances (makes more sense when the application is stateless).

5. Persistence Layer

  1. Database Layer
  2. Caching Layer (if required).

6. Scaling

Based on the user demand, scale up and scale down application instances (also region wise).

7. Logging

Log application steps so that they can be analyzed in case of any issues or problems in the application.

8. Data Retention

This relates to both the Persistence layer and the Logging data.

9. Alerting

Setup alerts to proactively catch issues in the cloud applications.

10. Disaster Recovery

How should the application behave when the entire datacenter goes down.