Course

The course is divided into four sections

  • Section 1 - Structural Elements

    • Layers of Application Architecture

    • Important Design Considerations

    • Impact on System Architecture

  • Section 2 - Quality Attributes

    • Performance and Concurrency

    • Scalability and Reliability

    • Security

  • Section 3 - System Operations

    • Deployment

    • Monitoring

  • Section 4 - Building a System

    • Architect and Develop a Software System with features of a large scale system

Section 1 - Structural Elements

  • Web Application Architecture

    • HTTP
    • Session & State Management
    • Vertical & Horizontal Scalability
    • Stateful Vs Stateless
    • Content Management
    • MVC Architecture
    • Javascript Applications & Node.js
    • WebSockets
  • Service Layer Architecture

    • SOAP
    • SOA
    • REST
    • Micro-Services
      • Principles
      • Challenges
      • Patterns
    • Concurrency & Coordination
  • Asynchronous Architecture

    • Data Buffering
    • CQRS
    • Queues Vs Database
    • Event Driven Architecture
    • Streaming Architecture
  • Data Architecture - 1

    • Structured Data Processing
    • Online Transaction Processing
      • RDBMS Architecture
        • Storage
        • Memory
        • Logging
      • Indexing
      • Partitioning
      • Joins
      • Concurrency
      • Locking
      • ACID Transactions
      • Distributed Transactions
  • Data Architecture - 2

    • DataWarehousing Workloads
      • ODS
      • EDW & BI
    • Unstructured Data Processing
      • Big Data Processing
      • Streaming Data Processing
    • NoSQL Databases
      • Types & Use Cases
      • Eventual Consistency
      • Challenges

Section 2 - Quality Attributes

  • Performance

    • Metrics
    • Analysis
    • Profiling
    • Monitoring
    • Java Garbage Collection
    • Caching
    • Concurrency
  • Scalable Architecture

    • Stateless Architecture
    • Functional Partitioning
    • Data Partitioning
    • Load Balancing
    • Distributed Processing
      • Parallel Processing
      • Process Coordination
      • Distributed Transactions
    • Global Scalability
      • Geo DNS
      • CDN
      • Multi-Region
      • Eventual Consistency
  • Availability & Reliability

    • High Availability
    • Replication
      • Master-Slave
      • Peer to Peer
    • Fault Tolerance
    • Backups
    • Disaster Recovery
  • Security

    • Public Key Cryptography
    • Encryption
      • Data at rest
      • Data on wire
    • Authentication/Identity
      • Basic, Certificates, Directory
      • OAuth2
    • Authorization/Access
      • ACL & Resources
      • Securing - Network, Services, DB
    • Single Sign-On
      • JWT, SAML
    • Common Threats
      • XSS, CSRF, DDoS

Section 3 - System Operations

  • Deployment

    • CI & CD
    • Containers & VM
    • A/B Deployment
    • Rolling Upgrades
    • Cloud Deployment
      • IAAS
      • PAAS
      • Kubernetes
      • Serverless
  • Monitoring

    • System Monitoring
    • Metrics
    • Alerts
    • Trace
    • Log Monitoring
      • Aggregation
      • Analytics
    • Error Reporting

Section 4 - Building a System

As we progress through other sections we will architect and build a system that will use multiple technologies to build and operate the system at large scale. We will finally deploy this application on a public cloud like AWS or Google Cloud.

All Sessions
Duration 30 hours
Target Group Technical Architects,  Technical Managers  and   Software Developers

You can have sessions online on weekdays or you can have them on weekends at our location

Option 1  -  Online Sessions
Time Mon to Fri -   8:00 AM to 9:15 AM OR Mon to Fri -   7:30 PM to 8:45 PM
Option 2  -  Classroom Sessions
Time Saturday -   8:00 AM to 12:00 PM & Sunday -   10:00 AM to 12:00 PM