As I know integration with Hadoop, Spark, Kafka, ElasticSearch and any tool which uses JVM is not a piece of cake. The same situation with Python (especially with projects and tools, which uses 2.7 version) to port someone's code to IronPython and back (if I want to share my changes with other people) is not a piece of cake as well. I'm not talking about Scala, Haskell, and Erlang. Sometimes the only option to integrate with them - design endpoint(-s) with declared API (which could be also a head pain as well). If you were me how would you try to resolve integration issues for each case?