Computer Science · Course

Design Patterns for Building Scalable Applications

A comprehensive industry level course on the Design Patterns for Building Scalable Applications.

Duration
12 weeks
Content
19 hours
Projects
2
Mode
Online
Overview

What you'll
be able to do.

  • This course deals with the distributive nature of systems which is necessary to make the system scale
  • Distributed systems are mostly an outcome of the growing traffic for websites and efficiency required in throughput and response time
  • The course covers all the aspects and lays out design patterns which can be beneficial in different sort of crisis situations pertaining to distributing systems
Tools you'll use
Eclipse IDEMulesoft
Curriculum

12 modules,
built with industry.

  1. 01Design Patterns for Building Scalable Applications12 modules
    1. Introduction to Scalable systemsW01

      In this week, we will understand what is scalability by taking references from the real world businesses and we will also look into the importance of consistency and availability in achieving scalability for such businesses

      • Scalability in a distributed world
      • Scalability
      • Scalability in real world
      • Consistency
      • Availability
    2. Distributed systemsW02

      In this week, we will learn about, distributed systems and its working, we will look into CAP theorem and how these 3 attributes, “consistency, availability and partition tolerance” helps in building a scalable system.

      • Distributed Systems
      • Reasons for building scalable systems
      • Consistency in distributed systems
      • Laws of scalability
      • Laws of scalability review
      • CAP theorem
      • Understanding CAP theorem with an example
      • Understanding the terms of the CAP theorem
      • Understanding CP with MongoDB
      • CAP theorem review
    3. Building blocks of scalable architecture W03

      This week, we will learn about load balancers and how they help to diversify “input requests traffic” and balance these requests among the backend servers. We will also learn about CDN, reverse proxies, message queues and how they help in decoupling an application for better performance.

      • Load balancers
      • Messaging queues
      • Caches
      • Reverse proxies
      • CDN
      • NoSQL databases
      • Embedded databases
      • Cloud
      • Language features
      • Frameworks
      • Design rules derived from design principles
    4. Introduction to Design Patterns W04

      Design patterns help in solving distributed world challenges. This week, we will look into the software design patterns and their major categories.

      • What are design patterns?
      • Uses of design patterns
      • State of art design patterns
      • The Google Pregel Graph processing project and the Hama project
      • Design patterns in detail
      • Load balancer
      • Scatter and gather
      • Result cache
      • Shared space
      • Pipe and filter
      • Map reduce
      • Bulk synchronous parallel
      • Execution orchestrator
      • Project
    5. Design Patterns session 2W05

      This week, we will focus on scaling out in a shared-nothing architecture and how it is a highly decoupled architecture. We will also look into sharding, master-slave architecture and how it can be used in case of a parallel distributed system and connection pool uses.

      • Shared-nothing architecture
      • Horizontal vs vertical scaling
      • Example for shared-nothing architecture
      • Database sharding
      • Master slave database
      • Connection pooling
      • Near real-time synchronization of data
    6. Architecture Design patterns for building scalable systemsW06

      In this week, we will be introduced to microservices patterns and will get an understanding about

      • Design and architectural patterns
      • Publisher/Subscriber pattern
      • Advantages of Pub/Sub pattern
      • Bottlenecks of Pub/Sub pattern
      • Scheduler-Agent-Supervisor
      • Priority Queue pattern
      • Cache-Aside pattern
      • Queue-Based Load Levelling pattern
      • Throttling pattern
    7. Microservices architecture and data management design patterns for scalable microservicesW07

      This week, we will deep dive into microservices architecture methods and how it is a better alternative monolithic architecture. Further we will look into, data management patterns like database per service, CQRS and event sourcing and its uses, benefits and examples.

      • Microservices architecture
      • Best practices for Microservices
      • Data management design patterns for scalable microservices
      • Database per service pattern
      • Event Sourcing pattern
      • Command Query Responsibility
      • Segregation (CQRS) pattern
    8. Design Patterns for scalable microservices architectureW08

      In this week, as the title suggests we will look into various patterns in microservices architecture and learn the uniqueness, uses and benefits of each pattern. By the end of this week, you will have a clear idea on which patterns to use according to the business requirement and set up.

      • Saga pattern
      • Backend for frontend
      • API gateway
      • Strangler pattern
      • Circuit breaker pattern
      • Externalized configuration
      • Consumer driven contract testing
    9. Design patterns for scalable microservices systemsW09

      In this week, we will revisit the patterns that we leant previously and learn a few more patterns like decomposition and integration patterns and its types. We will be able to get a new perspective on the microservices patterns used with respect to the business capabilities.

      • Revisiting design patterns for microservices
      • Decomposition patterns
      • Integration Patterns
    10. Design Patterns Observability and Cross-cutting concernsW10

      In this week, we will look into more patterns like observability and cross-cutting concern patterns and its types and uses to scale a system. We will design an alternative or similar relational database using the patterns and understand the different types of distributed tracing patterns.

      • Observability patterns
      • Log aggregation pattern
      • Distributed tracing pattern
      • Health check pattern
      • Cross-cutting concern patterns
      • External configuration pattern
      • Service Discovery pattern
      • Blue green deployment pattern
    11. Case Studies of design/ architecture patternsW11

      We will look into the usages of design patterns in leading organizations like ThoughtWorks and understand their working principle. We will also learn about the usage of design patterns in music corp events and we will learn how to build service integration.

      • State of the art-design patterns usage in leading organizations
      • Scaling microservices event stream at Thoughtworks
      • Thoughtworks: Service orchestration
      • Thoughtworks: Service choreography with event stream
      • Understanding the music corp event
      • Customer creation: Publishing the event
      • Email service: Subscribing the event
      • Scaling the microservices with all the challenges and bottlenecks in mind
      • Building services integration
      • Uber’s distributed tracing infrastructure
      • Uber: quest for the perfect tracing tool
      • Using the existing methodologies to advantage
      • TChannel generated traces
      • Scalability best practices from ebay
    12. Case study of scaling a relational databaseW12

      In the last section of the course, we will be looking into a case study, we will be able to think in real time and hence provide real time solutions using the patterns and systems that we learnt in this course.

      • Case study
      • Popular patterns to scale a system
      • Revision of some commonly used patterns
Industry projects

2 projects
you'll ship.

Our projects are designed by experts in the industry to reflect industry standards. By working through our projects, Learners will gain a practical understanding of what they will take on at a larger-scale in the industry. In total, there are 2 Projects that are available in this program.

 Event Sourcing in Design Patterns

Event Sourcing in Design Patterns

Students are required to create a project that shows a combination of command and query responsibility segregation (CQRS) and event sourcing design patterns. The project should dis…

Aggregator Pattern

Aggregator Pattern

Students are required to develop a website/portal, where users can create a list of their favorite songs and display them on the homepage. For each song, the portal should display …

Fee

One fee.
Everything included.

Become job ready with our comprehensive industry focused curriculum for freshers & early career professionals

Premium
₹40,000
Inclusive of all charges
  • 1 Year Access
  • Personalized Page
  • Live Individual & Group Sessions
  • Personalized & Hands-On
  • Job-Oriented Industry Relevant Curriculum
Check eligibility →
Next step

Not sure it's
the right fit?

A counsellor will walk you through the syllabus, projects and fee options — and tell you honestly if another course suits you better.

Get the syllabus + a call back

We'll email the full syllabus and call within one working day.

By submitting you agree to our Terms and Privacy Policy.

Call usEnquire
Talk to a career counsellor

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.