Reddit Experience · Feb 2024

How to modernize On-Premise business?

3 upvotes 7 replies

Interview Experience

Hi there! The company I work at develops a rather large PHP monolith which requires 3-4 infrastructure services such as an SQL database, a KV store, Apache webserver etc. This monolith started as Wind

Full Details

Hi there! The company I work at develops a rather large PHP monolith which requires 3-4 infrastructure services such as an SQL database, a KV store, Apache webserver etc. This monolith started as Windows on-premise product where customers were simply given a ZIP file with all programs prepared so that the customer would simply create Windows services for each program and be done. Over the years the company grew and gained \~ 500 customers which all received on-premise installations. A windows installer has been build arround the given ZIP files so that the installation process seemed more professional. Today, we face the challenge of moving forward: Updates of these customers have always been a mostly manual process of 1. packaging an update (for example updating PHP to a newer version, including customized configurations for our application) and 2. manually transferring and applying the update to customer systems. The cost of this increases rapidly when doing major architectural changes (like adding services / databases / infrastructure). I am sure most will agree that this is tedious and not scalable without continiously adding staff. We also have hundrets of customers using our SaaS cloud (same product) where all of these concerns are not really existing since we use Docker and CD to deploy our application and general architecture. I want to modernize the On-Premise scenario. I am sure there are solutions. Some idea's which may or may not work: * Use a package manager (similar to windows): I know of <a href="https://chocolatey.org/.

About This Question

This is a candidate experience report from a zip interview for a swe role (staff level) reported in 2024.

It covers the following topics: Sql, System Design .

Difficulty rating: Easy