Pull to refresh
115
Rating

System Analysis and Design

Analyze and project

Show first
  • New
  • Top
Rating limit
  • All
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

REST or Events? Choose the right communication style for your microservices

System Analysis and DesignIT InfrastructureMicroservices

Microservices Architecture is a well-known pattern for building a complex system that consists of loosely coupled modules. It provides better scalability, and it is easier to develop a system in multiple teams so that they don’t interfere with each other too much. However, it is important to choose the right way of communication between the services. Otherwise, this kind of architecture can do more harm than good.

Read more
Total votes 1: ↑0 and ↓1-1
Views1.3K
Comments 0

Architecting Architecture: Makers and Takers

System Analysis and DesignProduct ManagementSystems engineering
Translation

The step has been made. Not sure where to, but for sure from the point of no return. Keep calm and keep walking. It is about a time to look around and understand the smelly and slippery route before you. And what are those noisy creatures swarming around our fishy “innovative” design we called Mandelbrot blueprint. You don't get a buzzing-noise like that, just buzzing and buzzing, without its meaning something.

Read more
Total votes 4: ↑4 and ↓0+4
Views888
Comments 1

Architecting Architecture

System Analysis and DesignProject managementSystems engineering
Translation

Architect. This word sounds so mysterious. So mysterious that to understand it you almost forced to add something. Like “System Architect” or “Program Architect”. Such addition does not make clearer, but for sure adds weight to the title. Now you know – that’s some serious guy! I prefer to make undoubtful and around 10 year ago added to my email signature “Enterprise Architect of Information Systems”. It’s a powerful perk. Like “Chosen One”. With architects it is always a matter of naming, you know. Maybe that is why the only way to become and architect is to be named as one by others. Like with vampires. One of them has to byte you! That is probably the easiest way to earn the title as there is no degree or school to grant you one. And if there’s a troubling title, somebody’s making a trouble, and the only reason for making a trouble that I know of is because you’re an Enterprise. Huge old and complex multinational corporation. Like a one-legged pirate. Strong and scary, but not a good runner. You own your ship, you had good days, you have some gold, you need new ways.

To get to new treasures and avoid losing second leg to piranha regulators and local business shark swarming waters near every enterprise ship – every pirate has a map. Map is a list of major features and requirements in desired order and priority.

Read more
Total votes 2: ↑2 and ↓0+2
Views1.2K
Comments 1

Tarantool: an analyst's view

Mail.ru Group corporate blogSystem Analysis and DesignDatabase AdministrationInternet marketingTarantool
Hi all! I'm Andrey Kapustin. I work as a system analyst at Mail.ru Group. Our products form a unified ecosystem. Many independent infrastructures generate data in it: taxi and food delivery services, email services, social networks, etc. The faster and more precise we can predict a client's needs, the sooner and more correctly we can offer our products. 

Many system analysts and engineers are keen to know: 

  1. How to design the architecture of a trigger platform for real-time marketing?
  2. How to arrange a data structure that would be in line with the requirements of a marketing strategy for interacting with clients?
  3. How to ensure the stable operations of the  system under very heavy workloads? 

Such systems are based on technologies of high-load processing and Big Data analysis. We have accumulated considerable experience in these areas. Our expertise is in high demand on the market.  I'm going to show how we help our customers to switch from off-line to on-line in their interactions with clients using Real-Time Marketing solutions based on Tarantool.
Read more →
Total votes 26: ↑26 and ↓0+26
Views904
Comments 0

How to make integration with 50 suppliers and not get crazy

System Analysis and Design
Translation
There are many supplier types. Some suppliers ready to get your data format, another — don't; some use SOAP protocol, another — REST; some uses EAN for goods identification — another uses offer ID; some ready to give you order status, another — don't, some uses vocabulary, witch elements you need to map with your’ s master data, another — don't. Simply put — suppliers are extremely different.

However, we need to automate the data exchange. Now is the 21st century. In perfect world we need to found the B2B conference for suppliers and them customers (in auto part market in my case) and develop one data exchange format and be happy. Unfortunately, we live in imperfect world.
Read more →
Rating0
Views424
Comments 0

