dataJAR provides Apple device management solutions, automating and simplifying the management of Apple technology at scale for businesses and education institutions. Founded in 2013, it now has more than 300 customers and supports in excess of 60,000 Apple iOS devices. Now widely recognised as the leading practical expert in the Apple space, dataJAR’s partnership with Ekco began in the early days, when it was an ambitious start-up.
When dataJAR first approached Ekco, it had challenging scalability issues, which affected its ability to efficiently onboard and support new customers. As a young start-up, it built its practice around Jamf Pro and leveraged its capabilities to service distributed fleets of managed Apple devices.
The application was hosted with a traditional client/ server architecture, deployed on individual virtual machines (VMs) running Apache Tomcat and MySQL. Jamf Pro was designed to run as a single installation, supporting a single customer. This meant it was not easily scalable and would present challenges for the dataJAR team as its customer base grew.
dataJAR needed the software to operate as a multi-tenanted Platform as a Service if it was to grow its business. Partnering with Ekco enabled dataJAR to resolve these architectural issues to evolve its platform and scale easily and cost-effectively.
To solve dataJAR’s scalability issues, Ekco recommended refactoring the application into a container-based solution on Kubernetes (K8s) running on a Private Cloud. This new architecture would provide dataJAR with greatly improved flexibility. The team would be able to onboard new customers quickly while managing individual client needs within a single platform. This was achieved by hosting each dataJAR customer in a dedicated Kubernetes pod, isolated from one another within the platform, rather than having to build a dedicated environment for every new customer.
The benefits of this architecture are the inherent security and scalability of this segmentation. This allows the K8s pod, servicing a customer with several thousand devices, to dynamically scale differently to another customer with only 30 devices. By its very nature, the separate K8s pods ensure customer data is securely isolated.
While client A could get upgrades to the management software to enable new features immediately, client B could defer those upgrades until end-user integration and stability issues were tested and resolved. This flexibility was impossible in the old client/ server architecture.
dataJAR’s director and head of services, James Ridsdale, explains why his engineering team was very specific about wanting to build on private cloud infrastructure:
“With a larger vendor, you do not know exactly what equipment your application is sitting on. With Ekco, our refactored application was deployed on their high-performance, high-availability multi-tenanted Private Cloud. By design, this has proven both stable and scalable, catering for dataJAR’s growth as we have moved from start-up to scale-out.”
Adding a bespoke billing system, Ekco has enabled dataJAR to forecast growth in their usage to avoid incurring costs for growth until the moment they actually start using the additional capacity. This flexibility has proven to be valuable and has allowed dataJAR to scale cost effectively.
James elaborates: “There was a fixed unit we could directly attribute to our cost of sale with each customer. There are a number of unique components that make up our products and, when you get these as a fixed cost at a contract level, with different units of scale, it is very easy to work out your margins and maintain profitability. You know where you are. It has enabled us to get a clear picture of what we have sold, what we are going to sell and what the remaining contract value is for the life of each customer. It gives us security and confidence in our overall profitability and COGS as the business continues to scale.”
The containerised Jamf Pro platform has been operating for more than three years on Ekco’s Private Cloud. It has scaled steadily as dataJAR attracts new customers and has grown to become a market leader in the space.
Throughout the partnership, valuable expertise has been provided. After refactoring and containerising the application and setting up the Kubernetes platform, Ekco enabled dataJAR to assume the primary management role of their platform for themselves. dataJAR was able to learn from and expand on the initial tooling created by Ekco. Now when dataJAR needs to add or remove a client, the team performs these tasks themselves, while leveraging Ekco for advice and guidance on larger projects.
Ben Toms, dataJAR’s head of innovation and platform, had the following observation:
“One of the things we love is having subject matter experts on tap – being able to say ‘right folks, we want to do this’ or ‘we want to achieve this, how do we do it with this toolset?’. They help bridge that knowledge gap, which has been really great.”
Ekco continues to assist dataJAR in day-to-day performance management. Over time, as the platform grew, dataJAR was creating a dedicated container image for each new customer. The K8s pods that serviced the customer would use this dedicated image. It was easy enough to create a new version of the basic container image for each new customer, with the relevant configuration details embedded in the image. However, as the customer base continued to grow into the hundreds, this became unwieldy. Ekco helped dataJAR by streamlining their container images down to a single, master image. The relevant per-customer configuration details are passed into the running container at creation time, simplifying overall platform management.
This is a truly collaborative partnership that evolves as dataJAR’s needs change, which Ben Toms sums up simply: “Ekco worry about the infrastructure, we worry about servicing our customers.”