What is our primary use case?
We use Tailscale because we work for so many companies and each company has their own way of allowing their employees to connect to their infrastructure. We use Tailscale primarily for this purpose. For example, if there are Kubernetes clusters and engineers need to connect to the cluster to run their local applications against it, they connect using Tailscale. Additionally, we sometimes establish connections between on-premises and cloud environments. The first case involves ensuring that clients' employees have access to resources such as Kubernetes clusters, and the second case involves making connections between on-premises and cloud infrastructure, which makes it easier to connect.
Let me give you a quick simple example of how I've used Tailscale for one of my clients. One of our clients wanted their engineers to be able to connect to the cluster internally instead of going through the public internet. We introduced them to Tailscale and set up the tailnet in Tailscale. The tailnet in Tailscale enabled us to install a Tailscale operator on each cluster. For instance, if our client has ten clusters, we install the Tailscale operator to expose the subnet router of each environment to the tailnet. Users can connect to the tailnet, and since the subnet router is already exposed to the tailnet, they can have access to their clusters through the subnet routers that are already exposed to the tailnet. This is how they can connect to the Kubernetes cluster. The reason is because we don't want users to connect through the public internet, and in the setup of the Kubernetes cluster, we only allowed one or two specific VPN connections. The only way we can allow employees to connect is through the tailnet. We installed a Tailscale subnet router on each cluster, which exposed the cluster VPC and networks in the tailnet. When employees connect to the tailnet, since the subnet router is already exposed to the tailnet, they can connect through the tailnet.
There is another scenario where clients are trying to access their on-premises data to the cloud. Instead of using a cloud VPN, which would be a headache and could cost a lot, we decided to use Headscale. Headscale is similar to Tailscale because Tailscale is the enterprise version while Headscale is the open source alternative. We set up Tailscale for them on-premises and on the cloud. We set up a Tailscale tailnet on the cloud, and we set up a subnet router on-premises and another subnet router on the cloud. Both subnet routers will connect to the tailnet on the cloud and expose their VPCs. The one on the cloud will expose its VPC to the tailnet and the one on-premises will expose its VPCs to the tailnet. Machines on-premises can connect to machines on the cloud through the tailnet connection. The machine in the tailnet that is on-premises serves as a subnet router, and the one on the cloud also serves as a subnet router that routes traffic from the cloud to the tailnet, while the one on-premises serves as a subnet router that routes traffic from the on-premises to the tailnet.
When a connection needs to be established, for example from the cloud to the on-premises, we create a routing policy that says if you want to talk to a specific IP which is on on-premises, go through the subnet router. The same thing applies with the on-premises as well. If you want to talk to a specific IP on the cloud, go through the on-premises subnet router. This way, it connects to the tailnet which has exposure of the cloud IPs, and the connection is made.
What is most valuable?
I would say one of the best features Tailscale offers is the ACL, the Access Control List. Tailscale has positively impacted my organization very well. We don't have any VPN issues or VPN connection issues typically, and we don't really maintain them. We just make sure the tailnet is available. Tailscale has really helped in terms of security because users can be in another part of the world. Instead of them connecting to the company environment through the local network there, they can switch on their Tailscale and once they switch on their Tailscale, they don't have to connect over their internet; they just go through Tailscale to access company infrastructures. In terms of security, it is very good.
What needs improvement?
I would say that in terms of Tailscale, if I have so many tailnets I need to connect to, there are some issues in the login process that need a little bit of attention from the Tailscale team. Sometimes, you would probably need to restart your entire system for it to connect. As a DevOps as a Service engineer, I have so many clients that are using Tailscale, and I would need to connect to maybe five different tailnets because they are different clients. Client A might have a Tailscale, Client B, Client C, and so on. When changing between tailnets, sometimes it hangs. Sometimes you might need to restart your entire system. This is a bit of a headache in that aspect. However, I believe if you are just using a particular tailnet, just one, then it is quite easy and there won't be any headache. For me, I think it can be improved in the aspect of having multiple tailnets to connect to. A good refresh on the Tailscale side and the backend side to refresh the connection anytime there is a new connection to be made would be helpful. Instead of needing to restart the system, it should be able to refresh itself. The connection side and connecting to multiple Tailscale instances can be problematic, and sometimes you have to restart your system when switching between them.
The ACL sometimes is like another language on its own entirely. It is fine, but they need to make it in a YAML format instead of the current format because it is quite new and something you have to go and study. If they can make it like a YAML format, that would be better.
Aside from the switching which I mentioned and the fact that you have to relearn their ACL, if the ACL could be in a YAML format instead of JSON format, that would be beneficial. I don't think there is much they can do about the switching of tailnets, but if they can have a YAML format of the ACL, that would be good. Every other thing is a ten out of ten. The connection-wise is easy to set up and easy to install. It is good to have things connected all together from on-premises, from so many environments, and even exit nodes as well. It is good overall.
The pricing, I think Tailscale can be a little bit on the higher side. It is not for teams with just small users. If you want to set it up for small users and a small startup, I don't think you can afford it and might need to go to other open-source alternatives. It is good for teams that have maybe fifty plus users or one hundred users. In terms of pricing, I would say it is on the higher side, but it is worth it. The price is worth the functionality. As a user, I would say it is more on the higher side, but based on its functionality, it is worth the price.
For how long have I used the solution?
I have been using Tailscale since I joined CloudKites, which is almost three years now. I would say three years.
What do I think about the stability of the solution?
Tailscale is very stable. I haven't had any issues with it, and it has always been stable. It is good.
Tailscale is a SaaS platform, so Tailscale scales it themselves. This is why, as I said earlier, I don't have any issues with stability, as it scales on their end. However, if I am installing a subnet router, scaling it is also easy. You probably just need only one pod or one node to expose your VPC or your network to the tailnet. In terms of scalability, there is no issue there. It is a ten out of ten.
How are customer service and support?
Tailscale customer support is cool, but we miss the human interaction. The support is all right.
Tailscale customer support is very good. They always want to help every time. I would give it a ten out of ten.
Which solution did I use previously and why did I switch?
Previously, we have used a cloud VPN. I think it can be a little stressful, especially if you have so many environments to maintain. It is not combined into one. If you have ten clusters, you have to maintain them individually. There is no single interface where you can manage all ten cloud VPNs; you have to be managing them separately.
As I mentioned, we have explored cloud VPN. There is another one I have heard about which is NordLayer. I haven't tried it, but I think it is just purely a VPN. It is not something that you can use to expose subnet routers, exit nodes, and other features that Tailscale offers. I think it is just a pure VPN. Personally, cloud VPN is the only one we have explored, but it does not have enough capabilities compared to Tailscale.
What was our ROI?
I think Tailscale has shown a return on investment in terms of time saved because it is a SaaS platform. It provides time savings instead of maintaining a VPN. You just make sure you have a Tailscale account, then you install the subnet router or exit node on any of the environments you want to use it on. You just set them up and you should be good.
What other advice do I have?
I would tell others looking into using Tailscale to go ahead if they can evaluate their infrastructure setup or how they want employees to access that infrastructure, and if they have their finances for it, then sure, you can go. Tailscale is a very good product for companies and teams generally, particularly for infrastructure, DevOps teams, and developer teams. It is very good for them. They should go ahead and use Tailscale. However, if money is going to be an issue, they can look into open-source products. However, with open-source products, you still have to maintain the infrastructure on how you set up the tailnet. Aside from that, go ahead with Tailscale if you don't want to manage the infrastructure of your entire tailnet. Just use the normal Tailscale product.
Personally, I don't really have much other improvement to suggest. It is cool the way it is. Aside from the two things I mentioned regarding ACL format and multiple tailnet switching, Tailscale should be solid.
I don't have much else for Tailscale. I just think it is a good product for people to use, especially if they want to make sure the connectivity is secured, and if you want to establish connections in many ways that are possible. Overall, I give Tailscale a rating of eight out of ten.
Which deployment model are you using for this solution?
Hybrid Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Google