Domain-Specific Service Decomposition with Microservices API Patterns
Olaf Zimmermann @ University of Applied Sciences of Eastern Switzerland, Rapperswil (HSR FHO)
February 19th, 2019, afternoon session
Service orientation is a key enabler for cloud-native application development. Microservices have emerged as a state-of-the-art implementation approach for the realization of the Service-Oriented Architecture (SOA) style, promoting modern software engineering and deployment practices such as containerization, continuous delivery, and DevOps. Designing (micro-)services interfaces’ to be expressive, responsive, and evolvable is challenging. For instance, deciding for suited granularities is a complex task resolving many conflicting forces; one size does not fit all. Domain-Driven Design (DDD) can be applied to identify and specify service boundaries. However, service designers seek concrete, actionable guidance going beyond high-level advice such as “turn each bounded context into a microservice”. Interface signatures and message representations need particular attention as their structures influence the service quality characteristics. This presentation first recapitulates prevalent SOA principles, microservices tenets and DDD patterns. It then reports on the ongoing compilation of complementary Microservices API Patterns (MAP) and proposes a set of pattern-based API refactorings for service decomposition. Finally, the presentation highlights some of the related research and development challenges.
Fabrizio Montesi @ University of Southern Denmark
February 20th, 2019, morning session
Microservices come at a price: they have to be integrated to get a meaningful application. This motivated the creation of tools that make integration easier. Today, we spend more time developing integration than actual applications, so this development could not have come at a better time. Enter Jolie, a microservice-oriented programming language. By offering native linguistic features for composing microservices, Jolie has become a swiss army knife that can be used by integration ninjas and wise software designers that plan for maintanable software. To explore how microservices and Jolie can make us productive with integration, we’ll develop microservices for a concrete business idea: a publishing platform for sharing Chuck Norris jokes. Technically, we’ll create an API gateway for two different third-party Internet websites, integrate their behaviours, and ultimately get what we want without having to host either of them. Would you write object-oriented software without an object-oriented language? Ask yourself again, but for microservices, after you see this talk.
Factory of Things - Using Microservices for Data Processing and IoT
Jörn Esdohr @ com2m GmbH
February 21th, 2019, afternoon session
Industrial devices and machines, ranging from lights over elevators to complete factories, are producing large amounts of data. Some of it is used to grant simple ad-hoc monitoring and control capabilities, but a lot of this valuable resource ends up discarded due to the lack of a comprehensive data processing infrastructure. Microservices provide a reliable and performant architecture for the Internet of Things (IoT) to connect devices on a large scale, which provides a path to collect and analyse the flood of accumulating application data. At com2m, a containerized microservice-based IoT platform was developed leveraging graph and document databases, and modern web technologies. We present the Factory of Things as a showcase that demonstrates the real-world integration of a manufacturing line powered by programmable logic controllers. The IoT platform enables new data processing possibilities to monitor devices and enables the development of rich data-based services.
Ramón Medrano Llamas @ Google
February 20st, 2019, morning session
How do you scale up a service, so it can serve millions (or billions!) of users around the globe, make it reliable and fast while maintaining development speed and change safety? This talk introduces Site Reliability Engineering (SRE) at Google, explaining its purpose and describing the techniques it uses and the challenges it addresses. SRE teams manage Google’s many services and properties, plus all the brand new Cloud infrastructure from our offices worldwide. They draw upon Linux based computing resources that are distributed in several data centres around the globe to deploy, manage, and serve globally available services four billions of users.
Build Fashionable Container Systems with Microservices, Clouds, and Kubernetes
Peter Rossbach @ bee42 solutions gmbh
February 21st, 2019, afternoon session
Transform your organization and systems so that they no longer need an end-state. Modern clouds and the container technology help you to build self-healing autonomous scalable systems around the globe. The Cloud Native Computing Foundation ecosystem offers you many features to setup and manage complex cloud-native container systems. Serverless or microservice architectures need a lot of glue infrastructure components. In this talk I will show you some automation practices, such as infrastructure as code, release automation, and container orchestration. We build container systems in conjunction with Kubernetes and Clouds. As a developer you will learn how you can easily control your stage environments, reuse setups, and how to release your complete application stack with cloud-native technologies.