ВСІ. СВОЇ — створення контейнерної інфраструктури за допомогою Kubernetes
Завдання
Клієнт звернувся до нас з проханням покращити інфраструктуру проекту та забезпечити можливість додавати нові розділи на сайт. Завданням Stfalcon було перейти в контейнеризовану інфраструктуру з Kubernetes:
- підвищити загальну надійність інфраструктури і відсоток доступності сервісів
- спростити процес внесення змін, забезпечити ідентичність dev/staging/production оточень
- прискорити і убезпечити процес доставки змін в оточення.
Також, потрібно було додати нові розділи: Дім та Декор
Рішення
Для побудови нової інфраструктури ми обрали IaaS Hetzner Cloud, що поєднує вигідну вартість і високу якість послуг, а також володіє всім необхідним функціоналом для побудови сучасної та гнучкої інфраструктури.
Ми вирішили використовувати контейнеризацію, адже такий підхід спрощує подальше обслуговування, дозволяє підвищити частоту релізів, спростити горизонтальне масштабування, забезпечує ідентичність конфігурації в середовищах. У ролі оркестратора був взятий Kubernetes. Це промисловий стандарт, що включає в себе багаторічний досвід Google в обслуговуванні контейнеризованих робочих навантажень.
При розгортанні нової інфраструктури також був використаний Terraform, з допомогою якого можна реалізувати концепцію Infrastructure as code (IaC). Це дозволило спростити внесення змін і повністю автоматизувати додавання нових нод в Kubernetes кластер. Також для всіх додатків ми налаштували Continuous delivery з використанням Gitlab CI/CD.
Результат
Застосування передових технологій і практик дозволило створити сучасну інфраструктуру, що відповідає бізнес вимогам. Це забезпечує можливість швидко вносити необхідні зміни, моніторити всі компоненти, нарощувати обчислювальні потужності в разі зростання навантажень на сервіси, спрощує процес розробки і доставки нових версій в production.