Mô tả

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.

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.

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.

So what are you waiting for? :)

Let's get started!


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 by 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.

Bạn sẽ học được gì

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

Yêu cầu

  • Basic knowledge of programming and software engineering

Nội dung khoá học

10 sections

Introduction

2 lectures
Introduction to Software Architecture
10:30
Download the Course Workbook
01:56

System Requirements & Architectural Drivers

8 lectures
Introduction to System Design & Architectural Drivers
09:49
Introduction to System Design & Requirement Types - Quiz
4 questions
Feature Requirements - Step by Step Process
08:03
Feature Requirements Gathering Process - Quiz
2 questions
System Quality Attributes Requirements
09:14
Quality Attribute Requirements - Quiz
2 questions
System Constraints in Software Architecture
10:11
System Constraints - Quiz
3 questions

Most Important Quality Attributes in Large Scale Systems

9 lectures
Performance
12:44
Performance - Quiz
3 questions
Scalability
14:14
Scalability - Quiz
4 questions
Availability - Introduction & Measurement
09:10
Availability - Quiz
3 questions
Fault Tolerance & High Availability
10:01
SLA, SLO, SLI
10:04
Real World SLA Examples from the Industry
00:06

API Design

6 lectures
Introduction to API Design for Software Architects
12:12
API Design - Quiz
3 questions
RPC
10:59
Popular RPC Frameworks and Technologies
00:44
REST API
16:17
REST API - Quiz
3 questions

Large Scale Systems Architectural Building Blocks

9 lectures
DNS, Load Balancing & GSLB
15:10
Load Balancing Solutions & Cloud Technologies
01:50
Message Brokers
10:21
Message Brokers Solutions & Cloud Technologies
00:46
API Gateway
13:18
API Gateway Solutions & Cloud Technologies
00:33
Content Delivery Network - CDN
13:15
CDN Solutions & Cloud Technologies
00:38
Software Architecture Building Blocks - Quiz
5 questions

Data Storage at Global Scale

10 lectures
Relational Databases & ACID Transactions
14:37
ACID Transactions
3 questions
Non-Relational Databases
10:09
Non-Relational Databases - Solutions
00:02
Techniques to Improve Performance, Availability & Scalability Of Databases
11:57
Techniques to Improve Performance, Availability & Scalability Of Databases-Quiz
3 questions
Brewer’s (CAP) Theorem
11:59
CAP Theorem - Quiz
3 questions
Scalable Unstructured Data Storage
15:17
Scalable Unstructured Data Storage - Cloud and Open Source Solutions
00:45

Software Architecture Patterns and Styles

7 lectures
Introduction to Software Architecture Patterns & Styles
05:07
Multi-Tier Architecture
12:50
Multi-Tier Architecture - Quiz
4 questions
Microservices Architecture
12:32
Microservices Architecture - Quiz
4 questions
Event Driven Architecture
16:47
Event-Driven Architecture - Quiz
4 questions

Big Data Architecture Patterns

3 lectures
Introduction to Big Data
06:58
Big Data Processing Strategies
12:37
Lambda Architecture
13:31

Software Architecture & System Design Practice

6 lectures
Design a Highly Scalable Discussion Forum 1 - Requirements & API
13:39
Design a Highly Scalable Discussion Forum 2 - Functional Architecture Diagram
10:39
Design a Highly Scalable Discussion Forum 3 - Final Software Architecture
12:35
Design an E-Commerce Marketplace Platform 1 - Requirements & Sequence Diagram
13:46
Design an E-Commerce Marketplace Platform 2 - Functional Diagram
15:26
Design an E-Commerce Marketplace Platform 3 - Final Software Architecture
08:53

Bonus Section

1 lectures
Bonus Lecture - Keep Learning
00:27

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.