Skip to main content

Best Cloud Platform (AWS, GCP, Azure) for Deploying E-commerce Startup Application: EKS vs. GKE vs. AKS?

Created
Active
Viewed 2k times
19 replies
22

I'm in the process of deploying my e-commerce startup application to the cloud and I'm seeking advice on choosing the best cloud platform among AWS, GCP, and Azure, as well as the optimal managed Kubernetes service (EKS, GKE, or AKS) for my specific use case.

Here's a bit of context:

  1. Application Overview: My e-commerce application is built using java, and it's expected to scale rapidly as we onboard more customers.

  2. Performance Requirements: High availability, scalability, and performance are crucial for our application, especially during peak traffic times.

  3. Budget Considerations: While we're willing to invest in the right infrastructure, cost efficiency is still a significant factor for us as a startup.

  4. Development and Operations Experience: We're looking for a solution that offers ease of management and maintenance.

Given these considerations, I'm torn between AWS, GCP, and Azure, and I'm also unsure which managed Kubernetes service would best suit our needs.

I'd greatly appreciate any insights, recommendations, or experiences from those who have deployed similar applications or have expertise in these cloud platforms and Kubernetes services.

19 replies

Sorted by:
78506810
5

Hi,

While choosing between AWS, GCP, and Azure, I recommend also considering IBM Cloud. Here are a few reasons why:

  1. Performance and High Availability: IBM Cloud offers high performance and low latency with its global data centers.

  2. Kubernetes Service (IKS): IBM Cloud Kubernetes Service (IKS) provides an easy-to-manage and scalable Kubernetes environment.

  3. Security and Compliance: IBM Cloud ensures your e-commerce application’s security with robust security features and compliance certifications.

  4. Cost Efficiency: With flexible pricing models, IBM Cloud offers cost-effective solutions, especially for startups.

  5. Ease of Management: IBM Cloud’s user-friendly interface and automation features simplify management and maintenance tasks.

For these reasons, I recommend considering IBM Cloud as one of your options.

I hope this information helps you make your decision!

78550523
5

Nobody can this with accuracy because it depends. I assume you dont have a very experienced senior devops person otherwise you would probably be asking him/her.

This raises a big point you should not forget about which is documentation and community e.g. number of stackoverflow entries or medium articles, which will help you to achieve what you want to do or already did what you want to do.

Since AWS is currently the biggest cloud provider, see here, chances are more people tried what you are doing on aws then on any other cloud. Their documentation is probably also more advanced.

But in the end it depends.

78554128
7

AWS is the most mature cloud of all. The only problem that i see on it, is that they have too many options and sometimes is hard to decide which service or configuration fits on you. In AWS you have multiple ways to solve the same problem. Every trouble that you could find, AWS will have a service for solving it.

As second option, I would choose Google Cloud. It is simple and direct. It has the services needed to solve most problems you could have. If your application needs to interact with google ADs or other Google platforms, then Google Cloud is the best option because it usually has easy-to-use connectors. Also, for datalake/datawarehousing/data analytics, BigQuery is a beast, it has no rival. In my experience, Google is usually cheaper than AWS.

My experience with Azure wasn't good at all, but it was 4 years ago. Its security services didn't interact very well with each other and de Console was a little not user friendly. But I may just had a bad experience. I hope that Azure has fixed the issues I found years ago.

78741589
6

Each cloud provider offers unique strengths and weaknesses. Let's break down their key features in relation to your needs:

AWS (Amazon Web Services)

  • Strengths: Extensive services, mature ecosystem, strong compute and storage options (EC2, S3), robust networking capabilities (VPC, Route 53).

  • Weaknesses: Can be complex for beginners, pricing can be intricate.

GCP (Google Cloud Platform)

  • Strengths: Strong focus on data analytics and machine learning, cost-effective pricing models, serverless computing (Cloud Functions), Kubernetes-native environment (GKE).

  • Weaknesses: Smaller ecosystem compared to AWS, less mature in some areas.

Azure (Microsoft Azure)

  • Strengths: Hybrid cloud capabilities (Azure Stack), strong integration with Windows-based environments, comprehensive security features.

  • Weaknesses: Can be more expensive than AWS or GCP for some services, less mature in certain areas.

Choosing the Right Managed Kubernetes Service: EKS, GKE, or AKS

