Software Architecture & Technology of Large-Scale Systems

Learn Architecting Software Systems with High Performance, Scalability, Availability, Security using Modern Technologies

Tổng quan khóa học

Architecting software systems is a skill that is in huge demand, but it is not a readily available skill. To understand why this skill is rare to find, let's go through a few lines from Martin Fowler's blog on architecture.

He says: Architecture is about the important stuff. Whatever that is. It means that the heart of thinking architecturally about software is to decide what is important, (i.e. what is architectural), and then expend energy on keeping those architectural elements in good condition. For a developer to become an architect, they need to be able to recognize what elements are important, recognizing what elements are likely to result in serious problems should they not be controlled.

It takes a number of years for a developer to learn enough to become an architect. This learning largely depends on the kind of opportunities that you get in your career. Often these opportunities are limited to specific areas of work only.  However, to be an architect, you must possess extensive technical knowledge of as many areas as possible. You must understand all the complexities and challenges in different parts of a system. You need the ability to make upfront decisions by understanding various trade-offs. You should be able to foresee or anticipate critical problems that a system can face during its evolution.

This is where the 'Developer To Architect' course can be very useful for you. It assumes that you already have great development skills, and it builds from there. It extensively covers architecting non-functional properties of a system, handling of large-scale deployments, and internal working of popular open-source products for building software solutions.

To give you some details of what is specifically covered:

  • Architecting non-functional properties like Performance, Scalability, Reliability, Security. 

  • Large-scale deployment and operations using Docker containers and Kubernetes.

  • Internal working of popular open-source products like Node.js, Redis, Kafka, Cassandra, ELK stack, Hadoop, etc for confidently architecting software solutions.

In short, this course will help you learn everything you need to become a 'true' architect in a very short period of time.

Xem thêm

Câu hỏi thường gặp

Khu vực Câu hỏi thường gặp trống

Chương trình khóa học

Yêu cầu

  • You are, or have been a good programmer, you can do code design, and write code in at least one programming language

  • You understand three tier architecture, and you broadly understand what web apps, services, and databases means

Kết quả

  • Architecting Software Systems and Solutions: We will start with a basic three tier application architecture which we will enhance as we move along.

  • How to build a technical stack by getting architectural insights into products like Nodejs, Redis, Cassandra, Kafka, Hadoop, Elastic Search, .. and many more

  • Non-Functional Requirements: How to design architecture considering Performance, Scalability, Reliability, and Security

  • Deployment of large scale production systems using tools like Docker & Kubernetes

Giảng viên

...
Nguyễn Đình Cường

1.0

  • ... 0 Học viên
  • ... 105 Khóa học
  • ... 1252 Đánh giá

Xin chào các bạn, tôi là Nguyễn Đình Cường, một lập trình viên và giảng viên đam mê công nghệ với hơn 15 năm kinh nghiệm trong ngành công nghiệp phần mềm. Tôi tốt nghiệp từ Bưu Chính Viễn Thông và đã từng làm việc cho một số công ty công nghệ hàng đầu như FPT Software và VinGroup. Với chuyên môn chính là phát triển ứng dụng web, tôi đã làm việc với nhiều công nghệ như HTML, CSS, JavaScript, React cho front-end và Node.js, Express, MongoDB cho back-end. Không chỉ dừng lại ở việc viết mã, tôi còn yêu thích tìm hiểu sâu về thiết kế hệ thống và kiến trúc phần mềm. Tôi tin rằng quá trình học lập trình không chỉ đơn thuần là lý thuyết, mà còn là sự trải nghiệm thực tế và giải quyết vấn đề. Trong các khóa học của mình, tôi cố gắng cung cấp cho học viên những bài giảng thú vị và dễ hiểu, cùng với các bài tập thực hành giúp củng cố kiến thức. Tôi hy vọng rằng qua các khóa học của mình, bạn sẽ không chỉ học được cách viết mã, mà còn phát triển tư duy lập trình và kỹ năng giải quyết vấn đề. Hãy cùng nhau khám phá thế giới lập trình và biến ý tưởng của bạn thành hiện thực! Nếu bạn có bất kỳ câu hỏi nào, đừng ngần ngại liên hệ với tôi. Tôi rất vui được hỗ trợ bạn trong hành trình học tập của mình!

Xem chi tiết

Đánh giá

Đánh giá khóa học này:

Xóa tất cả