Tutorials

Designing Scalable and Secure Microservices by Embracing DevOps-as-a-Service Offerings

Speakers: Demetris Trihinas, Athanasios Tryfonos, Marios D. Dikaiakos

Description

This tutorial examines the fact that simply re-engineering applications into microservices does not remove the operational complexity and risk of failure.  In the Cloud era, as applications grow by adding more services, security enforcement and dynamic resource allocation become significant challenges. At scale, these challenges can be addressed with autonomicity.  Through automation, microservices are equipped with the ability to continuously control the underlying infrastructure, thus turning into services that can be programmatically harnessed.  However, traditional monitoring is deemed ineffective for decomposed and highly dynamic microservices deployed over shared execution environments.  On the other hand, finer service granularity means more moving parts and hence an increased complexity of auto-scaling, more points of failure and more possibilities for severe privacy violations.

To  overcome these challenges and take full advantage of the rapidly evolving microservices landscape, we will introduce the Unicorn DevOps-as-a-Service  platform, which  provides software teams of all sizes with a powerful toolset to simplify and speed up the development and management of scalable and secure applications over multi-cloud environments.

Target Audience

  • Academic researchers
  • Software developers
  • DevOps Engineers
  • Anyone with a programming background and with some exposure to cloud environments, software version control, and Unix operating systems

Tutorial Program
Monday, 10 Dec

  • Tutorial (Part A) | 14.00 – 15.30
  • Tutorial (Part B) | 16.00 – 17.30

Tutorial Structure

Section 1 – Introduction to Microservice Architecture Paradigm

Section Description – (Program Part A)
This section provides a comprehensive overview of the microservice architecture paradigm, the association of microservices with the DevOps culture principles and the enablement of microservices through containerized execution environments. A brief introduction to the concept of containerization is provided along with an overview of where containers sit on the virtualization stack and how they fit in the cloud computing paradigm. The container runtime of choice is Docker, as the industry current golden standard, and Docker Compose will also be used to ease microservice configuration and showcase service portability.

Learning Outcomes
● Have a clear sense of what are microservices and why this paradigm constitutes a revolutionary shift in software development.
● Understand how Docker orchestration tools (e.g., Docker Compose) can be used to automate microservice deployment on public cloud offerings

Section 2 – Technical and Hands-on

Section Description – (Program Part B)
This section lectures the audience on the design of applications following the microservice paradigm and enabled through the Docker container runtime on public cloud offerings(Google Cloud, OpenStack). To ease microservice development, popular open-source frameworks (e.g., Spring Boot, nginx, Netflix OSS) for web applications will also be introduced. During this part, light is shed on the open challenges that arise when designing and deploying secure microservices at scale that prevent developers from fully embracing continuous delivery in their software development pipeline. This part of the tutorial is also intended as a hands-on experience and welcomes any members of the audience to use their laptop and the provided software artifacts to run the presented examples.

Learning Outcomes
● Acknowledge the principles that designate applications as microservices and understand the process flow in designing web applications as microservices with the use of popular frameworks (e.g., Spring Boot, nginx Netflix OSS) from the open-source ecosystem.
● Leverage Docker and its toolset (e.g., dockerfiles, docker hub) to containerize and run web applications as microservices

Section 3 – UNICORN DevOps-as-a-Service

Section Description – (Program Part B)
This section introduces the audience to the Unicorn DevOps-as-a-Service platform which is developed as a unified solution to overcome the open challenges previously presented.Specifically, we will extend in a few simple steps the exemplary microservices introduced in the previous section with the Unicorn feature set to show developers how they are able to simplify and speed up the design and management of scalable, secure and portable microservices over containerized cloud execution environments.

Learning Outcomes
● Acknowledge the existence of the Unicorn DevOps-as-a-Service platform offerings to speedup the design of secure and scalable microservices and ease the runtime management of large-scale and distributed deployments.

Github Repository of the tutorial

https://github.com/UCY-LINC-LAB/CloudCom2018-Tutorial

 

Biography of Presenters:

Demetris Trihinas is currently a Faculty Member at the Department of Computer Science, University of Nicosia and a Postdoctoral Researcher at the Department of Computer Science, University of Cyprus. His research interests include Distributed and Internet Computing with particular focus in Big Data Analytics for Cloud and Edge Computing. He received his PhD degree from the University of Cyprus in 2017 with his dissertation targeting developing low- cost probabilistic and adaptive learning models for approximate monitoring in order to improve energy-efficiency and reduce the volume of data generated by IoT services offered through the cloud. He additionally holds a MSc in Computer Science from the University of Cyprus and a Dipl-Ing in Electrical and Computer Engineering from the National Technical University of Athens (NTUA). Dr. Trihinas is also the developer of the JCatascopia cloud monitoring system, the AdaM framework for IoT devices and also an active member of the Cloud Application Management Framework (CAMF) which is an ocial Eclipse Foundation project. His work is published in IEEE/ACM journals and conferences such as Trans. Services Computing (TSC), Trans. Cloud Computing (TCC), ICDCS, INFOCOM, BigData, CCGrid, and ICSOC.

Athanasios Tryfonos is a DevOps Engineer and Software Developer at the Laboratory of Internet Computing of the Department of Computer Science at University of Cyprus. His interests include Cloud Computing, Virtualization & Containerization Technologies, Microservices and modern DevOps Tools and Practices. He received his BSc from the Department of Computer Science at the University of Cyprus with his thesis focusing on artefact management for the Cloud Application Management Framework (CAMF) which is an official Eclipse Foundation project. He is currently member of the development teams of UNICORN H2020 Project and ENEDH Interreg project. Athanasios has previously worked as a web application developer and systems administrator as well.

Marios D. Dikaiakos is Professor of Computer Science at the University of Cyprus and director of the University’s Centre for Entrepreneurship. He served as Head of the Computer Science Department in 2010-2014. Dikaiakos received his Ph.D. in Computer Science from Princeton University (1994), an M.A. in Computer Science from Princeton (1991), and a Dipl.-Ing. degree in Electrical Engineering from the National Technical University of Athens (summa cumlaude, 1988). Dikaiakos research focuses on the design, development and evaluation of large-scale distributed computing systems and tools. Prof. Dikaiakos has over 20 years of experience as principal investigator, principal institutional investigator or participant in research projects funded by European and American agencies. His research work includes over 160 original publications in books, journals and international conference proceedings, the editing of books and conference proceedings, and the direction of research projects at the University of Cyprus with a total budget exceeding 4 million Euros for the period 2000-2018. He has also served as program chair, co-chair and program committee member in numerous international scientific conferences; independent evaluator of European academic and research institutions; reviewer and evaluator for research proposals submitted to the E.U. and to several national European science foundations; and independent observer of proposal evaluation exercises of the E.U. under Framework Program 7. He is a Senior Member of the ACM, was a member of ACMs Distinguished Speakers Program (2012-2015), a member of the IEEE Computer Society and the Technical Chamber of Greece. More details can be found under: http://www.cs.ucy.ac.cy/mdd/.