Given your focus on scalability, performance, and ease of management, a managed Kubernetes service is a strong choice. Let's compare the options:

EKS (Amazon Elastic Kubernetes Service)

  • Strengths: Deep integration with AWS services, mature platform.

  • Weaknesses: Can be more complex to manage than GKE.

GKE (Google Kubernetes Engine)

  • Strengths: Strong Kubernetes support, excellent integration with Google Cloud services, cost-effective options.

  • Weaknesses: Fewer features compared to EKS in some areas.

AKS (Azure Kubernetes Service)

  • Strengths: Strong integration with Azure services, hybrid cloud capabilities.

  • Weaknesses: Can be more expensive than other options.

Recommendations

Based on your requirements, I recommend considering the following:

  • Cloud Platform: GCP seems to align best with your needs due to its strong Kubernetes focus, cost-effective pricing, and performance capabilities. However, it's essential to evaluate all three platforms based on your specific use cases and conduct cost-benefit analyses.

  • Managed Kubernetes Service: GKE is a strong contender due to its seamless integration with GCP and ease of management. However, consider evaluating EKS for deeper AWS integration if you anticipate using more AWS services.

78752205
4

AWS is a strong choice, it has mature ecosystem, extensive service offerings. It actually has global presence ensures low latency and high performance.

For managed Kubernetes services, I recommend Amazon EKS. EKS is deeply integrated with AWS services, making it easier to manage your infrastructure.

If cost efficiency is your major concern, GCP with GKE is another option. This is highly regarded for its ease of use and operational efficiency, benefiting from Google's expertise in Kubernetes. GCP also offers competitive pricing and powerful data analytics tools, which could be advantageous as your business grows.

Azure with AKS is also a viable alternative, particularly if your team has experience with Microsoft technologies or if you plan to integrate closely with other Microsoft services. AKS offers solid performance and integrates well with Azure's extensive service offerings.

Hope this could be helpful and resolve your concerns

78758852
4

you can use AWS as it provides great documentation, easy to use UI unlike GCP, also AWS is very fast in terms of support tickets

[Most IMP thing]
Resources: I feel AWS is matured enough to have lot of resources unlike gcp or azure yu can get a resources which is easy to understand in udemy or anyother platform like youtube , aws training website for bootcamps etc

78782963
3

It depends on the structure of your application. If you are sure to use K8s then I would suggest AKS. Bcoz, it is simple and cost-effective.

This would be a good topic for discussion. So choose accordingly, as per your needs and expertise.

78871978
3

Each cloud provider GCP/AWZ/Azure has its strengths and weaknesses. So, my recommendations are given below:

  • Best Overall for Ease of Use and Cost Efficiency: Google Cloud Platform (GCP) with Google Kubernetes Engine (GKE) is a strong choice, especially if you're looking for ease of management and cost-effectiveness. GKE’s features and performance are highly regarded, and its integration with Google’s other services can be beneficial if you plan to expand into areas like big data or machine learning.

  • Best for Scalability and Performance: Amazon Web Services (AWS) with Elastic Kubernetes Service (EKS) is ideal if you anticipate rapid scaling and need a robust, globally distributed infrastructure. AWS's extensive range of services and integrations can support the growth and complexity of your application, though it may require more hands-on management.

  • Best for Enterprise Integration and Hybrid Cloud: Microsoft Azure with Azure Kubernetes Service (AKS) is worth considering if you plan to integrate with Microsoft’s ecosystem or require hybrid cloud capabilities. AKS is also a solid choice for enterprise-level security and compliance needs.

Each platform has its strengths, and the best choice depends on your specific requirements, including your team's familiarity with the platform, future growth plans, and potential integrations with other services. If possible, consider running a proof-of-concept on your top choice to ensure it meets your needs before fully committing.

79090089
1

I will choose Azure because I prefer straightforward and easily organized solutions that can be tailored to our needs.

79128986
1

I worked on GKE and EKS .Both GKE and EKS are really user friendly and easy to use .

GKE is Cost efficient as compare to EKS here in GKE they are charing for the control plane and compute resources. GKE is autopilot mode bills based on resource requests, which can be more cost-effective for highly optimised workloads.

Note :

You if your continuously using Aws cloud for other infra resources please uses EKS .

79336515
0
  • 5.3k
  • 4
  • 37
  • 50

