Перейти до вмісту
XSIS

Технології

Інженерія програмного забезпечення

Вибір стеку, фронтенд-фреймворки, арабська мова й напрям справа наліво, нативні чи кросплатформні, хмара, інструменти тестування й старіші системи.

32 запитання

Як ви обираєте технологічний стек?

Ми виходимо з того, що ваша команда може супроводжувати й під що може наймати людей, що використовують інші ваші системи і що має робити програмне забезпечення. Для більшості бізнес-систем це поширена мова, як-от TypeScript, Java, C# або Python, реляційна база даних і хмара, яку ви вже використовуєте. Ми фіксуємо кожен вибір та його причини.

Чи можете ви створити багатоорендний SaaS-продукт?

Так. Ми проєктуємо ізоляцію орендарів, конфігурацію для кожного орендаря, ролі, хуки білінгу й журнали аудиту з першого релізу, бо додавання їх пізніше означає переписування моделі даних. Ми узгоджуємо з вами, чи орендарі спільно використовують базу даних, схему чи нічого, виходячи з ваших потреб у безпеці й витратах.

Що означає компонована архітектура для нас?

Ваша платформа будується із самодостатніх бізнес-компетенцій з власними API, як-от ціноутворення, онбординг чи білінг. Кожну можна змінити, масштабувати чи замінити, не торкаючись решти, а нові продукти можуть їх повторно використовувати. Це підходить платформам, що зростатимуть роками; невеликому інструменту це не потрібно.

Який фронтенд-фреймворк ви використовуєте?

Для більшості нових застосунків ми використовуємо React з Next.js, бо він підтримує серверний рендеринг і має сильні інструменти. Ми також працюємо з Angular і Vue.js і продовжуємо у фреймворку, який ви вже використовуєте, коли це розумний вибір.

Чому створювати настільний застосунок, а не вебзастосунок?

Обирайте настільний застосунок, коли робота потребує офлайн-режиму, прямого доступу до пристроїв чи локальних файлів, великих обсягів даних чи графіки або швидких екранів із керуванням із клавіатури. Для більшості інших потреб вебзастосунок простіше розгортати й оновлювати. Ми радимо в кожному випадку окремо, і іноді правильною відповіддю є вебзастосунок із невеликим настільним компонентом.

Нативний чи кросплатформний настільний застосунок: що обрати?

Нативні застосунки дають найкращу швидкодію й найкраще підходять для кожної операційної системи. Кросплатформні застосунки мають спільну кодову базу для Windows, macOS і Linux, що знижує вартість їх створення й змін. Ми радимо нативні, коли домінує одна платформа або робота висуває високі вимоги, і кросплатформні, коли важливі кілька платформ.

Чи може настільний застосунок працювати без мережевого зʼєднання?

Так, для завдань, які це дозволяють. Ми разом із вами вирішуємо, які дані потрібні кожному користувачу на пристрої, зберігаємо їх зашифрованими й записуємо зміни, доки не повернеться мережа. Коли той самий запис змінюється у двох місцях, узгоджені правила вирішують, яка зміна переможе, або просять людину обрати.

Чи може застосунок працювати з нашими сканерами, принтерами та іншими пристроями?

Так. Ми інтегруємося з пристроями, якими користується ваш персонал, як-от сканери штрихкодів, принтери чеків і етикеток, ваги й платіжні термінали. Ми підключаємося через драйвери, SDK чи стандартні порти кожного пристрою й тестуємо на точних моделях і прошивках, які ви використовуєте, бо пристрої одного типу часто поводяться по-різному.

Будувати нативний чи кросплатформний застосунок?

Нативні застосунки на Swift і Kotlin дають найповніший доступ до можливостей пристрою. Кросплатформні застосунки на React Native чи Flutter мають більшу частину коду спільною для iOS і Android, що знижує вартість їх створення й змін. Ми рекомендуємо нативні, коли застосунок сильно залежить від пристрою, і кросплатформні для більшості бізнесових і споживчих застосунків.

Що таке цифровий двійник і коли його варто створювати? (Мобільність, просторові обчислення й цифрові двійники)

Цифровий двійник є живою 3D-моделлю фізичного місця чи процесу, що отримує дані з його датчиків і систем. Його варто будувати, коли рішення щодо цього місця дорого перевіряти в реальності. Приклади: зміна виробничої лінії, планування порту, управління районом розумного міста чи навчання персоналу діям у рідкісних ситуаціях.

До яких систем може підключатися цифровий двійник?

До тих, що описують реальний майданчик: промислових IoT і платформ датчиків, систем будівель і заводів, ERP і систем обслуговування активів. Ми узгоджуємо джерела даних і частоту оновлення кожного, щоб двійник показував майданчик таким, як він є.

