Main Software Architecture Systems

DevOps Concepts

Cem Sakarya

DevOps Risk Advisor

Software architecture

 

Software architecture refers to the fundamental structures of a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements and relations.

Architectural Drawing

1 https://en.wikipedia.org/wiki/Software_architecture
DevOps Concepts

Application Programming Interfaces (APIs)

 

Application Programming Interfaces

  • Data flows through APIs
  • They are essential for software and architecture
DevOps Concepts

Various architectural systems

Factors to consider

  • Type of software
  • In machine or in the browser
  • Complexity of the software
  • Simpler software parts can be treated as a single unit
  • Separate the pieces for more complex software
DevOps Concepts

Microservices

A big cube and a group of smaller cubes symbolizing microservices.

  • Most important architectural system for complex software
  • Common in modern organizations
  • Rather than a big single unit, have many smaller independent units
  • Smaller units are called the microservices
  • They communicate to each other via APIs
DevOps Concepts

Customer interacts with the app asking for the available hotel and car option.

DevOps Concepts

  App on customer's phone asks to the backend for available booking options.

DevOps Concepts

  Microservice Hotels and Microservice Rental Cars provides the information back to the app on customers phone.

DevOps Concepts

DevOps for microservices architecture

Microservice Hotels is upgraded from version one to version two while the other microservices remain unchanged.

DevOps Concepts

Benefits of DevOps for microservices

  • Software is changed constantly in large organizations
  • Change them one at a time
  • Microservices are more secure and reliable
  • If anything goes bad with one microservice, the rest will still function well
DevOps Concepts

Let's practice!

DevOps Concepts

Preparing Video For Download...