Retail – SHALB https://shalb.com Tue, 30 May 2023 14:56:31 +0000 en-US hourly 1 https://wordpress.org/?v=5.4.2 Scalable infrastructure for a Swiss spirits shop https://shalb.com/case-studies/drinks/ Fri, 31 Mar 2023 10:08:32 +0000 https://shalb.com/?post_type=case-studies&p=2649 SHALB delivered cloud infrastructure in AWS for DRINKS.CH, a Swiss spirits shop. The team helped to containerize the customer’s apps, write Helm charts, and develop pipelines to deploy the apps to the cluster. The technologies used were Terraform, GitLab, and Kubernetes.   CUSTOMER BACKGROUND DRINKS.CH is the largest online spirits retailer in Switzerland. The company’s […]

The post Scalable infrastructure for a Swiss spirits shop appeared first on SHALB.

]]>
SHALB delivered cloud infrastructure in AWS for DRINKS.CH, a Swiss spirits shop. The team helped to containerize the customer’s apps, write Helm charts, and develop pipelines to deploy the apps to the cluster. The technologies used were Terraform, GitLab, and Kubernetes.

 

CUSTOMER BACKGROUND

DRINKS.CH is the largest online spirits retailer in Switzerland. The company’s online platform hosts over 5,000 products and serves customers all over the country, including restaurants and specialist retailers.

 

In 2014, when DRINKS.CH was founded, it was perhaps the only online retailer in the mostly offline and traditional Swiss spirits market. Its founder, Alexander Curiger, relied on digitization from the start. The company had an AWS-based infrastructure that enabled the serving of customers and processing of orders in real time.

 

PROBLEM DESCRIPTION

Over time, DRINKS.CH’s existing stack grew outdated and was no longer capable of meeting business demands. Their infrastructure wasn’t defined in code or scalable, and the apps weren’t containerized. The company needed a new system that would allow dynamic provision of environments and a reliable delivery system.

 

A mutual contact recommended SHALB as a contractor and the tasks we were subsequently assigned with included:

 

  • Designing an architecture for the new system
  • Implementing dev/stage/prod environments
  • Setting up a code delivery system
  • Containerizing existing apps
  • Migrating the workloads, databases, and message queueing services to the new infrastructure
  • Setting up monitoring
  • Providing 24/7 support.

 

PROJECT IMPLEMENTATION

Using a self-made reference code, SHALB engineers launched an EKS infrastructure in AWS with a predefined VPC, private subnets, and access permissions. The Terraform code deploys a fully-provisioned Kubernetes cluster with add-ons, cluster resources with dependencies, and preset monitoring stack.

 

Code delivery and feature environments

Code delivery to target environments is implemented by means of GitOps. GitLab CI Runner runs inside the dev-stage cluster and leverages its unoccupied resources to run builds.

 

Setup of the CD system allows for dynamic provisioning of the feature environment each time developers commit new changes to the feature branch. The temporary environment is automatically launched in a dedicated namespace within the cluster. This is a fully-fledged, totally isolated setting with all services running, preconfigured ingresses, SSL certificates, and domains specified for an app. The environment allows testing of the functionality of either an individual app or several apps working together.

 

Drinks.ch scheme of implementation of feature environments — SHALB — Image

 

Successful changes are automatically delivered to a stage environment for system testing. Here, the app is being tested in suite with other apps in an environment that replicates the production. Deployment to production is done manually after approval.

 

Containerization and Helm charts

Within the project workflow the customer’s apps were containerized and made ready for deployment to the cluster. Writing Helm charts was one of the most time-consuming tasks. The customer’s apps significantly differ from each other, so it was decided to create an individual Helm chart for each one. This was also more convenient for the developers who try to maintain the charts for their apps to have the chart within the application repository.

 

Monitoring

Monitoring is based on a cloud-native stack that includes Grafana, Prometheus, and Alertmanager configuration.

 

PROJECT OUTCOME

Upon completion of the project, DRINKS.CH had an up-to-date and scalable infrastructure, perfectly aligned with their business needs. Now they are able to process as many customer queries as needed without degrading their systems’ performance. Automated CI/CD pipelines enable quick delivery of changes and the launching of temporary environments on demand. In addition, the advanced monitoring system provides insights into the state of deployed services and infrastructure components.

 

Deploying a fully-provisioned EKS cluster can be challenging and time-intensive. With a reference code at hand we reduced this time fourfold, from a month up to a week. Working on DRINKS.CH’s case, we further refined the code to be able to deliver large projects in the shortest terms.

 

SHALB provides all kinds of services for infrastructure development and maintenance, including infrastructure design and scaling, Kubernetes deployment and infrastructure migration. Our team is flexible, accommodating, and knowledgeable. Book an online meeting or contact sales@shalb.com to see it for yourself. We’d be delighted to hear from you!

