Diese Case Study ist auch auf Deutsch verfügbar
Heraeus Kulzer, a leading international dental enterprise, would like to digitalize its ordering process for the preparation of dentures. A 3-D scanner, newly developed for this purpose, records the dental impressions of patients right in the dentist’s office and sends the order data directly to the dental lab via a central Internet platform. The lab can receive the incoming orders in the new web interface of the platform and immediately start producing the restorations based on the 3-D model.
This process simplifies the execution of the ordering and production process for crowns and bridges and makes the production process more efficient. The new service saves both costs and time. Additional manual steps, such as order creation, are also simplified. Dentists can now scan in the impressions themselves and use the new platform to send the data to the lab as an electronic order, along with the 3-D model. In this way, the lab can start production after just a few minutes – instead of days. In addition, it is no longer necessary to send in the plaster castings, which can easily be damaged in transport. Finally, the whole process is easier to comprehend. To start with, the scanner and the associated web application are to be marketed in North America, with the option of expanding to other regions.
Goals and requirements
- The new application should provide for intuitive, efficient, everyday use by various user groups.
- The application should be suitable for a worldwide rollout.
- In the future, it should also be possible for the internal IT department at Heraeus Kulzer to service the infrastructure.
- It should be simple to expand and revise the application, if customer feedback during the market launch indicates a desire for changes.
- The application should be designed for large, greatly fluctuating data volumes, because both user behavior and the data volumes that will be created cannot be estimated precisely.
The task of INNOQ, in close consultation with Heraeus Kulzer, was to design and implement the application independently on the basis of AWS, all the way to the start of production.
The implementation using the cloud infrastructure lightens the load on the internal IT organization. In addition, the low-cost scalability of the application is ensured, because AWS permits the use of different computer centers, which are located on the right continent for the target market. Another argument in favor of AWS was the simple internationalization of the offering.
In order to ensure the simple expandability and comprehensibility of the application, we decided to carry out the implementation with microservices and Spring Boot. Spring Boot enables INNOQ to quickly create a lightweight web application that is also well prepared for production in a cloud context. In addition, the microservices architecture will enable Heraeus Kulzer to provide additional products and services simply in the future, which can then be integrated easily, because they can reuse the login, user administration, and design.
During implementation we implemented extensive test automation and set up a continuous delivery pipeline, in order to ensure high-speed software development along with uniform software quality. Any change in the source texts at GitHub starts a Jenkins job at Cloudbees to call up, translate, test, and install the software in an AWS staging environment.
To avoid endangering the scalability of the application through stateful sessions, we utilized statelessness and JSON web tokens (JWT). The microservices are installed on AWS Beanstalk instances with an upstream load balancer with fully automated scaling.
AWS S3 and AWS RDS are used for data storage. To increase the robustness of the application in the face of possible great variations in data volume, the data of the 3-D scans are stored in AWS S3, from which they are also downloaded directly. To send system notifications by e-mail, AWS SES, the email service of Amazon, is used.
In order to make the AWS infrastructure comprehensible and workable for the operational team, we have automated the setup of the infrastructure using AWS Cloudformation templates. This also includes the use of an AWS VPC with various subnets, in order to secure the application on the network level.
Particulars and challenges during the project
- High, greatly fluctuating load
- At peak times, multiple gigabytes per hour of model data must be received and stored securely* The number of servers is therefore scaled highly dynamically in accordance with the respective load (“autoscaling”)* Structure/restructuring of the operational organization
- Concepts and methods for backup and restore
- Manual interventions in the system should be avoided as much as possible; everything is automated
The market launch of new products is always attended by risks and requires the ability to react flexibly to current market requirements. For software applications, this applies both to the technical scope of the functions of an application and to its technical scalability. The microservice-based, stateless application architecture of the new product in connection with various AWS services makes both these things possible, without having to take on long-term financial obligations.
At the start of 2015 we hired INNOQ to implement a web application for a new product, consisting of hardware and software. It was the first time that we carried out a project with an agile development process. Thanks to the good communication and the structured approach of INNOQ, however, we were able to find our way well and will utilize this type of collaboration increasingly in the future. We are also very satisfied with the resulting solution, which has been custom-tailored to our requirements utilizing the capabilities offered by AWS. The microservices architecture selected also permits us to scale easily on the basis of the data volume and enables us to integrate additional products in the existing system simply.Marco Spatz, Program Software Architect
INNOQ in the project
- INNOQ provided a project team consisting of software developers, web designers, and cloud engineers
- Handling the conception, architecture, technology selection, and complete implementation of the service
- Support and consultation for the customer in the configuration and setup of networks and operating environments
- AWS expertise: selection and use of appropriate products, automation of the setup of operating environments
- Conception of an expandable and flexible microservices architecture with test automation and continuous delivery pipeline