High-Performance Application Design | | Architecture and Design

High-Performance Application Design
Since software developers often have to deal with problems of designing high-load systems to support big data processing with preset requirements to the response time and amount of data, this training will be useful not only for architects but also for project managers and senior developers.
24 hours
Online
English
ARC-008
High-Performance Application Design
Sign Up
Duration
24 hours
Location
Online
Language
English
Code
ARC-008
Schedule and prices
€ 650
Training for 7-8 or more people? Customize trainings for your specific needs
High-Performance Application Design
Sign Up
Duration
24 hours
Location
Online
Language
English
Code
ARC-008
Schedule and prices
€ 650
Training for 7-8 or more people? Customize trainings for your specific needs

Description

Even before starting to design any software system you should realize that it may at any time become a high-performance system due to certain constrains.When developing a high-performance application, one must determine what parameters will define the system’s high performance.

This training describes the differences between high-performance, high-load, and high-availability systems. The goal of the course is to outline the main concepts, principles, and approaches that are used in designing high-performance systems.

You may often hear a phrase like “It must work fast!”. But this is not a specification requirement and you have to learn how to deal with and analyze performance requirements the right way.

The training includes exercises and examples related to application performance losses, and then outlines the main methods of achieving the required performance. The subjects discussed during the training also tackle use case examples of patterns that are used in designing software systems with high performance requirements and information about the core antipatterns that may affect a system’s performance.

Special attention is paid to preparing the system for testing and analyzing the test results. We take participants through the process of creating a program and the various methods of testing high-load systems and the system’s load model. We also include an overview of methodologies that enable a quantitative assessment of the system’s performance.

Since software developers often have to deal with problems of designing high-load systems to support big data processing with preset requirements to the response time and amount of data, this training will be useful not only for architects but also for project managers and senior developers.
After completing the course, a certificate
is issued on the Luxoft Training form

Objectives

  • Identifying a system’s performance parameters
  • How to analyze system specifications related to the load on the system
  • Planning the process of high-performance system development
  • Designing systems by using optimal methods to ensure the required performance
  • How to interact with the test team in carrying out load tests
  • How to optimize systems with high performance requirements
  • Using the SPE methodology to ensure the system’s performance at the development stage

Target Audience

  • Architects
  • Designers
  • Analysts
  • Project managers
  • Team leads
  • Senior developers

Prerequisites

Required:
  • Knowledge and ability to use UML
  • Basic knowledge of object-oriented design
Desirable:
  • Knowledge of Java language
  • Basic knowledge of PC architecture
  • Basic knowledge of data network architecture
  • Knowledge of GOF patterns

Roadmap

  • The notion of a High-Performance System

    • High-Performance application, High-Load application, High-Availability application.
    • Application performance management
    • The cost of errors in the identification and occurrence stage
  • Major performance parameters

    a:2:{s:4:"TEXT";s:113:"
    • Main parameters describing the system’s performance
    • System performance model
    ";s:4:"TYPE";s:4:"HTML";}
  • Specification analysis for high-performance systems

    • Identifying non-functional requirements for high-performance systems
    • Handling inconsistencies while identifying performance requirements
    • Completeness of requirements
    • Practice
    • Requirements analysis for inconsistency and completeness
  • High-performance system design

    • System quality attributes
    • Main reasons for system performance loss
    • Key methods to improve system performance
    • Practice
    • Part 1: Building an object sorting algorithm with the use of parallel sorting. Analyzing the algorithm
    • Part 2: Quantitative assessment of database access using indices. Analyzing the dependence of access time on the key length and number of database entries
  • High-performance system patterns

    • Main types of patterns used to build high-performance systems (GRASP, Architecture patterns, Application Integration patterns)
    • Use case examples of patterns in up-to-date standards
    • Use case examples of patterns in up-to-date integration systems of development frameworks
    • Practice
    • Application performance optimization for sequential processing of a large amount of data
  • High-performance system coding

    • Main issues of high-performance system coding
    • Optimization methods for modern compilers and runtime environments
  • Testing high-performance systems

    a:2:{s:4:"TEXT";s:192:"
    • Types of tests used to prove the system’s performance
    • Preparing to test (creating scenarios and building a load model)
    • Analyzing test results
    ";s:4:"TYPE";s:4:"HTML";}
  • Performance optimization for applications

    • System performance optimization
    • Ways to optimize performance of complex distributed systems
    • Performance optimization and improving the stability of Java applications
    • Improving database performance
  • SPE methodology

    • Introduction to the SPE methodology: history, usage limits
    • System performance model
    • Using a system performance model for the analysis of modern systems
    • Using SPE in system development
    • System analysis methodology using SPE
    • Practice
    • Building a test system performance model
  • Show Entire Program
Schedule and prices
View:
Register for the next course
Registering in advance ensures you have priority. Well notify you when we schedule the next course on this topic
+
Courses you may be interested in
Software Architecture Methodology
The course introduces the main concepts and context of software architecture. You will learn about practices such as essential requirements identification, design, documentation and analysis – a general all-around methodology not bound to a specific technological base or area of expertise.
Patterns of Enterprise Application Architecture
This is a training course on corporate application development. The course contains a detailed description of specific typical solutions. Each solution contains information on the application and basic aspects of implementation.
Risk Management
This course is designed to give project managers the necessary knowledge and skills to manage risks by offering them a precise understanding of the subject and best practices in software development projects.
PM-007
20 hours
Sign Up
View Catalog
Your benefits
Expertise
Our trainers are industry experts, involved in software development project
Live training
Facilitated online so that you can interact with the trainer and other participants
Practice
A focus on helping you practice your new skills
Still have questions?
Connect with us
Thank you!
The form has been submitted successfully.