Чи може застосунок працювати без звʼязку?

Так, де це дозволяють шляхи. Ми зберігаємо потрібні користувачу дані на пристрої зашифрованими й ставимо його зміни в чергу, доки звʼязок не повернеться. Правила синхронізації вирішують, що робити, коли той самий запис змінився у двох місцях, і ми проєктуємо ці правила разом із вами.

Як ви робите продукти доступними?

Ми проєктуємо за WCAG 2.2 AA з першого каркаса: достатній контраст, видимий фокус, логічний порядок читання, достатньо великі цілі й позначка для кожного елемента керування. Автоматичні перевірки виконуються на кожну зміну. Перед кожним релізом ми вручну перевіряємо ключові шляхи з клавіатурою й екранними читачами.

Чи можете ви проєктувати для арабської та інших мов із письмом справа наліво?

Так. Дизайн справа наліво означає більше, ніж віддзеркалити екран: навігація, індикатори прогресу й іконки напрямку віддзеркалюються, а числа, логотипи й елементи керування медіа зазвичай ні. Арабський текст потребує власного шрифту, кегля й міжрядкового інтервалу, і ми перевіряємо обидва напрями з носіями мови.

Що таке самовідновна автоматизація тестів?

Тести інтерфейсу зазвичай ламаються, коли кнопка зміщується чи перейменовується, навіть якщо функція досі працює. Самовідновні тести використовують ШІ, щоб знову знайти елемент і запропонувати оновлений тест, який інженер переглядає до прийняття. Набір залишається надійним, не приховуючи справжніх дефектів.

Що ШІ насправді робить у модернізації?

Він швидко читає великі обсяги старого коду: пояснює, що робить програма, простежує, куди йдуть дані, пропонує рефакторинг і готує чернетки тестів. Інженери вирішують, що змінювати, переглядають кожен рядок і доводять це характеризаційними тестами. ШІ прискорює розуміння; він не замінює перевірку.

Чи можете ви перенести навантаження COBOL і DB2 з мейнфрейма?

Так. Ми перекладаємо чи перебудовуємо програми COBOL як хмарно-нативні сервіси й мігруємо дані DB2 зі звірянням на кожному кроці. Пакетні завдання й файлові інтерфейси отримують сучасні аналоги. Частини, що стабільні й дорогі для перенесення, можуть залишатися за шаром API, доки не прийде їхня черга.

Коли краще обгорнути систему, ніж замінити її?

Коли старе ядро стабільне й правильне, але до нього важко дістатися. Сучасні API перед ним дають новим каналам, партнерам і продуктам користуватися його функціями, не торкаючись внутрішнього устрою. Ми рекомендуємо заміну, коли система блокує зміни, не піддається захисту чи більше не має персоналу.

Що таке суверенна хмара і чи потрібна вона нам?

Суверенна хмара тримає дані, операції й правовий контроль у межах однієї юрисдикції. Це може бути регіональний постачальник, державна хмара, регіон гіперскейлера з належними засобами контролю або ваш власний дата-центр. Вона потрібна, коли закон чи ваш регулятор вимагає, щоб певні записи залишалися в країні. Ми картуємо, які з ваших навантажень підпадають під такі правила, перш ніж радити, де їм працювати.

Якого хмарного постачальника нам обрати?

Зазвичай той, яким ви вже користуєтеся, якщо немає чіткої причини змінювати. Вирішальні чинники: розміщення даних, ваші наявні договори й навички, потрібні вам керовані послуги та те, як підключаються інші ваші системи. Ми працюємо з AWS, Microsoft Azure, Google Cloud, Alibaba Cloud і регіональними державними хмарами й залишаємо код, специфічний для провайдера, лише там, де це виправдано.

Як ви уникаєте привʼязки до постачальника?

Інфраструктура визначається в інструментах з відкритим кодом, як-от Terraform, OpenTofu чи Pulumi, а навантаження працюють на Kubernetes чи інших переносних платформах. Де власний сервіс постачальника кращий, ми використовуємо його свідомо й записуємо шлях виходу. У результаті ви маєте письмову оцінку того, скільки коштувало б перенесення кожного навантаження.

Чи залишати інфраструктуру на наших майданчиках, чи переносити в хмару?

Це залежить від кожної системи: де можна зберігати її дані, які в неї потреби в продуктивності й звʼязності, які ліцензії і що ваша команда може експлуатувати. Багато підприємств ведуть гібридну інфраструктуру, яка добре працює, коли спроєктована як одне ціле. Ми порівнюємо варіанти за витратами, ризиком і зусиллями й радимо той, який обрали б самі.