The post Scalable infrastructure for a Swiss spirits shop appeared first on SHALB.

]]>
The highly efficient serverless platform for Ukraine’s largest ticketing agency https://shalb.com/case-studies/the-highly-efficient-serverless-platform-for-ukraines-largest-ticketing-agency/ Mon, 06 Feb 2023 12:26:13 +0000 https://shalb.com/?post_type=case-studies&p=2433 Event-goers enjoy fast and reliable services as SHALB helps the largest ticketing company in Ukraine go serverless.   Concert.ua is one of Ukraine’s leading event ticketing agencies. The company handles almost half of the country’s online ticket sales. For its business to thrive and remain competitive, Concert.ua needs to provide fast and consistent services that […]

The post The highly efficient serverless platform for Ukraine’s largest ticketing agency appeared first on SHALB.

]]>
Event-goers enjoy fast and reliable services as SHALB helps the largest ticketing company in Ukraine go serverless.

 

Concert.ua is one of Ukraine’s leading event ticketing agencies. The company handles almost half of the country’s online ticket sales. For its business to thrive and remain competitive, Concert.ua needs to provide fast and consistent services that will keep its customers happy.

Problem description

Before going serverless with AWS, Concert.ua’s systems were already in the cloud, but they were not optimized for it. It was a legacy infrastructure running on virtual machines that was inefficient and unable to handle sudden traffic spikes.

 

Announcements of upcoming events attract a huge number of visitors and increase the website’s traffic up to 1,000 percent within minutes. Although Concert.ua’s technical staff planned for such activity spikes in advance, it was hard to estimate the precise number of resources. “Even when a traffic spike was expected, it was always a guess as to how many servers we’d need,” says Yevgen Lysenko, founder and Chief Technology Officer (CTO) at Concert.ua. “But there was no other option with the resources and technologies we had at the time.”

 

With databases flooded with queries and services not responding, customers were faced with delays waiting for their transactions to proceed. Needless to say, this affected the company’s reputation and revenue.

 

Managing infrastructure was becoming a troublesome and time-consuming task. As a result, Concert.ua was looking for a way to resolve these issues and free up its developers to focus on application enhancement rather than infrastructure troubleshooting.

 

SHALB, a long-term technical partner of Concert.ua and a certified AWS associate, suggested the company’s transition to AWS out-of-the-box services and offered its help in migration.

Project implementation

SHALB engineers automated the customer’s cloud setup by implementing an Infrastructure as Code approach using Terraform. With infrastructure resources defined in code, the Concert.ua’s systems became easily reproducible, scalable, and manageable from configuration files.

 

The customer’s applications were containerized and prepared for running serverless on a combined platform. The solution brought together Amazon Elastic Container Service (ECS), an automated tool for container orchestration, and AWS Fargate, a serverless pay-as-you-go compute engine.

The combination with Fargate made it possible to achieve the fault tolerance of ECS-running applications while also enabling the possibility of their infinite scaling to accommodate sudden traffic spikes.

 

The customer’s MySQL databases were migrated to Amazon Aurora, a relational database service designed for working in the cloud. The transition to Aurora DB significantly improved the performance of Concert.ua’s databases, making them scalable and capable of efficiently handling customer requests, even when traffic is high.

 

Employing AWS Lambda, a serverless, event-driven compute service allows Concert.ua to concurrently process multiple transactions in real time; customers now receive their tickets straight away upon completion of a transaction with no additional waiting time.

 

Also, using Amazon API Gateway and AWS Lambda dramatically reduced the time it takes for the Concert.ua’s developers to implement APIs. “We couldn’t launch APIs as quickly as we can now,” says Lysenko. “Previously, we had to do a lot of coding but now it’s 300–500 percent faster. Using AWS, our software development cycle takes less time and effort, by fewer people. And it costs less than our previous setup.”

Business results

Since migration to a scalable architecture built on AWS, Concert.ua has increased the reliability and availability of its systems. The company’s website is now secured against sudden traffic spikes and reports 99.9 percent uptime.

 

Transition to a serverless platform allowed Concert.ua to cut its infrastructure costs and improve customers’ ticket-purchasing experience.

 

SHALB is proud to be a part of the Concert.ua success story. After all, our teammates are keen event-goers themselves and are the first to appreciate the fast and reliable services of Concert.ua!

 

SHALB is a certified AWS partner eligible to provide consultancy services and build infrastructures in the Amazon cloud platform. Our expert staff can advise on any kind of cloud-related questions, including migration and optimization of cloud cost and services, to building large scale distributed systems.

The post The highly efficient serverless platform for Ukraine’s largest ticketing agency appeared first on SHALB.

]]>
Delivering an event platform for e-commerce giant https://shalb.com/case-studies/delivering-an-event-platform-for-e-commerce-giant/ https://shalb.com/case-studies/delivering-an-event-platform-for-e-commerce-giant/#respond Thu, 21 Jul 2022 13:42:57 +0000 https://www.shalb.com/?post_type=case-studies&p=1562 SHALB, together with the Spryker team, worked to develop a key functionality for the Spryker e-commerce platform. Our engineers showed deep knowledge of AWS cloud products and strong expertise in the field of cloud computing.   CUSTOMER BACKGROUND Spryker Systems GmbH, (Spryker), is one of the key players in the market of digital commerce. The […]

