There are no easy decisions in software architecture. Instead, there are many hard parts--difficult problems or issues with no best …