Чи запускати ШІ-моделі на власних GPU?

Розгляньте це, коли дані не можуть залишати ваш периметр або коли використання достатньо стабільне, що власні потужності коштують менше за оплату за кожен виклик. Ми порівнюємо приватний кластер, суверенну хмару й публічний сервіс моделей для вашого навантаження, а потім розмірюємо кластер і моделі, які він обслуговує.

Чи можете ви працювати з обладнанням і системами, які в нас уже є?

Так. Ми починаємо з того, що у вас є, і замінюємо лише те, що без підтримки або заважає дизайну. Де треба купувати обладнання чи ліцензії, ми вказуємо, що потрібно і чому, а постачальника обираєте ви.

Що таке платформна інженерія і чим вона відрізняється від DevOps?

DevOps є практикою, за якої розробники й експлуатація спільно відповідають за роботу програмного забезпечення. Платформна інженерія перетворює цю практику на продукт: внутрішню платформу для розробників, що дає кожній команді однаковий перевірений спосіб створювати, розгортати й запускати сервіси. Ваші команди витрачають час на функції, а не на конвеєри.

Які інструменти ви використовуєте?

Зазвичай ті, що у вас уже є. Ми працюємо з Terraform, OpenTofu і Pulumi для інфраструктури, Kubernetes для контейнерів і поширеними сервісами CI/CD, зокрема GitLab CI/CD, GitHub Actions і Argo CD. Ми рекомендуємо зміну лише тоді, коли інструмент блокує потрібне вам.

Чи знизять кешування й маршрутизація якість відповідей?

Ні, якщо їх налаштовано для кожного сценарію використання. Завдання переходить до меншої моделі лише після того, як проходить ті самі оцінювання, що й передова модель, а кешовані відповіді використовуються лише там, де збережена відповідь залишається правильною. Усе непевне все одно йде до більшої моделі.

Що таке GreenOps?

GreenOps застосовує підхід FinOps до енергії й вуглецю. Навантаження розміщуються за фактичним споживанням, працюють там і тоді, де й коли електроенергія чистіша, якщо можуть зачекати, і звітуються в термінах, потрібних вашій звітності ESG.

Чи підтримують наші апаратні модулі безпеки постквантові алгоритми?

Підтримка залежить від моделі й версії прошивки. Ми перевіряємо кожен HSM під час аудиту CBOM і плануємо оновлення чи заміну лише там, де вони потрібні.

Чи потрібен нам квантовий розподіл ключів?

Рідко. Постквантова криптографія працює на мережах і обладнанні, які у вас уже є, а QKD потребує виділених оптичних ліній. Ми розглядаємо QKD лише для кількох високоцінних ліній, де його очікує регулятор чи партнер.

З якими хмарами й платформами ви працюєте?

AWS, Microsoft Azure, Google Cloud, Alibaba Cloud і регіональні урядові хмари, а також ваші власні центри даних і приватні GPU-кластери. Інфраструктура визначена в Terraform, OpenTofu чи Pulumi, а навантаження працюють на Kubernetes, тож вибір провайдера залишається відкритим.

Чи можете ви допомогти нам піти від гіперскейлера?

Так. Ми оцінюємо, які сервіси привʼязують вас до провайдера, проєктуємо ціль у суверенній хмарі, іншого провайдера чи вашому центрі даних і переносимо навантаження поетапно зі шляхом відкату для кожного. Ви вирішуєте, як далеко йти: деякі клієнти переносять усе, інші лише навантаження, які важливі для їхніх регуляторів.

Більше запитань

Усі теми запитань

Почніть із розмови, а не з договору.

Розкажіть, що вам треба побудувати, зʼєднати чи захистити. Архітектор пройде це з вами, а потім порадить, з чого почати.

Що буде далі

  1. Узгодження часу

    Наша команда напише вам, щоб узгодити час сесії.

  2. Попередня консультація

    Формат: безкоштовна 30-хвилинна онлайн-консультація перед співпрацею. Ми разом розбираємо ваші цілі, системи й обмеження.

  3. Оцінка готовності

    На кроці «безкоштовна 48-годинна оцінка готовності» головний архітектор перевіряє ваш проєкт за 6 пунктами Definition of Ready і рекомендує відповідний трек.

  4. Вибір треку

    Проєкти з готовим обсягом отримують обовʼязкову пропозицію протягом від 3 до 5 робочих днів. Проєкти на стадії концепції починаються в Blueprint Studio. Робоча система, яка дає збої, не має документації або потребує інтеграції, починається з діагностики тривалістю від 1 до 2 тижнів. Blueprint Studio і діагностика мають фіксовану плату, зазначену в пропозиції.