A company’s tech stack can have a huge impact. Evolvability is an essential factor here alongside security, legal aspects, resources, and performance.
With allmyhomes evolving to become an international platform, the company
is relying on a tech stack that promises to respond to future demands.
A technology stack – known as a tech stack for short – is an underlying element when it comes to
developing software. Basically, it is a combination of the operating system, web servers, programming languages, third-party software, programming tools, and solutions, such as those used for logging and
the persistence layer.
It is tricky to strike the right balance between using everything and anything and being very selective in
what is used. After all, the more programmers a company has, the more diverse knowledge relating to the tech stack will be available. Using countless applications brings with it the risk of getting bogged down in never-ending maintenance and having to waste no end of resources on keeping all kinds of systems running smoothly. Taking the opposite approach, though, comes with the danger of getting stuck in a rut and not keeping an open mind when it comes to different new solutions. This can soon be detrimental to quality
and result in dreaded information silos.
With all of this in mind, allmyhomes uses its own standards and focuses on the following foundation elements:
- Back end: PHP with Laravel as the framework
- Front end: Ionic based on Angular
- Google cloud solutions
- Containerization and container orchestration: Docker and Kubernetes
As allmyhomes relies on a microservice architecture, various standards such as OpenAPI and RESTful are also involved. Unfortunately, a microservice architecture of this kind can soon result in a distributed monolith. That’s why allmyhomes decided to also use event-driven architecture, relying on Kafka as the major player in this field. As far as planning and design are concerned, allmyhomes follows a domain-driven design approach to stick as closely as possible to the business domain as it develops.
Elastic Stack is the preferred provider for logging (Beats, Logstash, Elasticsearch, and Kibana), while New Relic is used for monitoring. Right now, allmyhomes is focusing on all of these technologies. The team iterate and use scrum methodology to make sure that they stay on track.
Allmyhomes combines the results and lessons learned from the scrum process with data and findings from business intelligence (link to BI text) to ensure that it can quickly adapt its software solutions to internal and external circumstances and changes. And prototyping is used to check out new technologies and processes, with a view to continually creating progressive experiences and products.