Common Cloud Application Deployment Pitfalls


Performance

  • designing for performance and ensuring performance goals are met can be complex in the cloud
    • cloud software often relies on loosely coupled services
    • multiple components can interact in unexpected ways

Scalability

  • ability to scale requires devs to think differently about how an app should work
    • needs to be able to:
      • run across many instances at once
      • retain state regardless of instance or server
      • handle faults with individual servers cleanly
      • ensure data remains secure in transit and at rest

Interoperability

  • software needs to be able to work on multiple different platforms and cloud provider environments
    • to help control costs and increase options for hosting

Portability

  • design software that can move between on-premise and cloud environments
  • portability concerns in cloud:
    • avoidance of components specific to certain cloud vendors
      • APIs, internal tools
      • avoiding use of these tools may require additional work

Availability and Reliability

  • The many different dependencies can affect availability and reliability
    • if dependency goes down
  • outage in one CSP or availability zone may affect your infrastructure
    • even if in different zone

API Security

  • designing APIs securely and to work well with cloud architectures is a challenge