Today, choosing the right cloud provider – or group of cloud vendors – is critical. Yet performance and costs are merely starting points. Organizations also require agility and flexibility to expand into digital initiatives, ranging from IoT and robotics to digital twins and machine learning. The ideal cloud platform serves your unique business needs.
Two cloud platforms garnering attention are AWS and Heroku. Of course, the former is a household name. Amazon Web Services dates back to 2006 and now controls 41% of the cloud market. The cloud giant offers a vast array of capabilities and features. In contrast, Heroku, founded in 2007 and now part of Salesforce, slants heavily toward developer-centric cloud services.
It’s best to think of AWS as a general-purpose platform for the cloud – although it has many tools and capabilities that are appealing to developers and data scientists. Heroku’s focus is on harnessing and monetizing Salesforce data – although the cloud platform is suited for numerous other development purposes. Its strength lies in built-in support for a wide range of development languages.
Here’s a close look at how these two cloud providers stack up and what you need to know if you’re in the market for enterprise clouds that may involve some software development and DevOps support.
Also see: Top Cloud Companies
Heroku vs. AWS: Overall Comparison
AWS: Amazon Web Services is an end-to-end platform with a global presence. It offers more than 200 products, services, tools and resources for building and managing computing frameworks. This includes services designed for computing, storage, networking, database, analytics, machine learning, IoT and mobile. AWS supports .NET, Docker, Ruby, NodeJS, Go, PHP and Python, among others. It is ideal for companies spread across a diverse array of industries and spaces, including financial services, media and entertainment, retail, marketing and advertising, game tech and others.
On the back end, AWS includes web services, including clusters available through Amazon Elastic Compute (EC2), Amazing Simple Storage Service (Amazon S3), GPU availability, and various operating systems and configurations that optimize various tasks, ranging from software development to customer relationship management (CRM).
Amazon uses a robust set of APIs to deliver functionality to developers, though it’s usually necessary to manually configure settings. Typically, fees are based on a pay-as-you-go (consumption-based) model.
Heroku: The cloud provider delivers a cloud platform that tilts heavily toward a software development platform. It offers deep integration with Salesforce data, but it also gives developers a rich set of tools to build and deploy web applications. This includes language support for Ruby, Java, PHP, Python, Scala and Node.js. Heroku offers more than 200 third-party add-ons, 7,800 plus open-source Buildpacks, and upwards of 7,200 ready-to-deploy Heroku Buttons. The company’s focus is on building data-driven apps with fully managed data services.
As a result, Heroku is ideal for organizations looking to build apps without regard to the underlying infrastructure. Heroku automatically adapts itself to the needs and requirements of the software an organization builds.
Applications that run on the Heroku platform typically use a unique domain that routes HTTP requests to a specific applications container. These, in turn, distribute the compute load across multiple servers that the company operates. Heroku services are hosted on Amazon’s EC2 platform.
Also see: Why Cloud Means Cloud Native
Heroku vs. AWS: Comparing Usability and Performance
AWS: Part of the appeal of AWS lies in its breadth of services and capabilities. It offers applications and tools for almost any task—something that Heroku cannot boast. But this comes at a potential cost. There’s a far greater reliance on manual configurations, which can tax organizations.
On a practical level, AWS offers numerous services but the three most widely used are AWS EC2, AWS Elastic Beanstalk, and AWS Lambda. The first delivers building blocks that teams must assemble into functional infrastructure for a project; the second is a platform-as-a-service (PaaS) offering that deploys apps through AWS Cloud commands (it’s the service that most closely rivals Heroku); and the third is a serverless platform that runs code but lacks customization features and scalability because it’s a closed architecture. Among user communities, there are some complaints about murky error codes and an inability to resolve issues. Highly technical aspects can also prove daunting.
Heroku: The vendor’s interface and framework has a distinct advantage over AWS. It’s far more user friendly for accomplishing a wide array of tasks. It includes a powerful dashboard and command line interface (CLI). Yet one of Heroku greatest strengths is its built-in smart containers and elastic runtime capability. These dynos support powerful orchestration, load balancing, security and logging through the elastic runtime environment.
Heroku also makes it easy to connect from Git, GitHub, or Docker, or through an API, in order to establish automated application delivery. It boasts single click scalability with no downtime, and it is highly configurable and flexible through open source Buildpacks and Buttons, which are available through the firm’s marketplace. Its broad language support is also a plus. On the downside, user communities report that dynos can be difficult to reach at times, and heavy computing projects don’t always run well on the platform.
Heroku vs. AWS: Comparing Flexibility
AWS: The strength of AWS lies in its powerful infrastructure, fast provisioning and deployment and vast array of resources and tools. The cloud platform is ranked number one in market share for a reason: if you want to build a service at AWS—blockchain, content delivery, machine learning, high performance computing, you name it—there’s almost certainly a way to do it.
However, there’s a caveat. AWS tilts heavily toward its own tools and resources. While it’s possible to connect outside services and use various development languages, the manual nature of building out components can serve as an impediment. If your organization requires a highly flexible infrastructure, AWS is probably an excellent choice—provided that you have the resources to get the job done.
Heroku: The cloud development platform’s ease of use makes it ideal for organizations looking for simplicity along with flexibility. While it doesn’t match the infrastructure capabilities of AWS and doesn’t offer as broad a set of features and capabilities, it shines in areas such as collaboration, container support, open-source connectivity, language support and controls.
What’s more, the high vertical and horizontal scalability of the platform means that organizations can adapt and adjust to changes rapidly. An added bonus is that Heroku integrates well with AWS products and tools, meaning that it’s possible to extend its capabilities. It’s also extremely easy to set up, deploy and change.
Heroku vs. AWS: Security, Privacy and Compliance
AWS: Strong security controls are embedded in the platform, and developers and others also have access to many other powerful tools, features and capabilities. AWS holds third party validations for thousands of global compliance requirements. Encryption at rest and in motion is in place across facilities and geographies. AWS has a team of expertise that continually monitor and respond to issues. Additional protections—everything from identity and access controls and application security to host and endpoint security—are available through the AWS Marketplace.
Heroku: With validated compliance built into the majority of the stack, Heroku delivers strong controls over data and privacy. The company performs regular audits for PCI, HIPAA, ISO, and SOC1, SOC2 and SOC3, though different products and tiers offer differing levels of compliance. The company offers robust security controls at every layer, from physical to application; it isolates customer apps and data; and it relies on strong authentication and encrypted connections along with numerous other protections to deliver an ultra-high level of security and data protection.
Also see: Cloud Native Winners and Losers
Heroku vs. AWS: Comparing Support
AWS: Resources include e-books and technical documents, help from third-party experts, an extensive knowledge center and a variety of free and paid support tiers and options. Not surprisingly, AWS also has an enormous community that can provide input and assistance.
Heroku: The vendor offers a help center with an extensive knowledge base. It also offers a current status monitor at its website, and it offers other community resources as well as direct online support.
Heroku vs. AWS: Price Comparison
AWS: The pay-as-you-go model offers a high level of flexibility. AWS includes a pricing calculator to aid in determining pricing for various components and solutions. Costs vary greatly, depending on the configuration. However, an EC2 a1.medium instance with 1 vCPU and 2 GiB of memory costs about $0.0255 on-demand hourly, or approximately $18 per month. A t3.2xlarge instance with 8 vCPUs and 32 Gib of memory runs about $243 per month.
Heroku: The company offers a Free and Hobby package at $0 per month. It has limited capabilities. Other plans vary from $25 per month to $250 per month or more, depending on numerous factors. Containers (Dynos) vary greatly depending on the configuration. For example, the Dyno standard-2x plan with 1 GB RAM runs about $50 per month. The Dyno performance-L with 14 GB RAM costs about $500 per month. Data service and various other offerings are also available.
Also see: How Database Virtualization Helps Migrate a Data Warehouse to the Cloud
Heroku vs. AWS: Conclusion
Both cloud platforms deliver remarkable capabilities and features. Overall, AWS offers a more powerful and flexible infrastructure, and, in some cases, superior automation capabilities coupled with greater control over resources. It’s ideal for organizations that have a DevOps team or developers available to customize and tweak features and settings. As a result, it’s often a bullseye for medium and large organizations.
On the other hand, Heroku takes a narrower focus on code rather than infrastructure. It supports a broad array of development languages, including modern open-source languages. This makes it more appealing to small and medium-sized companies with limited development teams. Heroku offers a wealth of tools and a user-friendly environment that makes it easy to provision and deploy services, sometimes within seconds. It also integrates well with AWS products and offers superior connectivity to Salesforce.