Sela

Architecture

Description
The Architecture course focuses on advanced principles, patterns, and practices for designing, building, and managing modern large-scale software architecture. The course explores architectural styles, communication models, cloud-based approaches, and data-driven systems prevalent in contemporary distributed environments. Emphasis is placed on architectural decision-making, scalability, security, performance, and maintenance, while introducing industry-standard technologies, frameworks, and workflows. The goal is to provide students with a holistic architectural perspective aligned with real-world software engineering challenges.
Intended audience
Backend/Full-Stack Developers Senior Developers Tech Leads DevOps Engineers

Topics

Monolithic vs. Microservices architectures
Introduction to Serverless architecture
Event-driven and reactive architecture patterns
API-First design principles and best practices
API Gateway - purpose and architecture
RESTful API standards and SOA principles
OpenAPI Specification (Swagger) and supporting tools
API-First design approach
Definitions and core characteristics
Latency vs. throughput considerations
Trade-offs and decision criteria
Designing communication flows using both patterns
Webhooks
Callbacks
Message Queue concepts and practices
RabbitMQ as a message broker
Fundamentals
KSQL
Kafka Streams (kStreams)
Streams (kStreams)
Containerization
Containerization concepts with Docker
Docker Compose and multi-container applications
Introduction to Kubernetes
Advanced topics:
Orchestration
Monitoring
Security
Big Data concepts and NoSQL databases
ETL vs. ELT - selecting the appropriate approach
Batch vs. Streaming data processing:
Apache Spark
Apache Flink
Apache Beam
Data Mesh and decentralized data architectures
Cloud adoption strategies: Public, Private, Hybrid, Multi-Cloud
Cloud-native development principles
Cost optimization and management
Kubernetes orchestration strategies
Serverless computing for scalability and efficiency
Key UML Diagrams:
Use Case Diagrams - user interactions and system behavior
Class Diagrams - structure, attributes, relationships
Sequence Diagrams - interaction flow over time
Activity Diagrams - workflows and business processes
Introduction to system modeling
Role of UML in software design
Security fundamentals in modern distributed systems
Authentication vs. Authorization
Single Sign-On (SSO) - Concept and benefits of centralized authentication
OAuth 2.0 - Access tokens vs. refresh tokens
OAuth roles: Resource Owner, Client, Authorization Server, Resource Server
JSON Web Tokens (JWT) - Structure: Header, Payload, Signature
Automation concepts and benefits
Common automation use cases in modern software projects
Appendix: CI/CD & Engineering Productivity (Basic)
CI/CD fundamentals and best practices
Scaling pipelines for fast and reliable releases
GitOps principles
Infrastructure as Code (IaC)
Automation in build and deployment processes

רוצה לדבר עם יועץ?

האם אתה בטוח שאתה רוצה לסגור את הטופס ולאבד את כל השינויים?