A unified multi-cloud abstraction framework designed for seamless application deployment across different cloud providers. The CloudApp Framework encapsulates cloud vendor services through a unified SDK, eliminating vendor lock-in and enabling flexible multi-cloud deployments with a single codebase.
The CloudApp Framework addresses the critical challenge of vendor lock-in in cloud computing by providing:
- Unified SDK: Single API interface for multiple cloud providers
- Zero Vendor Lock-in: Switch between cloud providers without code changes
- Multi-Cloud Support: Deploy the same application across different cloud platforms
- Spring Boot Integration: Native Spring Boot auto-configuration and starter support
- Comprehensive Services: Complete PaaS service abstractions including storage, messaging, caching, and more
- Automatic Configuration: Zero-configuration Spring Boot integration
- Dynamic Refresh: Runtime configuration updates without restart
- Observability: Built-in metrics, logging, and tracing with OpenTelemetry
- Multi-Version Support: Compatible with Java 8+ and multiple Spring Boot versions
- Object Storage: Unified file storage across cloud providers
- Messaging: Abstract messaging with Kafka and RocketMQ support
- Caching: Distributed Redis caching abstraction
- Configuration: Centralized configuration management
- Search: Elasticsearch integration for full-text search
- API Gateway: Service gateway abstraction
- Microservice Governance: Service discovery, load balancing, and traffic management
- Transaction Management: Distributed transaction support with Seata
- Security: OAuth2 authentication and authorization
- Data Management: Connection pooling with Druid
- Global Sequences: Distributed ID generation
- Email Services: Template-based email with Freemarker and Thymeleaf
- Task Scheduling: Distributed task scheduling capabilities
- Apache Kafka
- Apache RocketMQ (including Alibaba Cloud RocketMQ)
- Spring Cloud Stream integration
- Redis (distributed caching)
- Elasticsearch (search and analytics)
- Druid (connection pooling)
- Multiple database drivers support
- Spring Cloud Alibaba (Nacos, Dubbo)
- Spring Cloud (Service Discovery, Config)
- OpenTelemetry (observability)
- Seata (distributed transactions)
- OAuth2 / JWT
- Spring Security integration
- RBAC support
- Spring Boot 2.7.x
- Maven build system
- OpenTelemetry metrics and tracing
- Prometheus integration
- Log4j2 with trace correlation
- Java 8 or higher
- Maven 3.x
- Spring Boot 2.7.x
<dependency>
<groupId>com.alibaba.cloudapp</groupId>
<artifactId>spring-boot-starter-cloudapp</artifactId>
<version>1.0.3</version>
</dependency>
<!-- Add specific cloud provider implementations -->
<dependency>
<groupId>com.alibaba.cloudapp</groupId>
<artifactId>cloudapp-spring-filestore-aliyun</artifactId>
<version>1.0.3</version>
</dependency>io:
cloudapp:
filestore:
aliyun:
endpoint: your-oss-endpoint
access-key-id: your-access-key
access-key-secret: your-secret-key
bucket-name: your-bucket@Autowired
private ObjectStorageService objectStorageService;
public void uploadFile(String key, InputStream inputStream) {
objectStorageService.putObject(key, inputStream);
}cloudapp-framework-core- Core abstractions and utilitiescloudapp-base-api- Unified service interfacescloudapp-base-utils- Common utilitiesspring-boot-starter-cloudapp- Spring Boot auto-configuration
cloudapp-framework-paas- Platform service implementationscloudapp-spring-config- Configuration managementcloudapp-spring-filestore- Object storage (OSS, OBS, MinIO)cloudapp-spring-messaging- Messaging (Kafka, RocketMQ)cloudapp-spring-redis- Distributed cachingcloudapp-spring-search- Search services (Elasticsearch)cloudapp-spring-apigateway- API gateway integrationcloudapp-spring-scheduler- Task scheduling
cloudapp-framework-microservices- Microservice governancecloudapp-microservice-aliyun- Alibaba Cloud microservice supportcloudapp-microservice-huawei- Huawei Cloud microservice support
cloudapp-framework-observabilities- Monitoring and observabilitycloudapp-observabilities-opentelemetry- OpenTelemetry integration
cloudapp-framework-tools- Additional tools and integrationscloudapp-datasource-druid- Database connection poolingcloudapp-spring-mail- Email servicescloudapp-spring-oauth2- OAuth2 securitycloudapp-spring-seata- Distributed transactionscloudapp-spring-sequence- Global sequence generation
cloudapp-framework-demos- Complete demo applications for each service
git clone https://github.com/alibaba/cloudapp-framework.git
cd cloudapp-framework
mvn clean installmvn testcd cloudapp-framework-demos/cloudapp-filestore-demo/cloudapp-filestore-demo-aliyun
mvn spring-boot:runComprehensive documentation for each service:
- Object Storage Design & Usage
- Messaging Design & Usage
- Caching Design & Usage
- Configuration Design & Usage
- Search Design & Usage
- API Gateway Design & Usage
- Microservice Governance
- Observability Design & Usage
- More Documentation...
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

