Scalability, elasticity, and robustness are the most important characteristics of any cloud-based application. An enterprise cloud computing architecture must be designed based on these characteristics. In particular, it must be able to cope with strongly fluctuating loads on the virtual systems and enormous amounts of data, while at the same time making sure the operations run in an efficient and economical manner. Redundancy, regular snapshots, and backups are mandatory.
Measures for building a cloud architecture at enterprise level:
Availability at cluster level or even as a high availability application including fail-over and continued data consistency
Distribution of entities including mirroring of the applications and virtual data centers, and also with the help of geographical redundancy (in parallel operation of both the infrastructure and the programming of an application)
Scalability without interrupting ongoing operations and should be as vertical as possible to save resources; in addition, enable the development of shared-nothing systems
Automation, which must be made possible with the help of microservices, especially in times of agile software development and CI/CD
Configuration management, security design, access management including logging or multi-client capability
Step-by-step migration and preparation of the cloud for hybrid or multi-cloud operation
Prevention of lock-in through proprietary cloud technologies