Jari is a software architect with experience in both web and mobile development. He's currently developing new online services for the Finnish Institute of Occupational Health using AWS, microservices, Docker, and continuous delivery.
A Platform For Online Services
The past one and a half years has been exciting for our team at the Finnish Institute of Occupational Health (FIOH). Not only because of the new technologies we’ve had a chance to work with but also because of the possibility of being part of one of the biggest transformations in FIOH’s history thus far. The actual software project kicked off in January 2015 with a goal of creating two new online services: Laatuportaali.fi / Työterveydeksi.fi and Nollis.fi. Well actually, it was not only about creating two new services but rather about creating a new platform which enables and supports the creation and maintenance of new online services.
The platform is part of FIOH’s broader strategy and transformation of moving its existing services online. It’s meant to provide a base for rapidly and cost effectively creating new online services according to business needs and based on FIOH’s existing services. Laatuportaali and Nollis were the first two pilot services built on top of the platform. In contrast to building the pilot services by different development teams on top of different architectures, the platform showed its business impact in that the services could be built concurrently by one development team on top of a common architecture with a great deal of reusability. The platform and its underlying microservices architecture also allow future services to reuse existing microservices built for the pilot services.
The Development Process
The current development model is based on the assumption that one development team is responsible for the concurrent development of multiple services with different product owners. The services are developed in close cooperation with FIOH’s customers by first creating an initial release and then enhancing on the initial release one feature at a time in 2-3 sprint increments. The architecture of the platform as well as the automation and continuous delivery pipelines enable a very user-driven iterative and reactive development model which supports FIOH’s broader strategy and online transformation. Frequent releases allow for faster user feedback which in turn makes it easier to react to changing user needs and possible problems. The platform is very well suited for a lean and agile development process as the automation and continuous delivery pipelines help to provide value more rapidly by minimizing time to market.
The Value of DevOps
Not having a separate operations team or infrastructure provider also brings a lot of flexibility and agility in managing the platform in addition to easing communication. This has been enabled by Amazon Web Services (AWS) and a DevOps-based culture adopted by our development team. Additionally, using a cloud provider, having the development team take responsibility of operations, and treating infrastructure as code brings a lot of cost savings. Resources can be scaled based on need, setting up new servers can be done within minutes, and managing the infrastructure in general is easier. Also, the microservices-based architecture makes it easier to respond to changing business needs as individual microservices can evolve independently of each other.
The Importance of Trust
One of the biggest enablers has been the trust between FIOH and the development team
What’s made all of this possible? One of the biggest enablers has been the trust between FIOH and the development team. From the beginning, FIOH wanted to adopt an agile approach to development and they trusted the development team to choose the technologies that best support the goals of achieving reusability and rapid development. As a result and after careful consideration, we opted for a microservices-based architecture using Docker containers and AWS. We also realized that we need to adopt a continuous delivery approach and infrastructure automation for managing the complexity introduced by microservices. Considering that one and a half years ago Docker was one of the latest buzzwords, FIOH was and still is in many ways one of the most innovative public sector organizations in Finland in regard to adopting AWS and new technologies and approaches. Now, we’ve been running microservices and Docker in production on AWS for over a year with positive results.
I feel lucky having had the opportunity of being part of this project and our team. The project provides a good example to other public sector organizations of how adopting an agile and a DevOps-based development approach provides more value faster and with less cost. We can already see the effort we put into the architecture, infrastructure automation, and continuous delivery pay off. As the platform was built around reusability and evolution, we hope to see the platform enable even more new business opportunities and cost-savings in the future. As a matter of fact, we’re glad to announce that we continue our successful partnership with FIOH for the next five years. In the next blog post, we’ll delve deeper into the architecture and technologies that power FIOH’s service platform. Until then, be sure to check out how we do UX design at FIOH.