A space to explain -step by step-how we are developing the UNICORN software
Coping with success: Cloud platform UNICORN ease games growth pains and resulting customer disappointment?
Taming the cloud with UNICORN
In 2016, multi-cloud management and cloud cost optimization specialist RightScale surveyed 1,060 tech professionals across a broad cross-section of organizations about their adoption of cloud computing. The subsequent findings (detailed in their “State-of-the-Cloud” report here) were a key inspiration for UNICORN, an EU Horizon 2020 research and innovation project to facilitate the design and deployment of cloud applications and services, improving developers’ productivity by reducing cloud application design time via code annotations and blueprints for security. Although cloud deployment provides a powerful way to automate application and infrastructure management, developers have noted that hybrid deployments raise the complexity of monitoring and management across multiple clouds (according to the 2016 report, SMEs use up to six different clouds on average and one out of five SMEs manage deployments with more than 1000 virtual machines).
Key challenges and UNICORN
From a development perspective, designing secure software and ensuring customer data privacy is challenging enough, but resource scaling (“elasticity”) introduces yet another important cloud deployment issue to tackle as well. Several application management platforms claim to address these issues, including proprietary solutions like AWS CloudFormation and Oracle Exalogic (locking users to their specific providers) and open frameworks like CAMF and Juju (allowing users to choose their cloud provider, including AWS, Google Compute Cloud and Microsoft Azure). However, none of these solutions wholly resolve data protection and privacy concerns or provide the ability to manage the lifecycle of a cloud service distributed across multiple availability zones and/or cloud sites. Techniques to deal with elasticity properties covering resources, costs and quality are also not well-supported. Most significantly, these tools are designed to address cloud management issues after application development, delaying time-to-market and thus hitting especially SMEs and start-ups with smaller development teams hard. By reducing cloud application design time via code annotations and blueprints for security, UNICORN aims to solve all these cloud application and services issues for developers.
ProsocialLearn – a game development example
The Prosocial Learning Digital Game (PLDG) demonstrator is a cloud-based multiplayer game in which players (in particular school-age children) develop their social skills. The overall development process has highlighted several technical issues, including data volume handling, rapid scaling, security/authentication and compliance. Developer Redikod is using a modified version of Unity’s uMMORPG multiplayer game base for the PLDG demonstrator’s client and server. The game client and game server are running together in a docker container along with nginx to host the game client, specifically a WebGL build and nodejs server using expressjs for communication with the demonstrator’s external host server (running the central ProsocialLearn platform infrastructure) that controls the game lifecycle via voice chat using peerjs. One important barrier encountered with Unity is that it does not support secure web sockets, required by the developer to serve content via secure https. To work around this, Redikod included a plug-in with the WebGL build that changes all ws calls to wss calls. That does not work with the server though, so nginx has been used as a reverse proxy so the Unity server can use unsecure web sockets, but the client connects with secure ones. Redikod has also encountered issues with voice chat not having access to the ssl certificate used to serve secure web pages and services. Since the peerjs server cannot be served from the same location as the game is served, Redikod had to set-up a peerjs server on a separate web server. There are also some issues with getting peerjs and voice sensors to work simultaneously, especially in a push-to-talk environment. ‘ UNICORN-enhanced cloud computing applied to the PLDG demonstrator enabled a rapidly scalable, cost-effective IT infrastructure on demand, coping with rapidly growing user demand at different times and with enormous, fluid and constantly updated datasets by applying elasticity policies through annotations within the game’s source code, while satisfying particularly strict security needs with enforcement annotations, and privacy requirements via mechanisms that restrict data movement between different geographic regions.
Join the dev competition!
UNICORN has also launched a contest to test and validate the platform by developing software or use-cases using the UNICORN framework, with twelve selected SMEs and start-ups to each receive 10,000 EUR in funding. The submission deadline is 28 February – so learn more about UNICORN and the contest at unicorn-project.eu and apply now!
In the course of the last years, due to the increasing complexity of IT networking, a variety of processes have changed. For example, a few years ago, software and hardware were increasingly being acquired and used for stand-alone operation, while more and more companies are currently sourcing their resources via the cloud services market. This increases the flexibility and cost efficiency of the use of information and communication technology. By relieving small and medium-sized enterprises (SMEs) through the use of cloud services, it will be easier for them to focus on the core business, which could increase the competitiveness of SMEs. But not only companies rely on it. Private users as well as authorities use cloud-based IT services. Standardization in terms of quality improvement and assurance could play a significant role, especially in such forward-looking topics.
The international standardization committee ISO / IEC JTC 1 / SC 38 "Cloud Computing and Distributed Platforms" performs the corresponding standardization work. Recognizing the potential of this new technology paradigm, consumers of IT technologies and services are demanding standards to assist in their transition to Cloud Computing. The work of SC 38 covers the different aspects of standardization in the areas of Cloud Computing and Distributed Platforms including:
• Foundational concepts and technologies,
• Operational issues, and
• Interactions among Cloud Computing systems and with other distributed systems
Since holding its first meeting in May 2010, SC 38 has developed a variety of important Cloud computing standards. Two of these are for instance the foundational standards ISO/IEC 17788:2014 (Ed. 1) “Information technology -- Cloud computing -- Overview and vocabulary” and ISO/IEC 17789:2014 (Ed. 1) “Information technology -- Cloud computing -- Reference architecture”. Foundational standards that deal with vocabulary and reference architecture are essential for developing standards that go further considering the specific technology. For instance the ISO/IEC 19941 specifies cloud computing interoperability and portability types, the relationship and interactions between these two cross-cutting aspects of cloud computing and common terminology and concepts used to discuss interoperability and portability, particularly relating to cloud services. Furthermore, the ISO/IEC 19086 series deals with the standardization of Service level agreements (SLAs).
These kinds of standards help cloud providers in their daily routine, since cloud providers have to guarantee that their cloud service is in accordance with data protection. By introducing the EU General Data Protection Regulation (GDPR) in May 2018, this matter became especially for European countries more relevant than ever. Certain cloud customers may only rely on the offer of cloud providers, who can demonstrate that compliance with data protection is guaranteed. International Standards reflect the state of the art and therefore are reviewed every five years. During the review, it is decided whether the standard should be confirmed for another five years, revised or withdrawn. Due to this, International Standards are always up to date. Since standards reflect the state of the art, using Cloud Computing standards can increase the quality and trustworthiness of cloud providers. Having Cloud Computing standards is therefore beneficial both for the cloud providers and cloud customers. Since introducing the GDPR this year and the significant Cloud Computing standards being ISO/IEC standards, the thought of CEN/CENELEC starting to develop European Standards (EN) in the field of Cloud Computing could be debated. While International Standards have the higher priority in comparison to European Standards, it could be worth a thought, whether European Cloud Computing standards are needful at this time, since the EU GDPR has been introduced this year. It is probably not unthinkable that there could be talks between ISO and CEN/CENELEC regarding this matter in the future.
The article was written by Samarkhel-Khan Yahya from DIN
You can download the article here
Unicorn is a novel framework that helps SMEs and START-UPS to adopt cloud computing for the deployment of services. Developers can focus on developing their services using the suggested development paradigm and let Unicorn Orchestrator handle elasticity, security, resilience and performance across heterogeneous clouds, such as public or private enterprise clouds, or even hybrid clouds.
Cloud Computing has reached virtually all areas of society and its impact on service development, production, provision and consumption is manifold and far-reaching. Inevitably, as recent studies and our Stakeholder and Requirement Analysis study of 20 personalized interviews with potential stakeholders suggest, Small and Medium Enterprises (SMEs) and Startups tend to embrace cloud computing to run parts of their application