A hands-on approach to Software Solution Architecture of large-scale systems using modern methods & open source products