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 2 years ago.
Improve this question
We have a product that each device will report data to our server every minute, we've sold 10K and it'll be more than 100K within the next 2 years.
Now, we just use AWS EC2(8 CPUs) + Nginx + Koa2, there're 8 instances, according to the requirement increasing, it won't be appropriate anymore.
So, I'm confused about which one should I choose?
BTW, I've been using AWS Lambda for 2 years to develop IOT issues and I used Docker 5 years ago, I think all of these three ways can solve my issue.
Kubernetes is a great tool if you are not sure how your application is going to scale out. Using Amazon's Kubernetes engine or GCP equivalent Kubernetes engine can help you create and manage these clusters with click of few buttons and manage your application containers using Kubernetes's superior container orchestration framework.
Docker swarm , IMO , has lost to kubernetes because they did not seem to have jumped into this part of architecture soon enough and kubernetes has already created a very mature framework with great adoption in many production environments and lot of community support for any issues related to it.
Another advantage of using an Orchestration mechanism instead of AWS native services would be that you do not get into Vendor lock-in situations and you can move your stack to any other cloud platform hosting Kubernetes easily.
If you are also interested in continue to use your Serverless architecture , you might want to look at Open FAAS which can be leverage on top of your Kubernetes framework. Check this link for more details.
Related
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
Requirement: Cost optimization on Cloud resources
Current Scenario: I am having multiple applications that have their own infrastructure on consists of App Service, MySQL database, function, etc.
Considering these applications will be used by a few people.
My thinking is:
Containerizing all these web applications' servers
1. Use a VM to deploy all the servers
2. Use a Container Instanceto deploy all the servers
3. Use Kubernetes Services to deploy all the servers
Questions: Which approach would be preferable and so that I can expose different IP of servers and map it to its own domain.
For Database,
Apart from using Elastic Pool,
I have no idea how to optimize these databases
I would be glad to have any suggestions thanks.
AKS would be the way to host everything on the same platform and cut costs, but at the same time you'd need to maintain everything you host in AKS.
Elastic Pools do not work for MySQL (only Azure SQL). But you can host MySQL in AKS. To replace functions in AKS you can use KEDA. You'd be able to use host based routing (preferably) or IP based routing to expose your services
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 5 years ago.
Improve this question
I was going through Puppet and comparing it with Docker.
I came to know that Puppet is used for configuration management for scalable infrastructure. New VM's setup can be done with same configuration easily etc.
Seems that Docker is also capable of all these though in a different way.
Is docker replacing the configuration management tools like puppet, chef etc?
Please help me to understand.
Thanks in advance.
Unsure of if this question belongs here or not, but never the less, here is some source material that probable explains it better than me: http://cloudify.co/2014/10/30/Docker-cloud-orchestration-configuration-management.html
Docker operates in a different manner than Chef or Puppet. Docker is (with limited exceptions) a static system. Chef et. al. are dynamic in nature. If you seek to change a fleet of Docker provisioned services you would create a new Docker container, push it out and blow away your old ones.
Chef et. al. instead check frequently for state changes and when they occur they pull those changes down and converge. This leaves room for having parts of the server automated and some not (if its a difficult to manage portion, for instance, or for emergency repairs).
Of the two Docker is the stronger model in my opinion but even then you should have some well defined CM to create your docker images, such as serverless Chef, Ansible or other.
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 have a several instances of my application, like dev stand, test stand, demo stand and several production stands. My application is a cluster of microservices, packaged in docker container and managed by docker-compose. I need an ability to conveniently deploy some versions of application to several stands.
My question is: What tools should i pick for this feature? Ideally i want to have web interface which has one button “Deploy” for one stand and an input field for a version of my application.
We use Teamcity for building applications, and we can use it for continuous delivery, but i am looking for a more convenient and specialized tool.
We're using Octopus Deploy in our CI process for deployments (releases created by TeamCity) and we're really happy with this tool.
Although I'm not much into container/Docker things, but i saw that recently Octopus has implemented some features for Docker deployments so you could check that maybe. ;)
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 6 years ago.
Improve this question
I'm new to docker. I just installed it and I have a question about this , it could be duplicated but I can't found a solution by searching all the forums.
Why it's better to use juste one service (apache, PHP, Mysql...) inside one container?
Because the whole point of Docker is to encapsulate a service within a single image, that you then clone to make instances of. You can clone multiple instances and trivially scale out an application - but it's rare that you need to clone every element of the application like that. It's much more useful to be able to widen your web tier, or your database tier separately.
But the major reason is - a container is an instance of an image. If you update your application, you need to build a new image. It's considerably more useful to be able to rebuild and restart subcomponents of the application, for all the reasons it's a nuisance to have to update your server to 'update'.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I'm searching for a main difference between OpenShift V3 and V2.
Is OpenShift V2 working like this?: https://www.openshift.com/walkthrough/how-it-works
And how are Docker and Kubernetes working in V3?
Can someone give me a clear explanation about the build-up of OpenShift V2 and V3
This is a rather broadly asked question, so I will (and can) answer only in a rather broad manner.
There are a lot of key concepts that have changed. These are the most important ones and you'll need some time to get into it, but they are a big improvement to OpenShift v2.:
Cartridges vs. Docker Containers
Gears vs. Kubernetes Pods
Broker vs. Kubernetes Master
Release of Red Hat Enterprise Linux Atomic
Host
When you'll study the links below you will understand, that (really exaggerated) OpenShift v3 has basically nothing to do with v2 besides the name, the logo and the PaaS focus. But it's still a great tool and IMO has set new standards in the PaaS-world. (No, I don't work for RedHat ;)
What's New:
https://docs.openshift.com/enterprise/3.0/whats_new/overview.html
https://docs.openshift.com/enterprise/3.0/architecture/overview.html
For starters; Docker & Kubernetes:
https://blog.openshift.com/openshift-v3-platform-combines-docker-kubernetes-atomic-and-more/
Pretty new:
Creating a Kubernetes Cluster to Run Docker Formatted Container Images
EDIT 2016_06_30:
Sorry for necro'ing this old post, but I wanted to add this quick, fun and very informative video about Kubernetes: https://youtu.be/4ht22ReBjno