So now that you've posted this question and it has taken months to collect dust, do you really still "greatly appreciate any insights, recommendations, or experiences" ?

Because you're pretty much not one step closer to being informed, the only thing you now know is other people's high level preferences. People you don't know and thus shouldn't trust.

If you want to move forward... pay for it. Buy consultancy, don't try to get it for free by throwing it at a group of random strangers. There are many companies dedicated to moving software to the cloud, use them. The cost of making all the wrong decisions is far greater than the cost of being prepared.

79349518
0

For your e-commerce application,

AWS with EKS is an excellent choice due to its market leadership, robust scalability, and a rich ecosystem of tools like Auto Scaling and CloudFront for high availability and performance.

GCP with GKE offers outstanding Kubernetes management and cost efficiency, particularly for startups with its predictive pricing and innovative network solutions.

Azure with AKS excels if you’re already in the Microsoft ecosystem, leveraging its seamless integration with other Azure services.

AWS generally provides the broadest feature set, but if cost is a primary factor, GCP could be more suitable.

Evaluate based on your team's familiarity with the platform to minimize operational overhead.

Hope this helps

79357682
1
  • 1.5k
  • 4
  • 22
  • 31

Considering the point 4, I will ask you why use Kubernete and why not use a full managed cluster as fargate (on aws)? From my experience, I've deployed a rich functionnal site based on multi java containers, all this has been hosted on fargate without any issue (and in production context) and put a load balancer in front of that to secure and handle the cluster scaling policy.

If your final goal is to run java container, AWS and Azure provide a full managed service to host containers (which feature like scaling / service catalog etc...).

This solution befenefits it's to avoid all kubenetes admin / setting tasks, and this tasks could be really penfull in some project. But in other hand, this service have a cost, so all this must be considered to made the good feet for your use case (but keep in mind that kubernetes it's not the only solution to host java container in the cloud).

79362622
0
  • 581
  • 2
  • 14
  • 31

I was working for an e-commerce start-up. I was the one who architected the cloud strategy. We used Google Cloud ( things are much more forward than AWS ).

I agree AWS is the biggest cloud provider ( first mover advantage), but am inclined towards GCP if you are planning to use GKE. The networking is not complex. We used Istio as our service mesh for e-commerce services. GCP did provide $25K for start-up. ( if the company is backed up by a reputable VC )

79373204
0

Honestly, I think these three providers are mature enough for your needs that there is no wrong answer here. They each offer cost savings options and scalable infrastructure that are fit for large enterprise customers. So I really don't think you can go wrong here, whichever you decided to go with.

Once you have sizeable workloads running, then only you would have an opinionated view of the pain points of working with said cloud provider, specific to the kinds of workloads you are running. Only then you would be able to make a more grounded comparison and decide if you want to host new workloads in a separate provider, or do a tech refresh. But as of now, if I am just starting out, I would just go with whichever is more comfortable for me/my tech lead/my team.

79418493
0

I've deployed new applications to both AWS and Azure. My findings:
Pricing: Same

Capability: Same
Ease of Use: Azure

Example: New App Deployment (Same app)

AWS - 2 weeks to configure and automate deployment.

Azure - 2 hours

*Note: Was deployed to azure first, so not a case where learnings from first deployment expedited the second deployment.
Azure simply had more out-of-the-box (especially the Azure Storage Account stuff) and more configured correctly out-of-the-box. To get up and running faster, use Azure.

79564812
0

Choosing the Best Cloud Platform (AWS vs. GCP vs. Azure)

Based on your e-commerce application’s needs—scalability, high availability, and cost efficiency—each of the three cloud providers has strengths:

1.AWS (Amazon Web Services) -

* Pros:

  • Most mature cloud platform with the largest market share and widest range of services.

  • Best-in-class scalability (Auto Scaling Groups, Elastic Load Balancer, S3, etc.).

  • Strongest global infrastructure, ensuring high availability and reliability.

  • AWS EKS (Managed Kubernetes Service) is stable and integrates well with other AWS services.

  • Largest community support, making it easier to find solutions and talent.

* Cons:

  • Can get expensive if not optimized (e.g., improper use of auto-scaling, overprovisioning).

  • Complexity in pricing and configuration can lead to hidden costs.

