We live in an innovative age where customers expect faster deployment of new functionality with fewer bugs, higher reliability, flexibility and the least possible limitations on the application during deployment. In the IT world, the position of DevOps is defined by the interconnection of people, processes and technology. The quality of the final product is not only based on the functioning of the individual components, but also on how they interact together. The specificity of this position lies in the functioning of processes that vary from project to project. Basically, the role of the DevOps person is to provide server-side support. In addition, the position includes a wide range of technologies that we work with on projects. This article is meant to introduce you to the process of how DevOps work at Cassovia Code in the framework of long-term cooperation with one of our TOP clients – SIKO.
SIKO is a family-owned company that is one of the strongest sellers of complete kitchen and bathroom equipment in the Czech Republic and Slovakia with more than 30 years of market presence In 2018, our cooperation started with the partial implementation of a robust e-commerce. Based on the satisfaction over time, SIKO entrusted us with the complete B2B implementation. The goal was to have not only B2C but also B2B running on SAP Commerce technologies, while having a shared codebase. We have succeeded in this and are currently continuing to implement new B2B features.
Contributing to the efficient running of the B2C and B2B scenarios is the work of the DevOps, who closely works with both our developers and SIKO’s developers and IT staff. Within the SIKO project, we focus not only on the continuous automation of certain deployment processes, but also on others in the GitLab environment. Also, we use Docker, which provides us with a unified interface when isolating applications Docker is primarily used by local environments and in CI/CD processes. Analysis and process improvement happens on local environments for both developers and testers. High priority is given to process improvement, quality assurance and proper code functionality during co-development with the team in charge of the B2C part of the website.
Currently, deployment processes and environment management are done on the SAP Cloud Commerce (build, deployment and configuration environments). There is one production, one test and 3 development environments in the cloud environment. The job of a DevOps requires responsibility and time flexibility due to releases being scheduled during the lowest traffic times of the website. In addition, DevOps role also includes production monitoring, which is done through Kibana and Dynatrace tools. Monitoring is used to check processor utilization, (non) functioning of processes, setting limits and incident analysis.
One of the challenges within this project is to achieve fully automated deployment with all phases – static code analysis, build, unit testing, and deployment, running initialization scripts, integration tests and UI tests. The long term vision within the project is to decouple the deployment of backend and frontend changes after the deployment of the upcoming FE storefront Spartacus, which is written in Angular. Working with SIKO is greatly helped by open communication, which allows us to improve processes and come up with new B2B features as part of the implementation.