Encore compared to Heroku

Get the convenience you want, without limitations

In its heyday, Heroku was seen as an innovative cloud platform that made deployments and infrastructure management much more convenient than alternatives at the time. Ultimately Heroku lost momentum and, as cloud services rapidly evolved in the past decade, the platform didn't manage to provide enough flexibility to support users' needs.

Fans of Heroku will recognize much of the same simplicity in the Encore workflow. However, there are several key differences between Encore and Heroku, which make Encore a long term suitable technology choice.

Encore is designed to be flexible in letting you build your application using infrastructure, and cloud services, not yet natively supported in the Encore framework. This means you can use any type cloud infrastructure, as you normally would, even if it's not a built-in building block. The only drawback is that your developer experience will be more conventional, and you will need to manually provision the "unsupported" infrastructure.

EncoreHeroku
Infrastructure approach?Infrastructure from CodePlatform as a Service
Charges for hosting?NoYes
Deploy to all major cloud providers?YesNo
Deploy to your own cloud account?YesNo
Cloud-agnostic applications?Yes, by defaultNever
Built-in CI/CD?YesYes
Built-in Preview Environments?YesYes
Automatic Distributed Tracing?YesNo
Pricing?$99 per developerVariable (complex)

Advantages of Encore's Infrastructure from Code approach

Encore's infrastructure from code approach means there are no configuration files to maintain, nor any refactoring to do when changing your application's underlying infrastructure. Your application code is the source of truth for the logical infrastructure requirements!

In practise, you use the Encore framework's cloud-agnostic APIs to declare your infrastructure needs as part of your application code, and the Encore Platform automatically provisions the necessary infrastructure in all types of environments and across all major cloud providers. (This means your application is cloud-agnostic by default.)