🔹 When to choose AWS?
If you need maximum scalability, global reach, and integration with best-in-class cloud services (e.g., S3 for storage, CloudFront for CDN, and RDS for databases).


2. Google Cloud Platform (GCP)

* Pros:

  • Best Kubernetes support with GKE, as Kubernetes originated at Google.

  • Strong networking and AI/ML capabilities if you plan to leverage advanced analytics in the future.

  • Competitive pricing for compute and storage compared to AWS.

  • Good for high-performance applications, especially for high-traffic and data-heavy applications.

* Cons:

  • Smaller service ecosystem compared to AWS.

  • Fewer global data centers, which may affect latency depending on your customer base.

  • Smaller talent pool, making hiring GCP-experienced DevOps engineers more challenging.

🔹 When to choose GCP?
If your team is already comfortable with Kubernetes (GKE) and cost optimization is a priority, GCP is a solid choice.


3. Microsoft Azure

* Pros:

  • Best choice for enterprises already using Microsoft tools (e.g., Windows Server, Active Directory).

  • Strong hybrid cloud capabilities for businesses that need both on-premises and cloud solutions.

  • Azure AKS (Managed Kubernetes) is improving and integrates well with Microsoft services.

* Cons:

  • Not as optimized for Kubernetes workloads as AWS and GCP.

  • Can be complex to configure properly.

  • Global infrastructure is strong, but not as dominant as AWS.

🔹 When to choose Azure?
If your startup heavily relies on Microsoft technologies (e.g., .NET, SQL Server) or you already have enterprise-level Azure discounts.

79566245
0

You haven't specified which region or location your application will be deployed. If I'm in your shoes, first step I will do is

  • Region Availability Check the cloud platform available in my region

    • This is also crucial if your country has specific data protection related rules and also if local support from your chosen cloud platform is required
  • Cost Estimation Use tools like AWS Pricing Calculator and equivalent tools(for GCP and Azure), do an estimation

  • Ecosystem Fit Choose a cloud that aligns with your planned technical stack (eg :- Database, Storage, Queues/streaming services etc ). Avoid multi-cloud early.

  • Team Skillset Leverage your team's current cloud/platform expertise to speed up dev cycles and reduce learning curve.

  • Pilot/Test Run Run small-scale POCs on AWS EKS, GKE, AKS with simulated load tests. Compare setup complexity, cost, scalability, and debugging experience.

GCP

As of I know GKE is one of the most popular service in the GCP tech stack(Also considering Kubernetes is originally designed by Google) and icing of the cake is , GKE is the most automated compared to other two and easiest to manage, which is critical for a startup without a large DevOps team. As of I know they also provide strong startup credits through their Google for Startups Cloud Program(not sure if they still provide it). Its the most developer-friendly and pricing also quiet transparent

Amazon EKS

AWS has there own container orchestration service like ECS. Unless you specifically need Kubernetes, ECS (especially with Fargate) is recommended in AWS as its simple and faster to setup, tighter aws integration, Lower operational overhead (Fully managed), more cost-efficient for small teams/startups.

In my best of my knowledge, Setting up Amazon EKS is bit more complex and require experienced engineers(managing VPCs, IAM, networking, load balancers, etc.as it requires managing VPC, IAM, and load balancers carefully, which can increase operational complexity as well).

So long story short, requires a steeper learning curve for EKS setup— managing VPCs, IAM, networking, load balancers, etc., Needs knowledge of Kubernetes concepts, often involves building and maintaining CI/CD pipelines, observability stacks, autoscaling rules manually.

Generally AWS recommend EKS only,

  • if you’re migrating existing Kubernetes workloads (like lift-and-shift from on-prem or another cloud).

  • If you are using CNCF tools(Helm, Istio, ArgoCD, etc.)

  • You want multi-cloud portability or hybrid deployments (on-prem + cloud).

  • Your team already has Kubernetes expertise

I don't have much exposure and experience on Azure platform, so I will let others answer on that topic.

Wishing you all the best as you assess your options and choose the platform that works best for your goals. And don’t forget to let us know how it went and which platform you ended up choosing!

79567940
0

Purely on a monetary point of view, AWS wins hands down with providing initial credits. Find a partner organisation and you can get $1000's of free credit for your first two years.

I have done this for a number of startups, as it allows you to concentrate on you product and not worry about the initial hosting costs.