Need advice about which tool to choose?Ask the StackShare community!
Amazon EC2 vs Apollo: What are the differences?
Introduction
This markdown code compares the key differences between Amazon EC2 and Apollo. Amazon EC2 and Apollo are both cloud computing platforms, but they have some distinct differences that set them apart. The following paragraphs highlight six key differences between these platforms.
Provisioning: Amazon EC2 is a Infrastructure as a Service (IaaS) platform that allows users to provision virtual servers in the cloud. Users have full control over their virtual servers, including the choice of operating systems and configurations. On the other hand, Apollo is a Platform as a Service (PaaS) platform that focuses on application deployment and management. It abstracts away the underlying infrastructure and provides a simplified deployment experience for developers.
Server Types: Amazon EC2 offers a wide variety of server types to meet specific workload requirements, such as general-purpose, memory-optimized, and GPU instances. It allows users to choose the appropriate server type based on their application needs. In contrast, Apollo provides a standardized server type for all applications. It simplifies the deployment process by offering a single server type optimized for most use cases.
Scalability: Amazon EC2 allows users to scale their infrastructure up or down based on demand. Users can easily add or remove instances to match the workload requirements. It provides flexible scaling options, including manual scaling and auto scaling based on predefined metrics. On the other hand, Apollo is designed to automatically scale applications based on demand. It dynamically allocates resources to handle varying traffic loads, ensuring optimal performance without the need for manual intervention.
Pricing: Amazon EC2 offers a pay-as-you-go pricing model. Users pay only for the resources they consume, such as instance hours and data transfer. The pricing is based on various factors, including instance type, region, and usage. In contrast, Apollo adopts a fixed pricing model. Users pay a flat fee for the resources allocated to their applications, regardless of the actual usage. This provides cost predictability, especially for applications with consistent resource requirements.
Management: Amazon EC2 provides a comprehensive set of management tools, including APIs, command-line interface (CLI), and web console. Users can manage their instances, networking, and storage resources using these tools. It also integrates with other AWS services for enhanced functionality. Conversely, Apollo offers a simplified management experience. It handles most of the infrastructure management tasks automatically, allowing developers to focus more on application development rather than infrastructure maintenance.
Service Ecosystem: Amazon EC2 is part of a larger ecosystem of cloud services provided by Amazon Web Services (AWS). It can be easily integrated with other AWS services such as Amazon S3 for object storage and Amazon RDS for managed databases. This offers a wide range of services and capabilities to enhance the overall application architecture. In contrast, Apollo is a standalone platform without a comparable ecosystem. It provides the necessary tools and resources for application deployment and scaling but lacks the additional services offered by AWS.
In summary, Amazon EC2 and Apollo differ in their provisioning models, server types, scalability approaches, pricing models, management tools, and service ecosystems. These differences make them suitable for different use cases and application requirements.
We wanted to save as much time as possible when writing our back-end, therefore Apollo was out of the question, we went for an auto-generated API instead. Hasura looked good in the beginning, but we wanted to retain the ability to add a few manual resolvers and modifications to auto-generated ones, which ruled out Hasura. Postgraphile with its Plug-In architecture was the right choice for us, we never regretted it!
DigitalOcean was where I began; its USD5/month is extremely competitive and the overall experience as highly user-friendly.
However, their offerings were lacking and integrating with other resources I had on AWS was getting more costly (due to transfer costs on AWS). Eventually I moved the entire project off DO's Droplets and onto AWS's EC2.
One may initially find the cost (w/o free tier) and interface of AWS daunting however with good planning you can achieve highly cost-efficient systems with savings plans, spot instances, etcetera.
Do not dive into AWS head-first! Seriously, don't. Stand back and read pricing documentation thoroughly. You can, not to the fault of AWS, easily go way overbudget. Your first action upon getting your AWS account should be to set up billing alarms for estimated and current bill totals.
We first selected Google Cloud Platform about five years ago, because HIPAA compliance was significantly cheaper and easier on Google compared to AWS. We have stayed with Google Cloud because it provides an excellent command line tool for managing resources, and every resource has a well-designed, well-documented API. SDKs for most of these APIs are available for many popular languages. I have never worked with a cloud platform that's so amenable to automation. Google is also ahead of its competitors in Kubernetes support.
GCE is much more user friendly than EC2, though Amazon has come a very long way since the early days (pre-2010's). This can be seen in how easy it is to edit the storage attached to an instance in GCE: it's under the instance details and is edited inline. In AWS you have to click the instance > click the storage block device (new screen) > click the edit option (new modal) > resize the volume > confirm (new model) then wait a very long time. Google's is nearly instant.
- In both cases, the instance much be shut down.
There also the preference between "user burden-of-security" and automatic security: AWS goes for the former, GCE the latter.
Most bioinformatics shops nowadays are hosting on AWS or Azure, since they have HIPAA tiers and offer enterprise SLA contracts. Meanwhile Heroku hasn't historically supported HIPAA. Rackspace and Google Cloud would be other hosting providers we would consider, but we just don't get requests for them. So, we mostly focus on AWS and Azure support.
Pros of Amazon EC2
- Quick and reliable cloud servers647
- Scalability515
- Easy management393
- Low cost277
- Auto-scaling271
- Market leader89
- Backed by amazon80
- Reliable79
- Free tier67
- Easy management, scalability58
- Flexible13
- Easy to Start10
- Widely used9
- Web-scale9
- Elastic9
- Node.js API7
- Industry Standard5
- Lots of configuration options4
- GPU instances2
- Simpler to understand and learn1
- Extremely simple to use1
- Amazing for individuals1
- All the Open Source CLI tools you could want.1
Pros of Apollo
- From the creators of Meteor12
- Great documentation8
- Open source3
- Real time if use subscription2
Sign up to add or upvote prosMake informed product decisions
Cons of Amazon EC2
- Ui could use a lot of work14
- High learning curve when compared to PaaS6
- Extremely poor CPU performance3
Cons of Apollo
- File upload is not supported1
- Increase in complexity of implementing (subscription)1