- Implementing CI/CD pipelines
- Infrastructure as Code
- Application life cycle management solutions
- Among other amazing technologies.
One of the most transformative projects we’ve worked on in the last year was to help modernize one of our clients’ Point of Sale (PoS) systems.
This was an outstanding project for many reasons. Mostly due to the fact that this project directly impacted their employees and their customers and thus, their bottom line. Given that PoS systems are at the intersection of your product, employees, and your end-users; modernizing and maintaining them is critical to success (check out this incident at Target https://chainstoreage.com/operations/two-pos-outages-hit-target-over-weekend last year). In other words, if your business depends on PoS systems, then modernizing these systems is critical to achieving your digital transformation objectives.
- PoS Pain Points
- PoS DevOps Transformation
- DevOps Tools we Used
- Business Value of Modernizing your PoS System
- Future Opportunities
The PoS Pain Points
PoS systems are edge computing devices that require configuration, maintenance, hardening, patching, among other things. They require resilience, security, and reliability often in a highly hostile environment. If you’re on the fence, check out this synopsis https://upserve.com/restaurant-insider/pos-data-breaches/ which is based on the latest IBM data breach report which cites that the global average cost of a data breach is $3.26 million—up 6.4 percent from 2017.
Our client needed to address the following main pain points with their Point of Sale systems:
- Resource Constraints
- Limited network bandwidth
- Unstable network connection
- Hardware limitations
- Legacy Operating Systems
- Configuration Drift
- Manual config
- Little to no visibility into state
- Manual auditing
- The overnight shift needed to ensure deployments went smoothly
- Unanticipated, prolonged downtime
- Performance degradation
- Failed deployments
Let’s go over some Client Stats
- Over 2000 corporate and franchise cafe chains locations
- 2000 data centers (6-15 devices each), 12,000 managed machines, 58,000 applications
- Existing CI/CD tool was handling a workload of 28,000 builds per month
- T1 line connection between the data centers and the cafe’s
- PoS systems running a mixture of Win7 and Win10 machines in both the kitchen and the retail areas
How Pain Points were Addressed
The pain points were addressed by focusing on the following objectives:
- Modernize deployments with automation → Push updates quickly and efficiently without impacting operations (ie. zero downtime), avoiding performance degradation via maintenance windows, deploy to a canary group first, monitor for issues then deploy to next group.
- Roll forward/Roll back → when deployments go wrong, quickly roll forward with bug fixes or roll back when a bigger issue is encountered.
- Achieve continuous, automated, configuration management → Achieve compliance, increase security and avoid drift caused by one time fixes
- Increase PoS visibility → Know when a device is down
The Solution’s Tech Stack
In order to realize our goals, the solution required multiple tools. The client already had Chef Infra installed in their data centers and was interested in building upon this.
After consulting with our partner Chef SMEs , the following solution was architected and implemented:
- Chef Habitat and Jenkins were used to Modernize deployments with automation → Continuous integration achieved using Jenkins. Builds promoted to caching server then pulled by PoS devices. Chef Habitat then looked after the deployment and configuration of the application on the individual nodes. Usage of Chef Habitat increased fault tolerance with retry logic in the ring topology. Unplugged or replaced nodes automatically join the ring and bootstrap themselves.
- Chef Infra was used to Achieve continuous, automated, configuration management → This avoided the configuration drift caused by one-time support “fixes”. Note that the existing Chef Infra deployment was upgraded to the Chef Effortless model to take advantage of the application lifecycle management capability of Chef Habitat
- Chef Automate was used to Increase PoS visibility → The PoS applications reported into Chef Automate UI after Chef compliance runs.
Why invest in modernizing your Point of Sale systems and how can you get buy-in from your other lines of business?
The tangible business outcomes of modernizing your Point of Sale systems are many, however, here are some main points that will help communicate the value to other lines of business:
- Application development teams: Continuous integration, validation, and deployment to PoS devices leaving teams with more time to work on feature development. Push out changes much faster! Reduce the need for the overnight shift.
- Security teams: Enabling your organization to use compliance as code on PoS and security checks for things like HIPAA and PCI compliance
- Ops teams: Validate deployments in real-time. Roll forward, rollback, canary
Our client enabled their organization’s teams to achieve their individual goals by using DevOps methodologies to modernize the build, test and deployment tooling and processes of the suite of homegrown PoS applications they support. In doing so, they achieved the objectives mentioned earlier and they enabled their internal teams as mentioned here. Win – win for all.
As SMBs and Enterprises struggle to pivot in a landscape permanently altered by COVID-19, digital transformation and technology adoption is even more critical in meeting business objectives, maintaining positive employee engagement and increasing customer satisfaction. If your business utilizes Point of Sale systems, then it is critical to include these systems in your Digital Transformation plan.
I am really grateful to have had the opportunity to work with this client and help them achieve their goals in relation to their PoS system. It was an opportunity for hands-on learning that allowed our DevOps Professional Services team to grow their skills. We are looking forward to helping our next PoS client in their digital transformation. Reach out to me if you want to get started!
Are You Ready for a DevOps Transformation?
While software continues to eat the world at an ever-increasing pace with DevOps, the challenges and struggles of companies implementing DevOps are very real. We all can overcome these challenges by working together, improving our tools, processes, knowledge, and training our workforce.