Можно использовать grid, разбив контейнер на две колонки и две строки. Блок слева положить в одну колонку и в grid-row: 1/3;. Блок справа - во вторую и его верхнюю часть - в grid-row: 1/2;, нижнюю - grid-row: 2/3;.
Более мелкие блоки поместить во flex.
Это один из вариантов) Думаю, с него можно начать.