Nine Characteristics of a Modern Cloud Architecture
Look around the technology landscape and it is impossible to miss a trend toward subscription based, cloud focused applications. Whether it is your email, creative software, productivity tools, CRM or contact center management, everything is moving to this model, at least as an option.
What is not so clear is whether the software is ready for this model. Some providers sidestep this issue simply by changing the pricing model without changing the software. Others move the software to the cloud without optimizing the code for the new environment.
A true cloud platform has some key features that make it most efficient for the cloud environment. Here are nine characteristics of this modern architecture:
- Built to Scale. Moving to the cloud should make software more affordable for the small installation and capable of handling very large numbers of users. This requires that the architecture be built on objects that can be massively paralleled. This service oriented architecture (SOA) features objects that include communications, data operations and technology that can work independently on requests. The system can dynamically adjust any area to have more resources as needed.
- Microservices. In the true cloud platform, applications are componentized into microservices that are actively monitored and automatically provisioned. Microservices enable horizontal scaling. They make it easier to add new features.
- Elastic Load Balancing. Requests are distributed to independent microservices. If a failure is detected, the service is restarted. New features, upgrades and maintenance releases are all rolled out through distributed requests without interrupting service.
- APIs. There are clearly defined programmatic interfaces for every device including browsers, desktop applications, tablets and phone apps. These interfaces are publicly available. Data is protected by encryption.
- Continuous Deployment. New features and fixes can be deployed without any service stoppage.
- Designed for failure. The architecture assumes there will be failures and is designed to recover from them. Because it is a distributed architecture, working components can take over from failed ones. Resources are dynamically allocated as needed.
- Connection to Other Apps. A true cloud platform can connect to other applications in the cloud or on premise, and can sync control.
- Data collection. Storage is cheap. Save everything. Report later. Following this design philosophy allows users to find patterns and efficiencies over time.
- Measure everything. Perform continuous analysis to identify user trends and checking reliability of requests.
For a more in-depth look at these architectural features, read “Hadoop the Shard”.