Cities are relatively easy to defend because they demand units that can usually not be used in open land. The best defending units are Soldiers/Trenches (5), blimps to keep the planes away and the peasant army (8), which you only will get if an rebellion occurs in the area. The units that can succesfully attack a city are primarely taskforces (8), Zeppelins (6), soldiers (3) and airplanes** (10).