Software Architecture & Design of Modern Large Scale Systems

6h 57m 25s
English
Paid

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. If you aspire to become a Software Architect, or you are already a Software Architect and you need a good refresher, this is your best resource. This is also the perfect place for you to prepare and gain confidence for an upcoming System Design Interview.

Read more about the course

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

  • Thinking and making trade-offs like a true professional Software Architect

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

FAQ

Do I need to be a Software Architect to take this course?

Absolutely not! A Software Architect is just a title. In fact, many companies don't give this official title to anyone. Most Software Architecture and System Design is done by trusted engineers within the organization. To get this trust from your managers, you need to demonstrate a solid knowledge of Software Architecture and System Design. This is exactly what you will learn in this course.

What is the importance of Software Architecture, and why do I need to learn it?

Modern software development of large-scale systems is very complex. Typically it involves many months of work of multiple software engineers. Just like no one would attempt to build a skyscraper without a solid plan and architecture, it is inconceivable to take on a big software project without proper design and an approved Software Architecture. If the Software Architecture of a system is done poorly the project will likely fail. However, if the software architecture is done correctly, it can have an enormous positive impact on many lives and help your organization grow and thrive.

Is there any coding involved in the course?

No. Software Architecture is part of the design phase of a large-scale system. Coding is done only when the Software Architecture is finalized. It definitely takes a certain mental leap to realize that coding is only a small part of software engineering. And if the Software Architecture and the design is done correctly, the coding task and everything that comes after it can be very easy and straightforward. On the other hand, if the Software Architecture is not done correctly, the implementation phase can become a big challenge.

Should any Software Engineer aspire to become a Software Architect?

Yes and No. As you gain more experience you will be expected to do more Software Architecture and Design. A role of a Senior Software Engineer in most organizations requires Software Architecture skills, even if your role does not have the "Software Architect" in it. Additionally, even if you want to keep coding, your code will always have to take the overall Software Architecture into account. Otherwise it will not be as effective. However if you do decide to pursue the role of a Software Architect,  you will be rewarded with greater responsibly and impact, which generally comes with higher job satisfaction, job security and higher pay.

Watch Online Software Architecture & Design of Modern Large Scale Systems

Join premium to watch
Go to premium
# Title Duration
1 Introduction to Software Architecture 10:31
2 Download the Course Workbook 01:57
3 Introduction to System Design & Architectural Drivers 09:50
4 Feature Requirements - Step by Step Process 08:04
5 System Quality Attributes Requirements 09:15
6 System Constraints in Software Architecture 10:13
7 Performance 12:45
8 Scalability 14:15
9 Availability - Introduction & Measurement 09:11
10 Fault Tolerance & High Availability 10:02
11 SLA, SLO, SLI 10:05
12 Introduction to API Design for Software Architects 12:13
13 RPC 11:00
14 REST API 16:18
15 DNS, Load Balancing & GSLB 15:11
16 Message Brokers 10:22
17 API Gateway 13:19
18 Content Delivery Network - CDN 13:16
19 Relational Databases & ACID Transactions 14:38
20 Non-Relational Databases 10:10
21 Techniques to Improve Performance, Availability & Scalability Of Databases 11:58
22 Brewer’s (CAP) Theorem 12:00
23 Scalable Unstructured Data Storage 15:18
24 Introduction to Software Architecture Patterns & Styles 05:08
25 Multi-Tier Architecture 12:51
26 Microservices Architecture 12:33
27 Event Driven Architecture 16:48
28 Introduction to Big Data 06:59
29 Big Data Processing Strategies 12:38
30 Lambda Architecture 13:32
31 Design a Highly Scalable Discussion Forum 1 - Requirements & API 13:40
32 Design a Highly Scalable Discussion Forum 2 - Functional Architecture Diagram 10:40
33 Design a Highly Scalable Discussion Forum 3 - Final Software Architecture 12:36
34 Design an E-Commerce Marketplace Platform 1 - Requirements & Sequence Diagram 13:47
35 Design an E-Commerce Marketplace Platform 2 - Functional Diagram 15:28
36 Design an E-Commerce Marketplace Platform 3 - Final Software Architecture 08:54

Similar courses to Software Architecture & Design of Modern Large Scale Systems

Create a Retirement Planning Tool with Excel

Create a Retirement Planning Tool with Excelzerotomastery.io

Category: Others
Duration 2 hours 51 minutes 33 seconds
Python Data Analysis & Visualization Masterclass

Python Data Analysis & Visualization Masterclassudemy

Category: Preparing for an interview, Python
Duration 20 hours 17 minutes 23 seconds
Reprogram Your Subconscious

Reprogram Your SubconsciousProdigies University

Category: Others
Duration 1 hour 18 minutes 21 seconds
Pragmatic System Design

Pragmatic System Designudemy

Category: Preparing for an interview
Duration 4 hours 28 minutes 50 seconds
Object-Oriented Programming

Object-Oriented Programmingprogrammingexpert.io

Category: Others, Python
Duration 4 hours 36 minutes 7 seconds
Enhanced Freelancing with AI

Enhanced Freelancing with AIzerotomastery.io

Category: Others
Duration 46 minutes 29 seconds
50 Frontend Interview Questions

50 Frontend Interview Questionsalgoexpert

Category: Preparing for an interview
Duration 12 hours 37 minutes 17 seconds
The Software Designer Mindset (COMPLETE)

The Software Designer Mindset (COMPLETE)ArjanCodes

Category: Others, Python
Duration 14 hours 32 minutes 58 seconds
Introduction to Networking

Introduction to Networkingzerotomastery.io

Category: Others
Duration 1 hour 49 minutes 15 seconds
The Complete Foundation Stock Trading Course

The Complete Foundation Stock Trading Courseudemy

Category: Others
Duration 9 hours 29 minutes 35 seconds