Making a Tarantool-Based Investment Business Core for Alfa-Bank

Mail.ru Group corporate blogHigh performanceSystem Analysis and DesignDatabase AdministrationTarantool

A still from «Our Secret Universe: The Hidden Life of the Cell»

Investment business is one of the most complex domains in the banking world. It's about not just credits, loans, and deposits — there are also securities, currencies, commodities, derivatives, and all kinds of complex stuff like structured products.

Recently, people have become increasingly aware of their finances. More and more get involved in securities trading. Individual investment accounts have emerged not so long ago. They allow you to trade in securities and get tax credits or avoid taxes at the same time. All clients coming to us want to manage their portfolios and see their reporting on-line. Most frequently, these are multi-product portfolios, which means that people are clients of different business areas.

Moreover, the demands of regulators, both Russian and international, also grow.

To meet the current needs and lay a foundation for future upgrades, we've developed our Tarantool-based investment business core.
Read more →
Total votes 14: ↑14 and ↓0+14
Views951
Comments 0

Reliable load testing with regards to unexpected nuances

Miro corporate blogIT systems testingSystem Analysis and DesignWeb services testingProduct Management
We thought about building the infrastructure for large load tests a year ago when we reached the mark of 12,000 simultaneously active online users. In three months, we made the first version of the test, which showed us the limits of the service.

The irony is that simultaneously with the launch of the test, we reached the limits on the production server, resulting in two-hour service downtime. This further encouraged us to move from making occasional tests to establishing an effective load testing infrastructure. By infrastructure, I mean all tools for working with load testing: tools for launching the test (manual and automatic), the cluster that creates the load, a production-like cluster, metrics and reporting services, scaling services, and the code to manage it all.

image

Simplified, this is what our structure looks like: a collection of different servers that somehow interact with each other, each server performing specific tasks. It seemed that to build the load testing infrastructure, it was enough for us to make this diagram, take account of all interactions, and start creating test cases for each block one by one.

This approach is right, but it would have taken many months, which was not suitable for us because of our rapid growth — over the past twelve months, we have grown from 12,000 to 100,000 simultaneously active online users. Also, we didn’t know how our service infrastructure would respond to the increased load: which blocks would become the bottleneck, and which would scale linearly?
Read more →
Total votes 4: ↑4 and ↓0+4
Views760
Comments 0

Mind traps: how scientists fool themselves

ITMO University corporate blogSystem Analysis and DesignResearch and forecasts in ITStudying in ITPopular science
Even the most honest of scientists are regularly misled by their cognitive biases. They often go to great lengths to find proof for whatever seems logical, while dismissing evidence to the contrary.

Yet this issue is rarely discussed — because it remains an embarrassing subject.

Read more →
Total votes 5: ↑4 and ↓1+3
Views1.2K
Comments 2

Quintet instead of Byte — data storage and retrieval approach

ProgrammingSystem Analysis and DesignSQLIT StandardsData storage
Quintet is a way to present atomic pieces of data indicating their role in the business area. Quintets can describe any item, while each of them contains complete information about itself and its relations to other quintets. Such description does not depend on the platform used. Its objective is to simplify the storage of data and to improve the visibility of their presentation.



We will discuss an approach to storing and processing information and share some thoughts on creating a development platform in this new paradigm. What for? To develop faster and in shorter iterations: sketch your project, make sure it is what you thought of, refine it, and then keep refining the result.

The quintet has properties: type, value, parent, and order among the peers. Thus, there are 5 components including the identifier. This is the simplest universal form to record information, a new standard that could potentially fit any programming demands. Quintets are stored in the file system of the unified structure, in a continuous homogeneous indexed bulk of data. The quintet data model — a data model that describes any data structure as a single interconnected list of basic types and terms based on them (metadata), as well as instances of objects stored according to this metadata (data).
Read more →
Total votes 8: ↑8 and ↓0+8
Views1.2K
Comments 2

