Fluent was operating with a stack of various systems, applications, and software. These many different tools speaking at once can make it hard for commands to be heard and even harder to get a quick action done. The applications can muffle one another and creates a variety of issues, including too many tedious steps for integrations. Fluent needed FAIR to consolidate their applications and provide more flexibility to their developers and CX Solution.
Who is Fluent Commerce
Fluent Commerce provides a platform for order management cloud services, customers online cart, available-to-promise inventory, fulfillment types, customer behavior services, personalized customer options, in-store tooling, order fulfillment, customer collections, returns, an end-to-end solution for managing merchant pick up and drop off networks services.
“Fluent Commerce observed the reduced need for DevOps/SRE team to intervene, gave developer more power/control on his code, introduced better maintainability, A better system.”
Microservice architecture has gained incredible momentum recently, compared to Monolithic, because of stability, scalability and robustness of release cycles.
So, the primary pain point was that there was integration between different applications, and every integration between applications had separate requirements to be addressed. Essentially there was a lack of efficiency and a lot of steps. When combining all these applications into one integrated system we get a highly complex and very large system. Which can cause issues when trying to fully understand the solution or attempt to make changes fast and precisely. This lead to inevitable issues during maintenance and updating. Working with a system like this means continuous deployment efforts are painful and difficult.
Hence, using microservice containers would be most appropriate, for this situation, because they all would have different release cycle and any incident that occurs, would only affect that integration container and not the whole application.
It was required of us to research and implement a working prototype, to showcase how could we empower the developer to release his container on his own. Using AWS Elastic Container Service, with automated deployment of containers as soon as developer publishes the code to version control.
Our team had some experience, with containerization technology, but this was whole new world of scalability, where AWS, provided a lot of wonderful features, to make use to, bring up Highly Available application. We started out with identifying the problems faced, by monolithic architecture, and then read up on microservice architecture came up with simple container to be deployed in AWS ECS, setting autoscaling of containers and services, configuring alarms etc.
We had lengthy discussion on the concepts and strategy to best fit our scenarios. Collaboration was impeccable, we exposed the prototype to developer and collected feedback, on changes how deploying separate container would still use the generalized automation and infrastructure, and removed the need for devops intervention at any point.
At the end, there was a simple middleware application encapsulated, in container, which had jenkins update job, Products used were docker, Amazon Web Service – Elastic Container Service Jenkins, Maven, Groovy and Spring.
It took few weeks to learn the concepts of AWS ECS. Once understood it was relatively easy to implement.
Due to the active involvement and interest from the customer, effective awareness of some well known agile development tools and methodology could be introduced to the project delivery team.
Our solution provided Fluent Commerce much needed stability and robustness required by such a highly evolving and scalable system.
Fluent Commerce observed the reduced need for DevOps/SRE team to intervene, giving the developer more power/control on their code, introducing better maintainability &”A better system”.
Our work would result in increased productivity, Reduced time for release, and improved collaboration between customer and client.