Modernizing your Point of Sale Systems with DevOps

Sharyl Jones
VP, DevOps

Here at Indellient, we have helped our clients with their DevOps and digital transformations for over two years now. My team has been embedded in client teams:

  • 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.

Overview


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:

  1. Resource Constraints
    • Limited network bandwidth
    • Unstable network connection
    • Hardware limitations
    • Legacy Operating Systems
  2. Configuration Drift
    • Manual config
    • Little to no visibility into state
    • Manual auditing
    • The overnight shift needed to ensure deployments went smoothly
  3. 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:

  1. 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.

  2. Roll forward/Roll back → when deployments go wrong, quickly roll forward with bug fixes or roll back when a bigger issue is encountered.

  3. Achieve continuous, automated, configuration management → Achieve compliance, increase security and avoid drift caused by one time fixes

  4. 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:

  1. 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.
  2. 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
  3. Chef Automate was used to Increase PoS visibility → The PoS applications reported into Chef Automate UI after Chef compliance runs.

Business Value

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.

What’s next

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.

Learn More

About The Author

Sharyl Jones

As VP DevOps at Indellient, Sharyl oversees the delivery of DevOps services to ensure customer success. Sharyl leads a team of top DevOps Solution Engineers and supports initiatives centered on delivering professional services on-premises or in the cloud for medium and large-sized enterprises. She specializes in providing strategic leadership, guidance, and planning to help enterprises with their DevOps transformation. Sharyl's business experience includes: 25+ years of progressive experience in technology-related roles in dynamic environments | Deep understanding of all aspects of software development, architecture, including coding, testing, release planning, support | Over a decade of experience managing technical teams, mentoring, performance management and delivering results | 8+ years of experience taking complex projects from initial concept through final launch including web, mobile and distributed systems | Experience developing project management frameworks, software release processes and testing harnesses to deliver high quality software products | Evangelist for the 'shift to the left' - promotion of DevOps Culture and moving to the Cloud | Strong leader with a passionate drive in team motivation, Growth mindsets, culture first | Exceptional strategic thinker with the ability to analyze and creatively solve technical problems.