Cloud migration patterns: a multi-cloud service architecture perspective
design patterns : elements of reusable object - oriented software .