I think a lot of us are dealing with this right now. Here's what I and some of my colleagues are doing.
Open book exams: As a lot of people are saying, there's no practical way to police students' use of outside resources, so don't. Write the exam with the expectation that they are using notes and possibly even Google, and let them know that. You don't want to disadvantage students who think they're being honest!
Interpretive questions: Google is great for facts, but lousy for providing interpretation. As a math instructor, one of my major concerns was the existence of software like Symbolab and Wolfram Alpha that can do most calculations. But there's no software in existence that can solve a decently well-written word problem, or that can explain what particular features of a graph mean in context.
Class-specific questions: One of my colleagues, a history instructor, has the problem that the topics involved in the exam are sufficiently well-studied that interpretations are actually freely available online, and a reasonably clever student would be able to paraphrase well enough to avoid detection. What he's planning to do is to ask the students to relate the topic to the class itself, asking the students to reference in-class discussions in their answers. Because Google has no way to know what was discussed in class, this is pretty robust against cheating.
Image recognition: Google does have reverse-image-search functionality, but it isn't very effective if you made the image yourself. As a result, asking a question that requires students to understand an image can be useful; in my exam, I asked students to supply a function that matched a given graph. It's worth noting that, since images are largely incompatible with screen readers, you might have to be conscious of any disabilities among your students.
Time: If a time limit is important, have the exam available for only slightly longer than that time slot. My exam was two hours long, and I had it available for three hours. That limited the ability for students to communicate questions to each other, and it also allowed some flexibility for students running into technical problems. Personally, if possible, I recommend just writing an untimed exam, written with the expectation that students might be communicating with each other.
Justification: Most students do a very poor job of explaining reasoning that isn't their own -- use that. If an exam problem requires students to justify their answer, it's that much harder for them to get answers from one another.