Tutorial For Creating Blockchain Solution on Hyperledger Composer

Decentralized networksSystem Analysis and DesignDevelopment of mobile applicationsMobile applications design


Due to modern business demands, IBM joined hands with other companies to develop an open-source business blockchain network called Hyperledger Fabric project that is touching the sky. Due to modular architecture, digital keys, and on-demand data retrieval, hyperledger fabric is regarded as the base for the world’s future modular architecture blockchain-based apps. Further benefits of Hyperledger Fabric are given below to facilitate your interpretation.
Read more →
Total votes 7: ↑6 and ↓1+5
Views1.7K
Comments 0

How we created IoT system for managing solar energy usage

System Analysis and DesignIT InfrastructureBig DataSmart HouseIOT

If you have no idea about the development architecture and mechanical/electrical design behind IoT solutions, they could seem like "having seemingly supernatural qualities or powers". For example, if you show a working IoT system to 18th century people, they'd think it's magic.This article is sort of busting such myth. Or, to put it more technically, about hints for fine-tuning the IoT development for an awesome project in solar energy management area.

Read more →
Total votes 9: ↑7 and ↓2+5
Views820
Comments 0

Qrator filtering network configuration delivery system

Qrator Labs corporate blogSystem Analysis and DesignIT InfrastructureNetwork technologiesDistributed systems


TL;DR: Client-server architecture of our internal configuration management tool, QControl.
At its basement, there’s a two-layered transport protocol working with gzip-compressed messages without decompression between endpoints. Distributed routers and endpoints receive the configuration updates, and the protocol itself makes it possible to install intermediary localized relays. It is based on a differential backup (“recent-stable,” explained further) design and employs JMESpath query language and Jinja templating for configuration rendering.

Qrator Labs operates on and maintains a globally distributed mitigation network. Our network is anycast, based on announcing our subnets via BGP. Being a BGP anycast network physically located in several regions across the Earth makes it possible for us to process and filter illegitimate traffic closer to the Internet backbone — Tier-1 operators.

On the other hand, being a geographically distributed network bears its difficulties. Communication between the network points-of-presence (PoP) is essential for a security provider to have a coherent configuration for all network nodes and update it in a timely and cohesive manner. So to provide the best possible service for customers, we had to find a way to synchronize the configuration data between different continents reliably.
In the beginning, there was the Word… which quickly became communication protocol in need of an upgrade.
Read more →
Total votes 24: ↑23 and ↓1+22
Views900
Comments 0

How to Catch a Cat with TLA+

Waves corporate blogProgrammingSystem Analysis and DesignMathematicsLogic games
Many programmers struggle when using formal methods to solve problems within their programs, as those methods, while effective, can be unreasonably complex. To understand why this happens, let’s use the model checking method to solve a relatively easy puzzle:

Conditions


You’re in a hallway with seven doors on one side leading to seven rooms. A cat is hiding in one of these rooms. Your task is to catch the cat. Opening a door takes one step. If you guess the correct door, you catch the cat. If you do not guess the correct door, the cat runs to the next room.
Read more →
Total votes 9: ↑9 and ↓0+9
Views1.2K
Comments 0

Citymobil — a manual for improving availability amid business growth for startups. Part 5

Mail.ru Group corporate blogHigh performanceSystem Analysis and DesignStart-up developmentProduct Management


This is the final part of the series describing how we’re increasing our service availability in Citymobil (you can read the previous part here). Now I’m going to talk about one more type of outages and the conclusions we made about them, how we modified the development process, what automation we introduced.
Read more →
Total votes 24: ↑24 and ↓0+24
Views725
Comments 0

Citymobil — a manual for improving availability amid business growth for startups. Part 4

Mail.ru Group corporate blogHigh performanceSystem Analysis and DesignStart-up developmentProduct Management


This is the next article of the series describing how we’re increasing our service availability in Citymobil (you can read the previous parts here: part 1, part 2, part 3). In further parts, I’ll talk about the accidents and outages in detail.

