什么是Encore?
Encore是一个综合的后端开发平台,结合了开源框架和可选的云自动化功能。它通过使开发者能够使用Go或TypeScript直接在应用程序代码中声明基础设施,消除了传统DevOps工作流的复杂性。开发者无需维护单独的Terraform配置或Kubernetes YAML文件,而是编写类型安全的后端代码,Encore解析并自动转换为配置的云基础设施。该平台提供统一的本地开发环境,镜像生产设置,包含集成的可观测性、服务目录和架构图。开发者部署到自己的AWS或GCP账户而不会被供应商锁定,而可选的Encore Cloud平台自动化基础设施配置、安全策略和DevOps工作流。
主要功能
代码中的声明式基础设施
直接在应用程序代码中将微服务、数据库、Pub/Sub主题、定时任务和其他云资源定义为类型安全对象,无需单独的Terraform或YAML配置。
本地开发环境
使用单个命令在本地运行整个分布式系统,包含完整的数据库、服务和基础设施原语,完美镜像您的云环境。
自动基础设施配置
连接您的AWS或GCP账户,Encore自动配置所有必要的云资源,包括VPC、子网、安全组、数据库和计算基础设施。
内置可观测性和调试
集成的分布式追踪、服务目录、API文档和架构图提供完整的系统可见性,无需额外工具。
零配置部署
直接从您的代码仓库部署到预览或生产环境,具有自动基础设施编排,无需手动DevOps配置。
最小权限安全
根据您的代码自动生成最小IAM权限,确保应用程序遵循安全最佳实践,无需手动策略配置。
1. Encore支持哪些编程语言?⌄
Encore目前支持Go和TypeScript,具有完整的功能对等性。Python支持即将推出。两种语言都提供完整的功能集,包括自动基础设施配置、分布式追踪和API文档。
2. 我需要使用Encore Cloud,还是可以独立使用Encore?⌄
Encore的开源框架可以独立工作,使用Docker镜像进行手动基础设施管理。可选的Encore Cloud平台自动化DevOps和基础设施配置。您保持完全控制,可以随时生成Docker镜像以独立部署。
3. 如果我使用Encore,会被锁定吗?⌄
不会。Encore旨在避免供应商锁定。您部署到自己的AWS或GCP账户,99%的代码是标准的Go或TypeScript。如果您选择停止使用Encore,可以生成Docker镜像并按您喜欢的方式部署。
4. Encore如何处理数据库和数据存储?⌄
Encore提供类型安全的数据库定义,自动在AWS RDS或GCP Cloud SQL上配置PostgreSQL实例。您在代码中声明数据库模式,Encore处理创建、迁移和基础设施设置。
5. 我可以将Encore集成到现有应用程序中吗?⌄
是的。Encore支持增量采用。您可以逐个转换服务以使用Encore框架,允许渐进式迁移,无需完全重写现有系统。
6. Encore支持哪些云提供商?⌄
Encore与AWS和Google Cloud Platform (GCP)集成。您部署到自己的云账户,Encore根据您的基础设施声明配置Fargate/Cloud Run、RDS/CloudSQL和SNS/Pub/Sub等资源。
7. Encore如何提高开发速度?⌄
Encore通过自动化基础设施配置、消除样板配置、提供本地镜像环境以及自动化API文档和服务目录来消除DevOps开销。团队通常看到2-3倍的开发速度提升和90%的项目交付时间缩短。
