Software Architecture for a Technology Pioneer
“We needed someone to show us how to do it properly.”
Project key data
2 people
3 months
Software architecture, consulting and coaching; cloud application development
DevOps, continuous integration, continuous deployment
Python, SQL
Docker, serverless architecture
Why we like showing this case
Most of our customers are highly innovative companies with very clever minds. We don't always have to develop everything for them on our own. It can be fun to coach a medium-sized technology company like Lumics to build up missing IT skills themselves so that they can then play to their strengths with less friction loss. Will this make us superfluous? Perhaps a little. But a long-term successful customer with growing business feels better than a thousand person-days sold. And if our customer wants to scale up, our Life Cycle Team is ready and waiting.
Task and solution
Over the course of two decades, Lumics GmbH has evolved into one of the leading suppliers of diode lasers. Their IT systems for development, resource planning and operations came into being successively. Commercial software components have been combined with in-house developments over the years. Improvisation at a high skill level compensated for the lack of a suitable architecture. However, growth and staff turnover pushed the system to its limits: It was barely auditable; because effective DevOps methods were lacking, any intervention in the system became very risky.
Lumics commissioned us to raise its own software landscape to a professional level without losing the many applications that had been developed over the years. We designed a system architecture, laid the cornerstones for interfaces to integrate existing and future applications in a controlled manner and defined the components required for reliable DevOps. We moved security-relevant applications to the cloud and showed Lumics how to ensure absolute data security and scalability. We also won over Lumics' holding company's IT department, with whose systems and specifications we had to remain or become compatible.
Our own roots in the field of physics and our long experience in many high-tech industries helped us to precisely understand and meet Lumics' requirements.
The importance of good DevOps practices
Effective DevOps practices are essential for making complex software systems reliable, adaptable and efficient. For technology companies, this means that product innovations can be on the market faster and costs can be reduced. Unfortunately, there is no short, exhaustive explanation of the term. Good DevOps practice results from a range of methods that interlock and fundamentally improve collaboration between IT development and IT operations, such as:
Continuous Integration and Continuous Deployment ensure that new features reach the production environment quickly but in a controlled manner and that integration issues are detected early.
Monitoring ensures rapid detection of deviations and glitches during operation.
Versioning systems make changes transparent and traceable and enable parallel working.
DevOps are not individual components, but a "best practice" set of behaviors, and as the old saying goes: best practice is an output, not an input. They sure requires system components, but they must be trained and applied by everyone involved.
We set up the processes and components required for DevOps for our customers - preferably as part of a development team, but if necessary also as coaches, teaching how to apply them. This way, our customers benefit from the many years of experience we have gained with DevOps in various organizations and build up a high level of skills in their own organization.
→ Questions or thoughts software architecture or DevOps best practice? Dr. Markus Quade is looking forward to your message.