MP4 | Video: h264, 1280×720 | Audio: AAC, 44.1 KHz, 2 Ch
Genre: eLearning | Language: English + srt | Duration: 81 lectures (11h 33m) | Size: 4.65 GB
Hands-On Evolution of Software Solution Architecture of a Large-Scale System using Codebase of a Mini-System
What you’ll learn
Understand through code, the architectural challenges of developing large-scale systems – Scalability, Reliability, Deployment, Observability
Code implementation of various tools and technologies used for making large-scale systems – Redis, RabbitMQ, Netflix, Fluentd, Elasticsearch, Kubernetes & more
Downloadable code along with configuration, scripts and instructions to run a mini system on your laptop and on a cloud environment
A practical demonstration of how systems are scaled and operated on both On-Premises environment and in Cloud environments
Requirements
You know programming very well in any programming language. Although the code provided is mainly in Java and Python, but this course is really about architecture and programming language agnostic development concepts.
Although the course has detailed instructions, a basic knowledge of Linux commands will be helpful for exploring the system on your own.
If you decide to deploy the system on Cloud, you may incur charges according to your duration of usage.
Description
This course is the next in the series of Developer to Architect courses. The previous course ‘Software Architecture & Technology of Large-Scale Systems’ was focused on the concepts and principles of software architecture that govern modern large-scale systems.
This course ‘Hands-On Implementation of Large-Scale Software Architecture’, is focused on implementing those software and solution architecture principles in a mock large-scale system (mini system or simply minisys) by using open source technologies.
It starts with a downloadable code base of a mini system. We evolve this mini system into a full-fledged large-scale system implementation as we move along with the course. Our goal is to learn the typical architectural challenges that are faced by any large-scale system and solve these challenges using modern tools, technologies, and methods.
You can learn about these challenges and their solutions by actually working on a live system. For the same, you can download a mini system code-base provided by NewTechWays on Bitbucket or Github. You can follow the instructions to download, build and run this codebase. Although the instructions and code automation is platform-agnostic, this course will make use of Google Cloud Platform using a Linux machine as our test environment for building and running the system. Later we will put our system in a Production kind of environment using Kubernetes on Google Cloud Platform.
As we move along with this course we will cover the following architectural challenges and use the following technologies as their solutions
3 Tier Application
Webapp – Python Django
RESTful Service – Java Spring Boot
Database – PostgreSQL & Cassandra
SPA – ReactJS
Containerization of System
Docker Containers
Docker Compose
Request Routing in Distributed System
Discovery – Netflix Eureka
Gateway – Netflix Zuul
Client-Side Load Balancer – Ribbon
Server-Side Load Balancer – Nginx
System Observability
Logging – Elasticsearch, Fluent, Kibana
Tracing – Jaeger
Monitoring & Alerts – Prometheus
Large-scale Data Management
Caching – Redis
Asynchronous Processing – RabbitMQ
Horizontal Data Partitioning – Cassandra
Production Deployment
Cloud Deployment – Kubernetes on GCP
Auto-scaling – Kubernetes
High Availability – Kubernetes
Rolling Upgrades – Kubernetes
Who this course is for
Developers and Architects who want to learn the fine details of architecting large-scale systems
Password/解压密码www.tbtos.com
转载请注明:0daytown » Implementing Software Architecture of a Large-Scale System