Kubernetes vs TeamCity: What are the differences?
Developers describe Kubernetes as "Manage a cluster of Linux containers as a single system to accelerate Dev and simplify Ops". Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions. On the other hand, TeamCity is detailed as "TeamCity is an ultimate Continuous Integration tool for professionals". TeamCity is a user-friendly continuous integration (CI) server for professional developers, build engineers, and DevOps. It is trivial to setup and absolutely free for small teams and open source projects.
Kubernetes and TeamCity are primarily classified as "Container" and "Continuous Integration" tools respectively.
Some of the features offered by Kubernetes are:
- Lightweight, simple and accessible
- Built for a multi-cloud world, public, private or hybrid
- Highly modular, designed so that all of its components are easily swappable
On the other hand, TeamCity provides the following key features:
- Automate code analyzing, compiling, and testing processes, with having instant feedback on build progress, problems, and test failures, all in a simple, intuitive web-interface
- Simplified setup: create projects from just a VCS repository URL
- Run multiple builds and tests under different configurations and platforms simultaneously
"Leading docker container management solution" is the primary reason why developers consider Kubernetes over the competitors, whereas "Easy to configure" was stated as the key factor in picking TeamCity.
Kubernetes is an open source tool with 54.2K GitHub stars and 18.8K GitHub forks. Here's a link to Kubernetes's open source repository on GitHub.
Slack, Shopify, and Starbucks are some of the popular companies that use Kubernetes, whereas TeamCity is used by Stack Exchange, Yammer, and AX Semantics. Kubernetes has a broader approval, being mentioned in 1018 company stacks & 1060 developers stacks; compared to TeamCity, which is listed in 168 company stacks and 51 developer stacks.
What is Kubernetes?
What is TeamCity?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
It's a little bit complex to onboard, but once you grasp all the different concepts the platform is really powerful, and infrastructure stops being an issue.
Service discovery, auto-recovery, scaling and orchestration are just a few of the features you get.
TeamCity is our main continuous integration server. It starts creating builds and running tests based on commits that we make in our hosted bitbucket repositories. From there, we have a set of configuraitons that can deploy the built and tested artifacts (web app, batches, db, etc...) to a stage or production server. We still release manually, but we release often, and TeamCity has nice features to help us roll back when things don't work out as planned.
TeamCity builds then copies to each web tier via a powershell script. The steps for each server are:
- Tell HAProxy to take the server out of rotation via a POST
- Delay to let IIS finish current requests (~5 sec)
- Stop the website (via the same PSSession for all the following)
- Robocopy files
- Start the website
- Re-enable in HAProxy via another POST
Just tinkering with it for personal use at this stage based on positive experience using it at work. Plan to use it for high traffic distributed systems if not using a managed hosting service like Heroku, AWS Lambda, or Google Cloud Functions. Reasons for using instead of these alternatives would be cheaper cost at higher scale.
Good existential question. Kubernetes is painful in the extreme - especially when combined with Ansible. The layers of indirection are truly mind altering. But hey - containers are kewl!
Our developer experience system is on Kubernetes (Google Kubernetes Engine at the moment). We would like to expand our Kubernetes clusters over other Kubernetes engine.
Kubernetes is used for managing microclusters within our AWS infrastructure. This allows us to deploy new infrastructure in seconds.
minor experience with kubernetes. helped a client setup a kubernetes infrastructure. love the elegance of the system.
I'm using a selfhosted TC as Referenceplatform, and use travis with another configuration.