1. Bad release: database overload


Let me begin with a specific example of this type of outage. We deployed an optimization: added USE INDEX in an SQL query; during testing as well as in production, it sped up short queries, but the long ones — slowed down. The long queries slowdown was only noticed in production. As a result, a lot of long parallel queries caused the database to be down for an hour. We thoroughly studied the way USE INDEX worked; we described it in the Do’s and Dont’s file and warned the engineers against the incorrect usage. We also analyzed the query and realized that it retrieves mostly historical data and, therefore, can be run on a separate replica for historical requests. Even if this replica goes down due to an overload, the business will keep running.
Read more →
Total votes 17: ↑16 and ↓1+15
Views658
Comments 0

Citymobil — a manual for improving availability amid business growth for startups. Part 3

Mail.ru Group corporate blogHigh performanceSystem Analysis and DesignStart-up developmentProduct Management


This is the next article of the series describing how we’re increasing our service availability in Citymobil (you can read the previous parts here and here). In further parts, I’ll talk about the accidents and outages in detail. But first let me highlight something I should’ve talked about in the first article but didn’t. I found out about it from my readers’ feedback. This article gives me a chance to fix this annoying shortcoming.
Read more →
Total votes 23: ↑23 and ↓0+23
Views728
Comments 0

Citymobil — a manual for improving availability amid business growth for startups. Part 2

Mail.ru Group corporate blogHigh performanceSystem Analysis and DesignStart-up developmentProduct Management


This is a second article out of a series «Citymobil — a manual for improving availability amid business growth for startups». You can read the first part here. Let’s continue to talk about the way we managed to improve the availability of Citymobil services. In the first article, we learned how to count the lost trips. Ok, we are counting them. What now? Now that we are equipped with an understandable tool to measure the lost trips, we can move to the most interesting part — how do we decrease losses? Without slowing down our current growth! Since it seemed to us that the lion’s share of technical problems causing the trips loss had something to do with the backend, we decided to turn our attention to the backend development process first. Jumping ahead of myself, I’m going to say that we were right — the backend became the main site of the battle for the lost trips.
Read more →
Total votes 23: ↑22 and ↓1+21
Views639
Comments 0

Citymobil — a manual for improving availability amid business growth for startups. Part 1

Mail.ru Group corporate blogHigh performanceSystem Analysis and DesignStart-up developmentProduct Management


In this first part of an article series «Citymobil — a manual for improving availability amid business growth for startups» I’m going to break down the way we managed to dramatically scale up the availability of Citymobil services. The article opens with the story about our business, our task, the reason for this task to increase the availability emerged and limitations. Citymobil is a rapid-growing taxi aggregator. In 2018, it increased by more than 15 times in terms of number of successfully completed trips. Some months showed 50% increase compared with the previous month.

The business grew like a weed in every direction (it still does): there was an increase in server load, team size and number of deployments. At the same time the new threats to service availability emerged. The company faced a task of the most importance — how to increase availability without compromising company growth. In this article, I’ll talk about the way we managed to solve this task in a relatively short time.
Read more →
Total votes 24: ↑24 and ↓0+24
Views875
Comments 0

How to quickly prepare for a job interview with questions on algorithms and technologies

РДТЕХ (Разумные Деловые Технологии) corporate blogEntertaining tasksJavaSystem Analysis and DesignIT career
Greetings to all readers of Habr! My name is Yuriy, I have been teaching high technologies, Oracle, Microsoft and others for more than 20 years, as well as creating, developing and supporting loaded information systems for various business customers. Today I would like to tell you about the current direction: interviews on data processing technologies. The Russian variant of this post you can find here.

It doesn't really make sense for an employer to ask the applicant about traditional programming technologies. That is why I'm going to tell you how to prepare for an interview in only one narrow area related to information processing languages, namely, the processing of long integers(long arithmetic) and the identification of information properties of real world objects, which are described in long integers.
Read more →
Total votes 8: ↑6 and ↓2+4
Views2.4K
Comments 0
1

Authors' contribution