Menu

Executive Programs

Workshops

Projects

Blogs

Careers

Student Reviews



More

Academic Training

Informative Articles

Find Jobs

We are Hiring!


All Courses

Choose a category

Loading...

All Courses

All Courses

logo

Design Patterns for Building Scalable Applications

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

Book a Class, for FREE

RELATED RECENT PLACEMENTS

Parthiban M

Riverstone

SRM TRP Engineering College

Kotesh Mogudala

Tata Autocomp Systems

Anurag University, Hyderabad

Vipin Jiwane

Orena Solutions

Walchand College of Engineering, Sangli

Chandrakumar ADEPU

Selec Control

Ganapathy Engineering College

Jiji M

Adrasti

Sreepathy Institute of Management And Technology (SIMAT)

Durga Prasad Sunnam

Adrasti

Ucet Technical school in Dokiparru, Andhra Pradesh

Pratik Mankar

Adrasti

B R Harne College Of Engineering

MAHATHIR MOHAMED

TATsunoInida Pvt ltd

K.S.K College of Engineering and Technology

Syllabus

This course is full of best-in-class content by leading faculty and industry experts in the form of videos and projects

Course Overview

  • 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

Course Syllabus

On a daily basis we talk to companies in the likes of Tata Elxsi and Mahindra to fine tune our curriculum.

Week 01 - Introduction to Scalable systems

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

Week 02 - Distributed systems

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

Week 03 - Building blocks of scalable architecture

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

Week 04 - Introduction to Design Patterns

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

Week 05 - Design Patterns session 2

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

Week 06 - Architecture Design patterns for building scalable systems

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

Week 07 - Microservices architecture and data management design patterns for scalable microservices

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

Week 08 - Design Patterns for scalable microservices architecture

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

Week 09 - Design patterns for scalable microservices systems

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

Week 10 - Design Patterns Observability and Cross-cutting concerns

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

Week 11 - Case Studies of design/ architecture patterns

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

Week 12 - Case study of scaling a relational database

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

Our courses have been designed by industry experts to help students achieve their dream careers

Industry Projects

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

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 display all events, including commands with new events added into a database/event store, and queries that can help get data from the database/event store. All events are to be displayed in chronological order. The database can be used to leverage the pattern or, students can also store the data structures temporarily to carry out the project functioning. Example: The solved project can be a set of API endpoints that demonstrate the creation of a bank account with events like crediting and debiting taking place. At any point, users should be able to track event activity that takes place in the user logs. At the end of this project, students should deliver a working solution of the mentioned requirements, and an API that can store session data and deliver according to the pattern’s functioning.

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 the name of the song, its ID, lyricist, and singer. Students will have to create 3 individual classes for songs, lyricists, and singers, and use the aggregator pattern to display the HAS-A relationship between song, lyricist, and singer.

Our courses have been designed by industry experts to help students achieve their dream careers

Ratings & Reviews by Learners

Skill-Lync has received honest feedback from our learners around the globe.

Google Rating
4.8

Flexible Pricing

Talk to our career counsellors to get flexible payment options.

Premium

INR 40,000

Inclusive of all charges


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

  • 1 Year Accessto Skill-Lync’s Learning Management System (LMS)

  • Personalized Pageto showcase Projects & Certifications

  • Live Individual & Group Sessionsto resolve queries, Discuss Progress and Study Plans.

  • Personalized & Hands-OnSupport over Mail, Telephone for Query Resolution & Overall Learner Progress.

  • Job-Oriented Industry Relevant Curriculumavailable at your fingertips curated by Global Industry Experts along with Live Sessions.

Instructors profiles

Our courses are designed by leading academicians and experienced industry professionals.

image

1 industry expert

Our instructors are industry experts along with a passion to teach.

image

11 years in the experience range

Instructors with 11 years extensive industry experience.

image

Areas of expertise

  • Software Engineer

Similar Courses

Got more questions?

Talk to our Team Directly

Please fill in your number & an expert from our team will call you shortly.

Please enter a valid number