A new remote workflow for PyCharm (and other Jetbrains IDEs)

The recent PyCharm release (2021.3) adds a feature that enables a new kind of remote development workflow. This seems to be similar to what VS Code has been able to do, but since I am using PyCharm, this is exciting. Basically, the new feature allows you to run PyCharm locally and connect it to a “PyCharm server” running remotely. The PyCharm server is a headless version of IntelliJ that you connect to using your local PyCharm (or rather a special version of a locally installed PyCharm IDE, I believe). Note that this is different from the existing workflow were you connect the local debugger to a remote session.

Why is this exciting?

  • instead of having a big, beefy development machine, you can have a nice, small and quite laptop that connects to a beefy server somewhere. AWS currently has EC2 instances with 448 cpu cores and 12 TB (!) of RAM for just about 132 USD per hour. If you can live with 64 cores and a measly 512 GB of RAM, then you pay less than 5 USD per hour. 🤓
  • develop from anywhere without the need to carry your development machine with you – well, as long you have good internet connection that is. So as someone living in Germany, a country with surprisingly bad broadband coverage, this is rather limiting…
  • dockerize your development server and always start with a fresh image, instead of installing dependencies locally and risking installing ransomware or crypto miners along with it

Currently, only Linux is supported as the server, but macOS and Windows are in the works.

Here is good overview from the PyCharm documention of how all the components work together.

See also