Я предполагаю, что под облачным агностиком вы подразумеваете независимость от конкретной платформы, на которой вы работаете, такой как GAE, Amazon EC2 или Azure, и вы хотите написать такую, развернуть где угодно.
Теоретически это должно быть возможно, если все облачные провайдеры поддерживают одни и те же языки. Насколько я знаю, GAE поддерживает Python и Java. Amazon EC2 может использовать практически все на самом сервере, а Azure является полностью .net-платформой. Таким образом, фактическая сторона обработки вещей, то есть написание веб-службы очереди и блока (ов) обработки, может быть затруднена.
Другим препятствием является то, что не существует общего унифицированного API для вызова служб облачных вычислений. В любом случае реализации в GAE / Azure / EC2 различны, поэтому все методы, предоставляемые их API, различны, и для этого вашему переднему коду необходимо будет знать, какой тип API он вызывает для управления ресурсами облачных вычислений.
Однако по своей природе веб-сервисы слабо связаны. Это означает, что при условии, что вы попытаетесь абстрагировать элемент управления ресурсами, чтобы вы могли создать экземпляр в любом облаке, которое вам нужно, если этот новый экземпляр является еще одним модулем, обрабатывающим ввод / вычисление веб-службы, и предоставляемая веб-служба такая же в GAE например, в EC2 ничто не мешает двум говорить. Точно так же, если вы используете какую-либо форму веб-службы / протокола между экземплярами, вы все равно должны иметь возможность общаться с другими экземплярами через Интернет на разных вычислительных платформах. Тем не менее, при этом вы предоставите данные своего внутреннего приложения всему миру и тем самым создадите угрозу безопасности.
Я бы согласился с отречением: Java - довольно хороший путь. Существует огромное количество EJB-контейнеров и еще больше серверов веб-служб, таких как Tomcat. Я предполагаю, что EC2 поддерживает это (ну, это определенно так, но работают ли они на Tomcat / Geromino, а не на выпусках IBM, и каковы расходы, я не знаю). GAE звучит ограничено на основе этого поста в блоге - что бы Google ни делал на бэкэнде, они разработали что-то очень странное.