Software Architecture & Design of Modern Large Scale Systems

Software Architecture & Design of Modern Large Scale Systems
Software Architecture & Design of Modern Large Scale Systems

Software Architecture & Design of Modern Large Scale Systems

Master Software Architecture, System Design & Big Data Processing. Become a Software Architect or Technical Lead

Are you ready to take your career to the next level? Do you want to master Software Architecture and System Design? You came to the right place! In this practical course, you will learn how to architect real-life systems, that scale to millions of daily users, as well as process and store petabytes of data. This is also the perfect place for you to prepare and gain confidence for an upcoming System Design Interview.

Some of the things you will learn include:
– Identifying the technical requirements of the systems without missing any details
– Defining easy to use and robust APIs
– Applying modern Architectural Building Blocks & techniques for High Scalability, Availability, and Performance
– Following industry-proven Software Architecture Patterns & best practices
– Architecting highly scalable systems for massive internet traffic and Big Data Processing

By the end of the course, you will have all the skills you need to take on an ambiguous and high-level requirement and go through all the stages of a system design, all the way to its final Software Architecture. Although this course does not involve coding, it is a highly practical course that will give you the fundamental knowledge for building real-world systems. All the techniques and patterns covered in the course are used by top software companies.

In addition to the video lectures, you will also find many resources, related to the topics covered in the course. Quizzes that will help you validate your progress and review the course material. External links to relevant articles and videos to enhance your learning experience

This course is perfect for you if:
You want to master Software Architecture, a topic that is not usually taught in colleges or coding bootcamps. You want to become a Software Architect or a senior member of technical staff, such as a Senior / Principal Software Engineer or Technical Lead. You are preparing for a System Design Interview and want to increase your chances for success, as well as stand out from the crowd of candidates

What you’ll learn?
  • Software Architecture of large scale systems, capable of handling millions of requests/day
  • Design highly scalable, highly available and performant software systems
  • Apply industry proven software architectural patterns, building blocks and best practices
  • Define the system’s technical requirements, high level components and API
  • Gain confidence for an upcoming System Design Interview
Requirements:
  • Basic knowledge of programming and software engineering
Course content
1. Introduction
—————
2. System Requirements – Architectural Drivers
1. Introduction to System Design – Architectural Direct Drivers
—————
2. Feature Requirements – Step by Step Process
—————
3. System Quality Attributes Requirements
—————
4. System Constraints
—————
3. Most Important Quality Attributes in Large Scale Systems
1. Performance
—————
2. Scalability
—————
3. Availability – Introduction – Measurement
—————
4. Fault Tolerance – High Availability
—————
5. SLA, SLO, SLI
—————
4. API Design
1. Introduction to API Design
—————
2. RPC
—————
3. REST API
—————
5. Large Scale Systems Architectural Building Blocks
1. DNS, Load Balancing – GSLB
—————
3. Message Brokers
—————
5. API Gateway
—————
7. Content Delivery Network
—————
6. Data Storage at Global Scale
1. Relational Databases _ ACID Transactions
—————
3. Non-Relational Databases
—————
5. Techniques to Improve Performance, Availability – Scalability Of Databases
—————
7. Brewer’s (CAP) Theorem
—————
7. Software Architecture Patterns
1. Introduction to Software Architectural Patterns
—————
2. Multi-Tier Architecture
—————
3. Microservices Architecture
—————
4. Event Driven Architecture
—————
5. Introduction to Big Data

Source: https://www.udemy.com/course/software-architecture-design-of-modern-large-scale-systems/