Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I am trying to finally choose between Spring Cloud Netflix, Kubernetes and Swarm for building our microservices environment. They are all very cool and do some choice is very hard.
I'll describe a little which kind of problems I want to solve.
I couldn't find any best way to design Api Gateway (not a simple load balancer) with Kubernetes or Swarm , that's why I want to use Zuul. But from other side Api Gateway must use service discovery which in case of Kubernetes or Swarm will be embedded inside the orchestra. With Kubernetes I can use it's spring cloud integration, but this way I will have server side discovery and client side discovery inside Kubernetes. Which is overkill I think.
I am wondering does anyone have some experience with them and any suggestions about that.
Thanks.
Kubernetes and Docker Swarm are container orchestration tools.
Spring Cloud is a collection of tools to build microservices/streaming architectures.
There is a bit of overlap, like service discovery, gateway or configuration services. But you could use Spring Cloud without containers and deploy the jars yourself without needing Kuberentes or Swarm.
So you'll have to choose between Kubernetes and Swarm for the orchestration of your containers, if you'll use containers.
Comparison: https://dzone.com/articles/deploying-microservices-spring-cloud-vs-kubernetes
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 days ago.
Improve this question
I want to explore options for development pocess (web api + worker services) having on mind deployment to Azure Container Apps.
In particular, I am wondering, is there any reason for running containers on developers machine or should apps be ran and unit tested locally without containers and then use containers only from ci/cd pipeline?
In that case, integration tests should also be performed in ci/cd pipeline only.
Whats also important is that different devs in a team can have different machines (windows, macos, linux) and we want to have unified dev process for all.
What is a typical development flow?
This is mostly opinion based and how well debugging works for your specific stack. For example, I work with blazor web assembly and most of the time I debug in containers, because my application is hosted in podman, however if I am investigating an client side issue containers are not convenient because debugging does not working properly.
With containers you are is close as shipping your dev machine to the cloud as possible.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 3 years ago.
Improve this question
I understand from official Docs Anthos is built on Kubernetes/Istio/Knative but where does Anthos fits in Google cloud platform.
Can it act as configuration manager for application auto-deployment, provisioning etc ?
Does it provide support for language specific build on the fly?
With Anthos you can basically manage multiple Kubernetes clusters from multiple Clouds (Amazon, Google, Azure) and on-prem. It can help you maintain a hybrid environment and move in a predictable way or partially your infrastructure from on-prem to cloud.
You can use Anthos Config Management to create a common configuration for your clusters. You can use ClusterSelectors to apply configurations to subsets of clusters.
Configuration can include Istio service mesh, pod security policies, or quota policies.
From a security perspective, you can manage your policies using Anthos Policy Controller, enforcing PodSecurityPolicies, with the advantage of testing constraints before enforcing them.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 3 years ago.
Improve this question
I've searched the internet but I haven't found clear answers.
Kops is for production grade clusters and is vendor agnostic and I get that, but compared to Eksctl what are the differences ?
Also most of the articles are found are year+ old and with the speed the K8s ecosystem moves it might be outdated.
eksctl is specifically meant to bootstrap clusters using Amazon's managed Kubernetes service (EKS). With EKS, Amazon will take responsibility for managing your Kubernetes Master Nodes (at an additional cost).
kops is a Kubernetes Installer. It will install kubernetes on any type of node (e.g. an amazon ec2 instance, local virtual machine). But you will be responsible for maintaining the master nodes (and the complexity that comes with that).
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
I'm trying to decide between using Kubernetes vs AWS ECS. From what I have seen Kubernetes seems to have more broader adoption although the learning curve is a bit high. The only comparison I saw was AWS-ECS vs Kubernetes which is a bit old. I would appreciate any feedback on this.
Disclaimer: this answer is fully opinionated, so take it with care! :)
BTW you're asking yourself the wrong question: is your business needed to manage a non-fully managed Kubernetes cluster?
If not and you need some Kubernetes functionalities, it's wise to think to adopt a fully managed Kubernetes offer like EKS, AKS and so on according to your required IaaS. This will let you use Kubernetes superpowers without any (SIC) vendor lockin instead of any other CaaS solution like Elastic Container Service.
But if you just need some functionalities (like container autoscaling), probably you have to follow the IaaS vendor solutions: everything depends upon your needs and your business and no further details have been provided, so this discussion would be not so impartial.
UPDATE: upon your latest comment, definitely I would suggest you go fully Kubernetes for a number of reasons.
it's a FOSS project, with strong community and committed to delivering new technologies vendor/provider agnostic
it's backed by CNCF, a branch of the Linux Foundation
Kubernetes allows you to not bind to a vendor-specific solution, making an eventual migration painless
Simplifying local development environment for developers, just using Minikube or K3s of Kubernetes for Docker: no more pain on handling multiple Docker Compose files that differ from production setup.
Adopt the true, cloud-native approach of application development and delivering (but this doesn't mean your legacy applications cannot run on Kubernetes, despite the opposite!)
I saw a presentation some time ago of a company that based their infrastructure on ECS. One of the conclusions was that things would have been easier if they had used Kubernetes (e.g. with EKS).
The main reason is that the community and tooling around Kubernetes is much bigger than around ECS. You can just find much more tools, talents, custom solutions, books, conferences, and other resources about Kubernetes than about ECS. This makes your life in the end easier when you start implementing things.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I'd like to offer my customers a click-to-install/click-to-activate option to let them get their Magento/Custom Webapp online without manual installation based on my server configuration templates/custom virtual appliances. I know this could be done by certain scripts, but what I want is a web solution, preferably written in PHP.
I found standingcloud.com provides exactly what I want but with additional monthly charge comparable to the server cost. It's also not convenient to push customized web applications into customer console.
Is there any similar open source deployment automation & management system supporting amazon ec2/rackspace/linode and multiple custom web applications?
There are a lot of open source IaaS products for data centers or hosting companies building cloud infrastructures.
But I didn't get any clue of similar open source PaaS products for ISVs or service providers building development platforms.
SaaS is good enough for some clients. But many customers only want managed open source web applications hosted on their selected servers to avoid vendor lock-in. That's kind of "private saas".
Any suggestion?
Thank you for sharing.
ComodIT (http://comodit.com) has a feature enabling you to add a one-click deployment button directly on your site. They also provide a free cloud platform for your users to test your application. I do not know of any open source equivalent, but if all you need is a free service that enable your users to easily deploy your application with your configurations, this should do the trick.
Here is what the integration looks like on one of my open source projects: http://storytlr.org/
Disclosure: I'm co-founder and software architect of ComodIT
There's a good comparison of PaaS offerings here: Looking for PaaS providers recommendations
Disclaimer: I work for Gigaspaces, developer of the Cloudify open source PaaS.
Cloudify is developed with Java but allows you to run any native process you want, and supports multiple clouds. There is an apache httpd recipe available here:
https://github.com/CloudifySource/cloudify-recipes/tree/master/services/apache
You can use the Cloudify CLI or REST API to deploy applications.