In the final days of October, the Service Prototyping Lab at Zurich University of Applied Sciences (ZHAW) hosted two doctoral candidates who take part in the structured doctoral programme Information Technology and Systems at Universidade Eduardo Mondlane (UEM) in Maputo, the capital of Mozambique. The candidates Martina Barros and Ambrósio Vumo arrived from Germany, as they spent a significant part of their research time at Technische Universität Dresden (TUD) as part of the DAAD-funded joint programme Welcome to Africa. The realisation of this programme also involves the Service Prototyping Lab as competence centre for research and innovation on cloud applications and new services for digital economies. This article describes how innovation transfer was conducted during the stay.
We are proud to announce that the ICCLab has released Hurtle!
What is hurtle?
With Hurtle, you automate the life-cycle management of any number of service instances in the cloud, from deployment of resources all the way to configuration and runtime management (e.g., scaling) of each instance. Our motivation is that software vendors often face questions such as “How can I easily provision and manage new instances of the service I offer for each new customer?”, this is what Hurtle aims to solve.
In short, Hurtle lets you:
offer your software as a service i.e. “hurtle it!”
In Hurtle terms, a service represents an abstract functionality that, in order to be performed, requires a set of resources, such as virtual machines or storage volumes, and an orchestrator which describes what has to be done at each step of a service lifecycle.
A “service instance” is the concrete instantiation of a service functionality with its associated set of concrete resources and service endpoints.
On top of this, Hurtle has been designed since its inception to support service composition, so that you can design complex services by (recursively!) composing simple ones.
Hurtle’s functionality revolves around the idea of services as distributed systems composed of multiple sub-applications, so the services offered are also ones that can be designed with the cloud in mind, based on the cloud-native application research of the ICCLab.
What does it mean to offer software as a service?
A bit of history first. Traditionally software has been ran locally, then was centralised and shared through intra-nets. All of this was still on company-specific infrastructure. This made hosting, provisioning and managing such software difficult and the full time job of many IT engineers and system administrators.
This quickly brought about the argument that IT in a SME or an enterprise was a cost centre that should be minimised and lead to outsourcing of such tasks to 3rd parties.
Now today with the ever growing acceptance and use of cloud computing the cost equation is again further reduced, but more interestingly, cloud computing reverses the trend of outsourcing operations to third parties if you consider the movement of devops.
In this new world organisations that create software don’t want nor need third parties to manage their software deployments. They have much of the tooling needed, developed in-house. If they don’t, yet still want to follow a devops approach they’ve quite an amount of work ahead of them.
It is in this scenario where hurtle can help!
What can hurtle do?
- Complete orchestration of your software
- Resources it uses (e.g. virtual machines, networks)
- External services it needs
- Multi-dc/multi-region support
- including inter-DC connectivity
- Easy implementation of your service API – See how to write your Hurtle Service
- Guided implementation of your service instance manager
- Many languages supported including Python, Java, Perl, PHP
- Demo applications available
- Scalable runtime management
- Complete end-to-end logging of your software
- Integration with OpenStack, ICCLab’s Joyent SDC contribs
- Handle potential incidents of your software
- Integration with ICCLab’s Watchtower (Cloud Incident Management)
- Bill for your software and services
- Integration with ICCLab’s Cyclops (Rating, charging & Billing)
- Leverages Open Cloud Standards (OCCI, OpenStack)
What will hurtle do?
- More examples including the cloud native Zurmo implementation from ICCLab
- Enhanced workload placement, dynamic policy-based
- Support for docker-registry deployed containers
- Runtime updates to service and resource topologies
- CI and CD support
- safe monitored dynamic service updates
- TOSCA support
- Support for VMware and CloudStack
- User interface to visualise resource and services relationships
- Additional external service endpoint protocol support
Want to know more?