The post Delivering an event platform for e-commerce giant appeared first on SHALB.

]]>
SHALB, together with the Spryker team, worked to develop a key functionality for the Spryker e-commerce platform. Our engineers showed deep knowledge of AWS cloud products and strong expertise in the field of cloud computing.

 

CUSTOMER BACKGROUND

Spryker Systems GmbH, (Spryker), is one of the key players in the market of digital commerce. The company provides a high-functional platform-as-a-service (PaaS) solution that enables its customers to run their online commerce businesses in the most advantageous and secure way. The platform enables B2B, B2C, D2C, and Marketplace capabilities out of one stack. It is one of the most advanced commerce platforms in the market with over 900 API-based modules, cloud-enabled, and enterprise-ready.

 

PROJECT DESCRIPTION

The specifics of Spryker business model consists of two parts: PaaS, a platform where Spryker’s customers register as tenants to run their online shopping infrastructures; and SaaS, a software that enables customer services on the platform. The applications that enable certain functionalities are being developed both by Spryker’s in-house teams and 3rd party providers. In order to make these services easily available to customers, Spryker wanted to implement a middleware solution – an event platform that would link customers (PaaS) and applications (SaaS).

 

However, building such a product required strong skills in the field of cloud engineering – the resources that Spryker lacked in-house and had to hire out. Contacting SHALB was an internal suggestion that resulted in two months of fruitful collaboration. Piotr Nowinski, Head of Product Engineering at Spryker Systems GmbH, says: “We were looking for certified AWS experts, and they checked all the boxes.”

Requirements

According to Volodymyr Tsap, CTO at SHALB, the task involved building a core piece of functionality – a basic component that underlies the communication between customers and applications on the Spryker platform. As a core technology, it needed to work on a steady basis, be fault-tolerant and scale on demand. As the platform also had to process all system queries, it was essential to implement enhanced security measures to avoid security threats.

 

Implementation of subscription model

The platform allows for two types of communication between customers and applications: synchronous for REST API requests and asynchronous for independent tasks, in particular processing working queues.

 

By using Amazon SQS/SNS service we realized a queue subscription – the model that underlies communication between users (PaaS tenants) and applications on the Spryker platform. The process involves creating working queues that both users and applications subscribe to in order to exchange messages. The user puts a task on the queue, and a message broker notifies the subscribed application. Once the task is executed, the user receives a notification. Queue subscription allows for executing multiple tasks in parallel without blocking each other, making all the processes run much faster.

 

Access control

To ensure secure access to the platform, we used AWS API Gateway Lambda authorizer, integrated with Auth0.

 

Once a client calls the platform API, the API Gateway calls Lambda authorizer, which in turn invokes Lambda function to verify the identity of a user or service. The caller identity is received in the Auth0 access token. Then, based on the response from Lambda function, the API Gateway determines whether the client can access the platform API.

 

Scaling

In order to eliminate bottlenecks in performance, we provided horizontal scaling for the platform. Considering the amplitude of Spryker’s business, we opted for the same technologies as Amazon web developers use to enable limitless scaling of AWS platform – Simple Queue Service (SQS), DynamoDB, Lambda, Simple Notification Service (SNS), etc. As a result, we achieved almost infinite scaling for Spryker’s systems.

Challenges

Among the main project challenges, Volodymyr Tsap mentions a large number of components involved and the work required to assemble them. “On the whole, the project required a lot of custom programming from our side, – he explains. – We needed to programme Lambda functions and enable integration with external services such as Auth0. As there were no ready components, we developed some of them from scratch and tested how they work together. Apart from that, we captured all our working in Terraform code following the Infrastructure as code approach.”

 

BUSINESS RESULT

In two months, SHALB successfully delivered the work, meeting the client’s requirements. Working together with Spryker’s internal team, we developed a well-tested, configurably managed solution that, after further elaboration and integration, formed into the Spryker App Composition Platform.

 

Introducing the subscription model made life easier both for Spryker’s cloud customers and developers. First, it allowed for simple integration with 3rd party services for Spryker’s PaaS tenants: now they can subscribe to applications and obtain certain functionality in a seamless, no-code way. Secondly, it facilitated the development of the marketplace platform for Spryker’s tech partners. With the application subscription model in place, developers are spared the necessity of deploying similar functionality to multiple PaaS environments.

 

CUSTOMER FEEDBACK

Commenting on the collaboration with SHALB, Piotr Nowinski says:

Piotr Nowinski, Head of Product Engineering at Spryker Systems GmbH — SHALB — Image

Piotr Nowinski, Head of Product Engineering at Spryker Systems GmbH

Overall, they did a good job. They understood the timelines and worked towards them, delivering on time and within the budget. We didn’t have to push them. SHALB understood the goal we wanted to achieve and worked towards it.

Working on the Spryker project added to our expertise in cloud computing and custom software development.

 

Have some challenging tasks? Don’t hesitate to contact us! The SHALB team is capable of delivering even the most complex project. List your business and technical goals, and we show you the way to achieve them. Book an online meeting or contact sales@shalb.com for more information.

The post Delivering an event platform for e-commerce giant appeared first on SHALB.

]]>
https://shalb.com/case-studies/delivering-an-event-platform-for-e-commerce-giant/feed/ 0