DATE: August 2014 – Now (ongoing successful partnership)
PROJECTS: Various e-commerce solutions
TECH: Python (2.x & 3.x), MySQL, MongoDB,
RabbitMQ, Flask, Falcon, AWS, Elastic Search, Swagger, Microservices, Jenkins, Continuous Delivery, Sentry
During our partnership with WebInterpret we achieved great results together. You can read a few stories from this cooperation below.
Our team of experienced developers became a part of the team that struggled with the growth of one of the main company products – international e-commerce platform. During our cooperation we were able to deliver dozens of features and solve a lot of problems, to name just a few:
- Integration of incident tracking tool and production problem solving. After we introduced Sentry (incident tracking tool) we were able to decrease the number of incidents from 1.5M to around 500 incidents per day.
- We have redesigned and rewrote some basic system processes with the efficiency of processing in mind. All of that without loosing the data consistency. Thanks to that the average time needed to fetch and process users’ inventory decreased from few weeks to few hours.
- We substituted manual error-prone deployment process with the sexy automated script triggered from the Jenkins build page That was the first step to Continuous Delivery that allows us to release few times per day and quickly respond to the production problems.
- We managed to solve the scalability issue caused by excessive usage of database queries and wrong usage of indexes. Thanks to the database optimization we have not only allowed the future product scaling but also managed to decrease the cost of the infrastructure by 60% while the number of the system users increased by 800%.
- We have migrated the system from deprecated technologies (Python 2.6, MySQL 5.5) to the current stable solutions. It saved the system from technical death and reduced the costs of maintenance by the operation team.
- Beside of that, we have implemented dozens of new features that increased overall company profits.
Our developers became a core part of R&D team that solved dozens of problems and have implemented new solutions.
To name just a few of them:
- The concept of sharing RabbitMQ and Memcache connections between threads. It was required to stabilize the core system that reached its performance limits.
- Standardisation of development environments. We substituted manual custom setups maintained by each of developer with the shared Virtualbox image with all dependencies pre-installed.
- Standardisation of the deployment workflow for all the teams working on client’s products.
- Implementation of the framework for asynchronous communication between microservices.
- The tool for detecting and reporting deadlocks, preventing leakage of resources.
Together with our client we have also created few awesome products like:
- A tool for buyer-seller international communication.
- Proof of concept of a new e-commerce tool for a new marketplace
- Solution connecting various e-commerce platforms and tools that allow small sellers to sell globally.
We are still working together on new products and ongoing maintenance and development of existing solutions. During two years of cooperation, we were able to build the partnership relations based on the transparency and feedback.