Common Cloud Application Deployment Pitfalls
- 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
- 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