Vakko and Commencis have partnered to integrate AWS for ready-to-use analytics



Vakko and Commencis have partnered to integrate AWS for ready-to-use analytics


About the customer

Vakko, Turkey’s leading fashion house and luxury goods brand, started out as a small hat shop called Şen Şapka (Merry Hats). Founded by Vitali Hakko in 1934, Şen Şapka soon became the Vakko brand, producing scarves made of Turkish silk based on the latest fashions. Inspired by the mood of development and innovation in the country at the time, Vakko recognized the need to expand beyond hats, scarves and printed fabrics and ventured into the ready-to-wear industry, where the company has been a sector leader ever since. Vakko’s primary goal has been to create collections that interpret the latest fashions, while offering superior quality, exquisite craftsmanship and excellent service.

Today, Vakko specializes in high-fashion luxury goods through its numerous collections and stores: Vakko Scarves, Vakko Men and Vakko Women, Vakko Couture, V2K Designers, Vakko Wedding, Vakkorama concept stores, W Collection Menswear and Vakko Home. Vakko also brings its high quality to the gourmet food sector with Vakko Chocolate, Vakko Tea Atelier, Vakko Coffee Atelier, as well as the high-end patisserie concept Vakko Patisserie Petit Four, and French restaurant Vakko Bistrot.

Customer challenge

The main challenge Vakko faced was gathering sales, customer, product, and other data generated internally and from multiple applications, processing and transforming it into a centralized data store that would allow internal users and partners to perform analysis.

This project aimed to develop Vakko’s data lake by collecting data from various applications within a central data store. It also sought to analyse the data, run machine learning algorithms to make predictions, and share business intelligence data both internally and externally. The source data was in different mostly on-premise databases with various formats. In addition to these databases, Vakko’s application infrastructure was integrated with third-party services for daily operations. By leveraging the data related services of AWS, a completely automated ETL (Extract, Transform, Load) pipeline was set up for data collection and analysis. After consolidating all data in a centralized data store, now the data can be queried, and reported by internal users and external partners with various synchronous and asynchronous integrations.

Solution deployment method

Commencis Cloud Team developed integrations for third-party services. They then implemented and automized ETL pipelines to form a data analytics platform.

Various integrations were developed using Lambda functions and automated by EventBridge rules. In raw format, the data gathered was saved into S3 (Simple Storage Service) buckets and acted as a data lake. The raw data was then processed by Glue, a serverless ETL tool, and was then ready to run analytic queries. The analytic queries were developed by Vakko and automated by Commencis.

Integration of third-party services with Lambda

Lambda functions were developed for integration with the various third-party services that Vakko uses (e.g., logistics, customer interaction, online marketplaces). These functions connect to Vakko’s third-party services and collect data so that it can be saved into a data lake. Collected data is then preprocessed and inserted into a data warehouse layer (Redshift) using automated Glue crawlers and jobs.

Each of the Lambda functions shared the same layer for basic data preprocessing operations that contained Pandas. Lambda functions are naming convention consists of service provider’s names and the period of data collected. These functions are triggered by an EventBridge rule to collect data from the previous day. They then transform the data into the required format and save it into the S3 buckets.

The lambda function “sorun_hook” was developed as a webhook and connected to an API Gateway triggered by a messaging application provider company. In cases where Vakko receives new or updated messages, the client then sends a request to a specified endpoint and the Lambda function handles the request body in a similar manner to other third-party integrations.

Transfer of Data from Databases

Vakko also uses legacy database systems containing CRM and ERP data. Using DMS, data in these services was also transferred into a data warehouse.

Dropbox Integration

Dropbox to S3 integration was provided for Vakko as a custom request to safely archive commonly shared content. An in-house solution was developed for securely archiving content on a common Dropbox account. In essence, an EC2 (Elastic Compute Cloud) instance with sufficient EBS (Elastic Block Store) was provided to sync Dropbox content continuously with EBS and S3.

Querying and Reporting Consolidated Data

The data collected in Redshift was made accessible to internal and external systems. There are strict security checks in place to avoid data breaches. In addition, Redshift data has also been filtered and exported to S3 so that it can be shared with external parties as offline integrations.

Third-party applications/solutions

Dropbox is used by Vakko as a common file sharing platform. A Dropbox to S3 integration was developed to archive content. Gerrit is a source control management and code review tool that uses Git. Source codes for the Lambda functions are managed through Commencis’ self-hosted Gerrit instances. Jenkins is used for the deployment of Lambda functions and is also hosted on Commencis’ servers.

AWS services contribution

Throughout the project, Lambda functions were developed using Python and the Pandas software library to obtain and save data. A powerful Redshift cluster was set up to meet Vakko’s data analysis purposes. Glue was used as an ETL tool. S3 was used to store raw data and migration from legacy CRM and ERP databases was done through DMS. EC2 and EBS were used as intermediate devices for Dropbox synchronization to S3. API Gateway was used to provide a secure webhook for third-party service integration.

Architecture diagram of solution deployment

Most integrations were completed by leveraging Lambda functions. These are used as a serverless preprocessing tool that can easily be maintained and automatized. Other data sources are continuously copied into the data warehouse using the ongoing replication functionality of DMS.

Outcomes & Benefits

Vakko now has a product information store in AWS which runs parallel to the master product information database and is updated asynchronously. The product information data store can be queried concurrently by many external systems. Moreover, it is deployed in AWS on a highly scalable and high-performance architecture.

The solution is planned to be expanded so that other Vakko data can be stored on the same highly scalable architecture. This will require the installation of an AWS CloudFront through the AWS API Gateway, as the PIM API system will be queried from different countries in future phases. By doing this, remote points will be able to avoid data connection delays.

Let’s start your cloud journey
Get in Touch