Need advice about which tool to choose?Ask the StackShare community!
Amazon EC2 vs OpenShift: What are the differences?
Introduction
Amazon EC2 and OpenShift are both cloud computing platforms that offer a range of features and services. However, there are some key differences between the two:
Scalability: Amazon EC2 provides scalability by allowing users to easily add or remove instances as needed. It offers auto-scaling features that can automatically adjust the number of instances based on demand. On the other hand, OpenShift allows for scaling of applications, rather than individual instances. It utilizes containerization technology, such as Docker, to enable horizontal scaling of applications.
Vendor Lock-In: Amazon EC2 is a service provided by Amazon Web Services (AWS), which means it is tied to the AWS ecosystem. This can result in vendor lock-in, where users may find it challenging to move their infrastructure to another cloud provider. OpenShift, on the other hand, is an open-source platform that can be deployed on various cloud providers, offering more flexibility and preventing vendor lock-in.
Pricing: Amazon EC2 has a pay-as-you-go pricing model, where users pay for the resources they consume. The pricing structure includes factors such as instance type, storage, and data transfer. OpenShift, on the other hand, offers multiple pricing options. It can be deployed on-premises or in the cloud, and the pricing can vary depending on the deployment option chosen.
Managed vs Self-managed: Amazon EC2 is a managed service, where AWS takes care of the underlying infrastructure, including hardware maintenance, security, and updates. Users are responsible for managing their applications and data. OpenShift, on the other hand, can be self-managed or fully managed. Users can choose to deploy and manage OpenShift themselves or opt for a managed OpenShift service offered by certain cloud providers.
Containerization Technology: Amazon EC2 utilizes virtual machine (VM) technology to provide virtualized instances. Users can choose from a range of instance types with different specifications. OpenShift, on the other hand, uses containerization technology, such as Docker and Kubernetes, to provide a platform for deploying and managing applications. Containers offer lightweight and isolated environments, enabling faster deployment and scalability.
Application Deployment Model: Amazon EC2 allows users to deploy a wide range of applications, including both traditional monolithic applications and modern microservices-based applications. OpenShift, on the other hand, is specifically designed for containerized applications. It offers support for microservices architectures and provides features such as service discovery, load balancing, and container orchestration.
In Summary, Amazon EC2 and OpenShift differ in terms of scalability, vendor lock-in, pricing, management, containerization technology, and application deployment model.
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 Red Hat OpenShift
- Good free plan99
- Open Source63
- Easy setup47
- Nodejs support43
- Well documented42
- Custom domains32
- Mongodb support28
- Clean and simple architecture27
- PHP support25
- Customizable environments21
- Ability to run CRON jobs11
- Easier than Heroku for a WordPress blog9
- Easy deployment8
- PostgreSQL support7
- Autoscaling7
- Good balance between Heroku and AWS for flexibility7
- Free, Easy Setup, Lot of Gear or D.I.Y Gear5
- Shell access to gears4
- Great Support3
- High Security3
- Logging & Metrics3
- Cloud Agnostic2
- Runs Anywhere - AWS, GCP, Azure2
- No credit card needed2
- Because it is easy to manage2
- Secure2
- Meteor support2
- Overly complicated and over engineered in majority of e2
- Golang support2
- Its free and offer custom domain usage2
- Autoscaling at a good price point1
- Easy setup and great customer support1
- MultiCloud1
- Great free plan with excellent support1
- This is the only free one among the three as of today1
Sign up to add or upvote prosMake informed product decisions
Cons of Amazon EC2
- Ui could use a lot of work13
- High learning curve when compared to PaaS6
- Extremely poor CPU performance3
Cons of Red Hat OpenShift
- Decisions are made for you, limiting your options2
- License cost2
- Behind, sometimes severely, the upstreams1