The architecture and design considerations of software can make and break projects. Some of the resources I have found below have been useful in understanding the basic concepts.

Mooc on Coursera

  1. Software Design and Architecture Specialization: An excellent collection of courses by Ken Wong with easy assignments that help you grasp the fundamentals well. Highly recommend it as an excellent introductory MOCC course on Software Design Principles and architectures.

Useful reads

  1. Martin Fowlers Blog is an ocean of Knowledge for developers, and most of it can be accessed for free. The Blog entries on Microservices co-authored Sam Newman and James Lewis is a good quick get started guide.

  2. Common Architectural Patterns: A good summary of most commonly used architectural patterns in the industry.

Getting Started Quickly with Microservices

  1. Nameko is an excellent free and open-source python framework for building Microservices. Very easy to install and get started with lots of examples and detailed documentation.