- Introduction to Developer To Architect
Software Architecture & Technology of Large-Scale Systems
Learn about leveraging advanced technologies to architect software systems that offer high performance, scalability, ...Read more
Online
₹ 499 3499
Quick Facts
particular | details | |||
---|---|---|---|---|
Medium of instructions
English
|
Mode of learning
Self study
|
Mode of Delivery
Video and Text Based
|
Course overview
In Software Architecture & Technology of Large-Scale Systems revealing a system's structure while concealing certain operational details. Similar to software engineering, architecture concentrates on relationships and how the pieces and components communicate with one another. Anurag Yadav, a Professional Cloud Architect at NewTechWays, designed the Software Architecture & Technology of Large-Scale Systems certification course, which is offered through Udemy.
Software Architecture & Technology of Large-Scale Systems online training provides more than 25.5 hours of video-based sessions along with 7 downloadable resources and 6 articles which help the individuals in acquiring the knowledge of technology and methodologies associated with software architecture and solution architecture to become software architects. Software Architecture & Technology of Large-Scale Systems online classes discuss topics like system deployment, and architecture design as well as explain the techniques to work with tools like Kubernetes, Docker, Cassandra, Elastic Search, Hadoop, Nodejs, Kafka, and Redis.
The highlights
- Certificate of completion
- Self-paced course
- 25.5 hours of pre-recorded video content
- 6 articles
- 7 downloadable resources
Program offerings
- Online course
- Learning resources.
- 30-day money-back guarantee
- Unlimited access
- Accessible on mobile devices and tv
Course and certificate fees
Fees information
certificate availability
Yes
certificate providing authority
Udemy
Who it is for
What you will learn
After completing the Software Architecture & Technology of Large-Scale Systems online certification, individuals will develop an understanding of the concepts of software architecture and software technologies for software development operations. Individuals will explore the strategies involved with software systems, software solutions, and architecture design as well as will acquire knowledge of the system deployment. Individuals will learn about the functionalities of tools and programs like Docker, Kubernetes, Redis, Cassandra, Nodejs, Kafka, Hadoop, and Elastic Search. Individuals will also learn about strategies involved in analyzing the performance, scalability, reliability, and security of software systems.
The syllabus
Introduction
Performance
- Module contents overview
- A reference software system for discussing performance
- What is performance
- How do performance problems look like
- Performance principles
- System performance objectives
- Performance measurement metrics
- Serial request latency
- Network transfer latency
- Minimizing network transfer latency
- Memory access latency
- Minimizing memory access latency
- Disk access latency
- Minimizing disk access latency
- CPU processing latency
- Minimizing CPU processing latency
- Some common latency costs
- Concurrency related latency
- Amdahl's law for concurrent tasks
- Gunther's universal scalability law
- Shared resource contention
- Minimizing shared resource contention
- Minimizing locking related contention
- Pessimistic Locking
- Optimistic Locking
- Compare and swap mechanism
- Deadlocks
- Coherence related delays
- Caching
- System architecture for performance
- Caching for performance
- HTTP Caching of static data
- Caching of dynamic data
- Caching related challenges
- Summary
- Performance presentation slides
Scalability
- Module contents overview
- Performance vs Scalability
- Vertical & Horizontal scalability
- Reverse proxy
- A reference software system for discussing scalability
- Scalability principles
- Modularity for scalability
- Replication
- Stateful replication in web applications
- Stateless replication in web applications
- Stateless replication of services
- Database replication
- Database replication types
- Need for specialized services
- Specialized services - SOAP/REST
- Asynchronous services
- Asynchronous processing & scalability
- Caching for scalability
- Vertical partitioning with micro-services
- Database partitioning
- Database partitioning selection
- Routing with database partitioning
- Methods for horizontal scalability
- Dealing with large scale systems
- Load balancing multiple instances
- Discovery service and load balancing
- Load balancer discovery
- HLB vs SLB
- Layer-7 load balancers
- DNS as load balancer
- Global server load balancing
- Global data replication
- Auto scaling instances
- Micro-Services Architecture
- Micro-Services Motivation
- Service Oriented Architecture
- Micro-Services Architecture Style
- Transactions in Micro-Services
- Compensating Transactions - SAGA Pattern
- Micro-services communication model
- Event driven transactions
- Extreme scalability with NoSQL and Kafka
- Summary
- Scalability presentation slides
Reliability
- Module contents overview
- Failures in large scale distributed systems
- Partial system failures
- Reliability engineering topics
- Reliability
- Availability
- High Availability
- Fault Tolerance
- Designing Fault Tolerance
- Fault tolerant design
- Redundancy
- Types of redundancy
- Single point of failures
- Stateless component redundancy
- Stateful component redundancy
- Load balancer redundancy
- Datacentre infrastructure as SPOF
- Creating datacenter redundancy
- Fault detection
- Fault models
- Health checks
- External monitoring service
- Internal cluster monitoring
- Fault detection in a system
- Recovering from failures
- Stateless component recovery
- Stateful Failovers
- Load Balancer high availability
- Database recovery with hot standby
- Database recovery with warm standby
- Database recovery with cold backups
- High Availability in large scale systems
- Failover best practices
- System stability
- Timeouts
- Retries
- Circuit Breaker
- Fail Fast and Shed Load
- Summary
- Reliability presentation slides
Security
- Module contents overview
- Security objectives
- Network security
- Symmetric key encryption
- Public key encryption
- Secure network protocol
- SSL and TLS
- Hashing
- Digital signatures
- Digital certificates
- Chain of trust
- TLS/SSL handshake
- Secure network channel
- Firewalls
- Network security
- Identity management
- Authentication and authorization
- Authentication
- Credentials transfer
- Credentials verification
- Stateful authentication
- Stateless authentication
- Single Sign-On
- Access management
- Role based access control model
- Role based access example
- Authorization
- OAuth2 token grant
- OAuth2 token grant - Code Flow
- OAuth2 token grant - Password Flow
- OAuth2 in a system
- OAuth2 token types
- Json Web Tokens
- Token storage
- Securing data at rest
- Securing a Software System
- Common vulnerabilities
- SQL Injection
- Cross Site Scripting
- Cross Site Resource Forgery
- Summary
- Security presentation slides
Deployment
- Module contents overview
- Large scale deployment challenges
- Application deployment
- Infrastructure deployment
- System operations
- Modern deployment solutions
- Application deployment
- Component deployment
- Component deployment automation
- Deployment with Virtual Machines
- Isolation through virtual machines
- Deployment with Containers
- Docker containers
- Infrastructure deployment
- Infrastructure requirements
- Provisioning and configuration
- Deployment with containers on Cloud
- Deployment with AWS cloud stack
- Deployment with Kubernetes
- Kubernetes lifecycle management
- Kubernetes naming and addressing
- Kubernetes scaling with multiple instances
- Kubernetes load balacing
- Kubernetes high availability
- Kubernetes rolling upgrades
- Kubernetes capabilities
- Kubernetes deployment
- Kubernetes services and workloads
- Kubernetes architecture
- System upgrades
- Rolling updates
- Canary deployment
- Recreate deployment
- Blue Green deployment
- A/B testing
- Summary
- Deployment presentation slides
Technology Stack
- Module contents overview
- Reference system for using tech platforms
- Web applications
- Solutions for web applications
- Apache web server
- Apache webServer architecture
- Apache webserver scalability
- Nginx webserver
- Nginx architecture
- Nginx as reverse proxy and cache
- Web containers & spring framework
- Jetty & Spring
- Node.JS
- Node.JS event loop
- Cloud Solutions for web
- Cloud storage
- Cloud CDN
- Services
- Services solutions
- Memcached
- Memcached Architecture
- Redis Cache & its architecture
- Cloud caching solutions
- RabbitMQ
- RabbitMQ architecture
- Kafaka architecture
- Redis Pub/Sub
- Cloud MQ solutions
- Datastores
- Datastore solutions
- RDBMS
- RDBMS scalability architecture
- NoSQL objectives & trade-offs
- Amazon DynamoDB
- DynamoDB architecture
- Google BigTable
- BigTable architecture
- HBase
- Cassandra
- Cassandra features
- MongoDB
- MongoDB architecture
- Analytics
- Analytics solutions
- Logstash architecture
- Logstash data streaming architecture
- Fluentd
- Elasticsearch
- Elasticsearch architecture
- Hadoop HDFS
- Map-Reduce
- Apache Spark
- Stream processing
- Summary
- Technology Stack presentation slides