Loading…
This event has ended. View the official site or create your own event → Check it out
This event has ended. Create your own
View analytic

Sign up or log in to bookmark your favorites and sync them to your phone or calendar.

Wednesday, February 15
 

09:00

Training: Building Microservices with Scala and Akka

Akka is a toolkit and runtime for building highly concurrent, distributed, and resilient message-driven applications on the JVM that follows Reactive Manifesto.

I’m going to give a short introduction to Scala programming language and follow with the fundamentals of Actor-based programming and Akka framework. We’ll finish with more advanced topics like Akka HTTP, Akka Camel, Akka Clustering, Akka Persistence and Akka Streams.

Then we’ll see how we can use all these technologies to build stateless as well as stateful microservices, what’s the difference and pros/cons with each approach.

Topics include:

  • Scala basics
  • Functional programming in Scala
  • Scala Futures
  • Actor-based programming: theory, common patterns
  • Actors in Akka
  • Supervision
  • Solving practical problem with Actors and Akka
  • Akka HTTP
  • Akka Clustering: sharding and singleton
  • Akka Persistence
  • Akka Streams / Alpakka
  • Stateless microservices with Akka
  • Stateful microservices with Akka

Prerequisites & Requirements:

No experience with Scala, Akka or Actor-based systems is necessary. Please make sure you have the latest Java 8, Scala and SBT (Scala build tool) installed.

Speakers
avatar for Yaroslav Tkachenko

Yaroslav Tkachenko

Yaroslav Tkachenko is a Senior Software Engineer, Lead at Mobify. He joined Mobify to work on Mobify Platform, which includes Progressive Mobile and Engagement Marketing solutions. Before that Yaroslav was a Director of Engineering at Bench Accounting. He joined the company as a first employee (and a first Software Engineer) and helped to grow the engineering team from 3 to almost 30 people. At Bench Yaroslav worked with Platform and... Read More →


Wednesday February 15, 2017 09:00 - 17:00
Ramada Alexanderplatz - Room Marlene Dietrich

09:00

Training: MicroServices ‐ Let’s Build Some (v2)!
It is one thing to talk about MicroServices. It is another altogether to have to build them.
After a brief introduction of MicroService principles, we will watch an animation of a micro­service environment. We will start with new versions of pre­built skeleton microservice environment (RabbitMQ message bus with a couple of starter services in Java, C#, and Ruby).
We will then design and implement additional services to broaden the overall functionality.
These additional services can be written in any language that will run on the participant's laptop.
While pairing is strongly encouraged, it is not required.

In the final stage, different pairs will implement different services, yet they will all run together implementing the animation.

Throughout the workshop, we will stop as participants come across common issues with
MicroServices. We will use this time to discuss best practices.

We wrap up with the participants making observations on what they learned (and how it may be different from MicroServices they are currently implementing, if any). This is followed by
presentations on MicroService challenges and the organization impact of rapidly developed
MicroServices.

Outline/structure of the session
1. Introduction to MicroServices
2. Sample asynchronous MicroService application
3. Installation of sample MicroServices for the exercise
a. Installing RabbitMQ drivers for your language
b. Testing access to RabbitMQ server
4. Implementing a new MicroService
5. Discussion of effort 
6. Implementing a second MicroService
7. Discussion and review of code
8. Implementing the application (teams develop different services that will work together)
9. Wrap up observations by participants

Learning Outcome
The focus of the workshop will be on: 1) Understanding how to design asynchronous service
architectures, 2) Creating small, yet functional, services rather than larger services, 3) Reducing coupling to the bare minimum (JSON packets with extra fields ignored), and 4) Debugging asynchronous systems.

Target Audience
Developers (we will be writing code). Workshop is limited to 20 attendees. 

Speakers
avatar for Fred George

Fred George

Fred George Consulting
Fred George is an industry consultant, and has been writing code for over 46 years in (by hiscount) over 70 languages. He has delivered projects and products across his career, and in thelast decade alone, has worked in the US, India, China, and the UK. He started ThoughtWorksUniversity in Bangalore, India, based on a commercial programming training program hedeveloped in the 90s. An early adopter of OO and Agile, Fred continues to impact the... Read More →


Wednesday February 15, 2017 09:00 - 17:00
Ramada Alexanderplatz - Room Harald Juhnke

09:00

Training: Resilient Software Design in Theory and Practice
To make the complex, distributed and highly interconnected microservice landscapes robust, responsive and highly available, we need to implement resilience into them.

Many patterns for implementing resilience into a service-based application exist. The daunting questions are how to slice (design) the services and which patterns to pick and combine in order to match your specific needs best.

In this tutorial you will learn about service design requirements, the influence of communication styles, get an overview about the resilience pattern landscape, which patterns exist, how to organize and select from them and how to design resilient applications.

Each part will be started with a theoretical introduction and then followed by hands-on exercises based on a real-life case study. This way, you will learn step by step the basics of designing resilient service-based applications.

After this session, you will have a much deeper understanding how to design solutions that satisfies your specific robustness needs.

Speakers
avatar for Uwe Friedrichsen

Uwe Friedrichsen

Uwe Friedrichsen travels the IT world for many years. As a fellow of codecentric AG he is always in search of innovative ideas and concepts. His current focus areas are resilience, scalability and the IT of (the day after) tomorrow. Often, you can find him on conferences sharing his ideas, or as author of articles, blog posts, tweets and more.


Wednesday February 15, 2017 09:00 - 17:00
Ramada Alexanderplatz - Room Hildegard Kneef
 
Thursday, February 16
 

08:45

Registration
Thursday February 16, 2017 08:45 - 09:30
Entrance

09:45

Resilient functional service design
With the rise of cloud, microservices and alike, we talk a lot about resilience as we need it to create robust distributed systems.

Unfortunately, we usually only talk about the technical aspects - patterns, technologies, libraries and more. While these are important ingredients in resilient software design, they are worthless without a corresponding functional service design.

A very simple example: If service A always needs input from service B to do something useful, service A can never become robust with respect to failures of service B, no matter how much effort you put in technical robustness measures.

In this session we will explore, how much functional design affects the overall robustness of a solution (spoiler: a lot!) and learn how to deliver a better "resilient functional service design“.

Speakers
avatar for Uwe Friedrichsen

Uwe Friedrichsen

Uwe Friedrichsen travels the IT world for many years. As a fellow of codecentric AG he is always in search of innovative ideas and concepts. His current focus areas are resilience, scalability and the IT of (the day after) tomorrow. Often, you can find him on conferences sharing his ideas, or as author of articles, blog posts, tweets and more.


Thursday February 16, 2017 09:45 - 10:35
Gallery (1st floor)

09:45

The complexity that is hidden in Micro Services and Event Sourcing
Well now that you have read past the drab title here is what you will get. Two years ago I started developing an event sourced system built using several micro services. Well that is a lot of buzz words. Let me add Go and Kafka to spice it up a bit more. It was all fancy and cool to get started on a project like this. Little did we know about the complexity involved in doing so. There are always trade-offs, and in this talk I hope to shed some light on these. You will also get to see the good parts of it as well as some tips for your next project with micro services.

Speakers
avatar for Satyajit Ranjeev

Satyajit Ranjeev

I have dabbled with computers from a very young age of 10 when a language called LOGO got me hooked. Ever since I have been trying to relive that rush of playing God. Professionally I have built infrastructures, created Intelligent Character Recognition systems, a recommendation engine, a school management system and dabbled with a lot of half baked code from debuggers to queues. I currently work with OptioPay a Fintech company that is... Read More →


Thursday February 16, 2017 09:45 - 10:35
Loft (2nd floor)

09:45

In-Depth: Continuous Delivery on the Kubernetes Plattform
Continuous delivery and automated deployment is considered a prerequisite by many people for a successful use of a microservice architecture. And Kubernetes has proven to be great player in the container orchestration space. So why not couple these great projects as a DevOps plattform?


In this in-depth session we will cover the basics and advanced usage of automated deployment pipelines for Kubernetes using Jenkins and it’s new pipeline feature. After a successful build, the artifacts will be deployed using helm (http://helm.sh/), the new package manager of the Kubernetes project. By defining customizable recipes helm will help to provide repeatable, but configurable deployments. You can even roll back to the state before a deployment.


The basic theory will be presented to the audience and afterwards everyone in the room will get their hands dirty and deliver some great software using the tools mentioned.

If you plan to attend please visit Nicolas' blog for information on how to prepare: 

http://blog.nicolas-byl.eu/microxchg-countdown

Speakers
avatar for Nicolas Byl

Nicolas Byl

Nicolas Byl gained his first hands-on experiences at developing distributed systems during his studies in medical informatics. At codecentric AG he is working on cloud-native infrastructure for application development.


Thursday February 16, 2017 09:45 - 13:00
Workshop Room

11:05

DDD & REST — Domain-Driven APIs for the web
While Domain-Driven Design is supposed to take care of complexity in the very core of software, REST is usually treated a plain remoting technology. In the talk we're going to explore some commonalities of the two when it comes to the design of both the domain and resources. We're going to discover how a good domain design is essential to build a great REST API in the first place and which means REST provides to make your APIs more domain driven.

From all of the building blocks of DDD, the talk identifies the ones most important when it comes to building a good REST API: we're going to look at aggregates as natural boundaries for representations, repositories as the backing foundation for collection resources and how hypermedia allows to make domain specific state transitions explicit.

Speakers
avatar for Oliver Gierke

Oliver Gierke

Spring Data Project Lead, Pivotal
Oliver Gierke is the lead of the Spring Data project at Pivotal, formerly known as SpringSource, and member of the JPA 2.1 expert group. He has been into developing enterprise applications and open source projects for over 8 years now. His working focus is centered around software architecture, Spring, REST and persistence technologies. He is regularly speaking at German and international conferences and the author of technology articles as... Read More →


Thursday February 16, 2017 11:05 - 11:55
Gallery (1st floor)

11:05

Monitoring Bash Microservices At Scale
Detailed white-box monitoring is maybe the single most important thing to get right when you're moving to microservices. Weaveworks has been running a cloud service with Kubernetes and Prometheus for over a year, and we've learned a lot about what works and what doesn't. This talk will cover, epic fails we experienced that you don't have to, using the RED method to monitor what matters, and production outages we solved with detailed telemetry. You'll learn ways you're under-instrumenting your services, what you can do to fix it, and how to make sure your graphs aren't lies.

Speakers
avatar for Paul Bellamy

Paul Bellamy

Paul Bellamy is an Engineer at Weaveworks, building open-source tools, to connect, observe, and control Docker containers. Having bounced between development and operations, his previous experience includes Internet of Things messaging protocols, time-series data analysis, and E-commerce operations.


Thursday February 16, 2017 11:05 - 11:55
Loft (2nd floor)

12:10

Micro­service Websites
How can we develop websites where the different parts of the pages are developed by different teams? If you work in a large enough organization which has its content and services on the web, this is probably a question you have asked yourself several times.

With this talk I want to show that server-side rendered websites integrated on content (using transclusion) allow for high long-term evolvability compared to client-side rendering integrated with shared code. In other words, if you want a system with high long-term evolvability, you should not develop websites using only client-side JavaScript and integrate them using a shared components approach.

I will also show that Client Side Includes is a good first choice for transclusion technology, since they are lightweight and allow for a faster initial release than Edge Side Includes.

Speakers
avatar for Gustaf Nilsson Kotte

Gustaf Nilsson Kotte

"Gustaf Nilsson Kotte is a full-stack web developer and architect at Jayway with an interest in design and philosophy. | | He wrote his first web page twenty years ago and has been interested in creating things for the web ever since. Except for cheating a bit in Perl in the 90s, his first ""real"" programming language was Haskell, which he is still quite fond of. His professional career started 2008 in .NET with server-side web development. A... Read More →


Thursday February 16, 2017 12:10 - 13:00
Gallery (1st floor)

12:10

Serverless - Power to the Black Box!
The idea of Microservices became accepted over the years. However, sometimes the resulting services are that small and encapsulated that operating the servers, isolating the artifacts and scaling it all out consumes more time than actually developing the services. Wouldn't it be great if someone else would take care of that, making sure that everything works as expected?

That's exactly where serverless architectures come into play. By examples using the most popular vendor, AWS Lambda, I will show for which purposes serverless is a good fit, how it actually works and in which cases you'd better keep your hands off it.

Speakers
avatar for Michael Bruns

Michael Bruns

Michael Bruns works as a developer and architect for inovex GmbH. Feeling a lot more comfortable working with code than adminstrating servers, he jumped on the serverless train right after hearing about it for the first time. He uses AWS a lot and loves to explore new services they offer.


Thursday February 16, 2017 12:10 - 13:00
Loft (2nd floor)

14:30

Microservices and mobile
While MicroServices Architecture focuses on decoupling and encourages rapid deployments allowing us to go fast, we still live in the world of slow deployments via Google Play and Apple's AppStore. So what's the good of it?

Validating assumptions quickly or using canary deployments? – forget it. Even correcting small errors can take time. This drives most developers to use very extensive testing and manual QA to minimize the risks. This is a Waterfall thinking! This slow deployment cycle is what drives us to MicroServices approach on mobile platforms: small, decoupled MicroServices that are easy to test, independently deployable and isolated from one another. That's Agile and LEAN thinking.

Sample code, tutorials, and documentation of the various mobile platforms encourage building monolithic applications. We reject those as poor development practices. In this talk, we discuss the alternative architecture to create independent MicroServices on mobile platforms. Also, we will demonstrate the ease of which such a system can be changed. And we will take a deep look into the trade-offs and challenges of such approach.

Speakers
avatar for Oleksii Fedorov

Oleksii Fedorov

Software Engineer, Pivotal Labs
Oleksii is a full-stack software engineer who has exploited MicroServices for the last four years, working on various front-end, back-end, and mobile platforms. He is always looking to "break the rules" through novel architectures, new technologies, and techniques.


Thursday February 16, 2017 14:30 - 15:20
Loft (2nd floor)

14:30

AaaS – Anything as a Service. Anything left to do, then?
It’s a tech jungle out there. People are struggling to figure out a suitable infrastructure deployment model for their individual use case all the while trying to withstand the noise of enterprises, providers and the tech bohemia telling them what the latest greatest way of doing things has to look like. Focusing on your actual demands and finding a deployment model that properly fits your pockets, waist and shoulders is actually hard.

This talk picks up popular infrastructure deployment models and maps them to current architecture models. What’s the better deal, building your own physical data center or climbing the abstraction ladder by using IaaS, PaaS or even Serverless? We will look at pros and cons and discuss cases where either model makes sense.

We will also discuss your role in the jungle and what you need to bring to the table even if you were trying to buy everything “off the shelf”.

Speakers
avatar for Dustin Huptas

Dustin Huptas

Dustin Huptas works at Germany-based Cassini Consulting, where he builds and optimizes system and network architectures, feeling home at the infrastructure and shell level, from OSI layer 2 upwards and in DevOps-minded environments. He’s especially interested in systems and network security and the ever-changing infrastructure models.


Thursday February 16, 2017 14:30 - 15:20
Gallery (1st floor)

14:30

In-Depth: Creating Spring Cloud Microservices using JHipster
JHipster is a yeoman generator, which generates a Spring Boot + AngularJS application in a lot of different configurations, which just work. It focuses on widely used technologies for backend and frontend development, wired in a proper way, giving the developer the opportunity to scaffold enterprise applications by answering a few quesitons, or even by importing UML.
Since version 3, JHipster supports the Netflix OSS implementation by Spring Cloud, to generate microservices as well. At the moment, a lot of important features, such as spring cloud security, spring cloud stream, kubernetes deployment, and more modern tools are already covered by the generator.
In this talk, I show the fundamentals of workflow using JHipster and JDL together, to jump quickly into productivity, developing a small microservice application."

Speakers
avatar for Frederik Hahne

Frederik Hahne

I am Frederik Hahne, 31, born in Paderborn, working at wescale on the next generation B2B integration platform using microservices with diverse technologies in both backend and frontend. I became a JHipster member in mid 2015, mostly working on improving the gradle build and some angular stuff back then. At the office I organise ship it days and open spaces to gather a community spirit. In december last year I founded the JUG Paderborn to bring... Read More →
avatar for David Steiman

David Steiman

I am David Steiman, 25, born in Berlin, working in web and enterprise application development since 2008. Today I am working at K-TEL Communications GmbH, developing and operating microservices using Spring Cloud. After extending JHipster to support OAuth2 for internal microservice security, I became core development member of JHipster early September, working on different topics on a wide range of topics. At the office, I trained my team to work... Read More →


Thursday February 16, 2017 14:30 - 17:45
Workshop Room

15:50

Lightning Talks I
Felix Müller: Microservice Documentation - How not to lose your mind with too many microservices 

Nowadays microservices are an established architecture style. By implementing this new challenges arise: you need a high degree of automation and knowledge sharing in your organization. Knowledge about functions, dependencies, infrastructure components and api capabilities is widely spread over multiple teams.

How does a developer know which services are already in production? And with which functionalities? Where is the source code and corresponding build chain? Who is responsible for answering product related questions?

In this talk you will learn about possible solutions for service and api discovery with integrated documentation.

Andrea Stubbe: APIs, the pretty face of your microservice

Developers are people, too! And just like everyone else, they do like a good user experience. The times where APIs were just an afterthought, an extension to your actual product, are over. APIs are the new user interface. Come and see how user interface design principles can help you look at your APIs from a different viewpoint. 

Carsten Jacob: Applying tenant specific runtime configurations to a Microservice architecture  

Two years ago the DevOps team behind the Legaltech online service Smartlaw decided to migrate from a monolithic architecture to Microservices. The resulting Smartlaw platform is designed to serve multiple tenants with different brandings, business models and markets by a single operational instance. This requires to switch the behavior and appearance of the application per request. The settings of a tenant, for example, the look and feel, activated features, connected 3rd party services or the customer journey, have to be configurable at runtime. The talk gives an overview of the challenges and explains how the Smartlaw team approached the solution as well as integrated it into the architecture based on Microservices. It describes the data model for tenant specific configurations and the infrastructure for a runtime distribution and resolution. A summary of the lessons learned concludes the talk. 

Speakers
avatar for Carsten Jacob

Carsten Jacob

Development Manager, Smartlaw
Carsten Jacob joined the Legaltech online service Smartlaw two years ago and is part of the software team that develops, maintains and hosts the service. He actively contributed to the migration phase changing the monolithic architecture into a platform based on Microservices. Before Smartlaw he worked for an IT service provider in different software projects as well as for the Fraunhofer Institute for Open Communication Systems (FOKUS) in... Read More →
avatar for Felix Müller

Felix Müller

Felix Müller (@fmueller_bln) is an architect at Zalando SE in Berlin. Together with 100+ teams he develops the next generation of the Zalando platform. He is interested in distributed systems, smart architecture solutions and engineering excellence.
avatar for Andrea Stubbe

Andrea Stubbe

Andrea Stubbe is the product lead for yaas.io, a marketplace for microservices. Having been a software developer for most of her career, she loves working on an architecture that addresses many of the problems and challenges she has observed in earlier projects. She also finds this a perfect fit for lean and agile development principles.


Thursday February 16, 2017 15:50 - 16:40
Loft (2nd floor)

15:50

Architecture Patterns for Microservices in Kubernetes
Architecture patterns already have an important meaning in information technology. We already know patterns, which describe the properties and relations of systems components from building software, CPUs, computer systems, networks. The new paradigm of microservices requires and creates new patterns.

The talk describes the common patterns to build applications for the use in containers, of 'Container Design Patterns' [1] which describe container interactions on a single host and the revival of 'Deployment Patterns' [2,3] to be used in the distributed systems. Kubernetes is used to look into real world examples with configurations for common problems from simple sidecars to more complex pattern templating application suites from persistent systems to the loadbalancer.



[0] Kubernetes: http://kubernetes.io/
[1] Brendan Burns and David Oppenheimers om 'Container Design Pattern': http://blog.kubernetes.io/2016/06/container-design-patterns.html
[2] 'Outdated' description of 'Deployment Patterns': https://msdn.microsoft.com/en-us/library/ff646997.aspx
[3] Kubernetes Helm: https://github.com/kubernetes/helm

Speakers
avatar for Thomas Fricke

Thomas Fricke

CTO, Endocode AG
Thomas Fricke is the CTO of Endocode and a cloud architect. He likes to work with scaling applications, specially with distributed databases. He has worked as a development engineer, system, software and cloud architect for many years. Current topics are large scale system automation for cloud native applications.


Thursday February 16, 2017 15:50 - 16:40
Gallery (1st floor)

16:55

Microservices: The Organizational and People Impact
Microservices are where it's at. Everything is easier to manage when it's micro, right? Micro code bases (less than 10 LOC), micro containers (less than 10Mb), and micro teams (less than one person???). 'Micro' things may appear to be easier to manage, but there is always a macro context, and working with people and teams is no exception. This talk presents some of the challenges the OpenCredo team have seen when implementing microservices within a range of organisations, and we'll suggest tricks and techniques to help you manage your 'micro' teams and the 'macro' level.

Topics covered include: empathy - because understanding others is at the heart of everything you do; leadership - advice on creating shared understanding, conveying strategy, and developing your team; organisational structure - from Zappos' holocracy to MegaOrg's strict hierarchy, from Spotify's squads, chapters and guilds, to BigCorp's command and control. There is a management style for everybody; and more

Speakers
avatar for Daniel Bryant

Daniel Bryant

Reporter, InfoQ
Daniel Bryant is the Chief Scientist at OpenCredo. His current technical expertise focuses on ‘DevOps’ tooling, cloud/container platforms and microservice implementations. He is a leader within the London Java Community, contributes to several open source projects, writes for well-known technical websites, and regularly presents at international conferences.


Thursday February 16, 2017 16:55 - 17:45
Gallery (1st floor)

16:55

Challenges Testing Microservices in Distributed Systems: One Possible Solution
Finn.no, Norway's number one online market place, used to be a monolith but has migrated to Microservices during the last 4 years. The daily life of developers has become a lot better with Microservices, instead of everyone working on the same monolith. However, a problem arises when testing services thoroughly, as each service is dependent on other Microservices. This has been a big challenge, and has led to a lot of manual testing. However, lately we have started using a tool called WireMock which helps us stubbing out other Microservices. We will explain how this tool has helped us. Hopefully, the talk will help other developers with similar problems to get better testing when using Microservices.

Speakers
avatar for Lotte Johansen

Lotte Johansen

Senior developer at FINN.no, Norway's number one online marketplace. Primarily a backend java developer interested in software architecture, communication technology, and accessibility. Worked on distributed systems in both telecommunications and Microservices. Worked as a researcher on an EU project about future mobile systems before joining FINN.no in 2008. Master's degree in Communications technology and distributed systems from NTNU... Read More →


Thursday February 16, 2017 16:55 - 17:45
Loft (2nd floor)

16:55

Challenges Testing Microservices in Distributed Systems: One Possible Solution
Finn.no, Norway's number one online market place, used to be a monolith but has migrated to Microservices during the last 4 years. The daily life of developers has become a lot better with Microservices, instead of everyone working on the same monolith. However, a problem arises when testing services thoroughly, as each service is dependent on other Microservices. This has been a big challenge, and has led to a lot of manual testing. However, lately we have started using a tool called WireMock which helps us stubbing out other Microservices. We will explain how this tool has helped us. Hopefully, the talk will help other developers with similar problems to get better testing when using Microservices.

Speakers
avatar for Lotte Johansen

Lotte Johansen

Senior developer at FINN.no, Norway's number one online marketplace. Primarily a backend java developer interested in software architecture, communication technology, and accessibility. Worked on distributed systems in both telecommunications and Microservices. Worked as a researcher on an EU project about future mobile systems before joining FINN.no in 2008. Master's degree in Communications technology and distributed systems from NTNU... Read More →


Thursday February 16, 2017 16:55 - 17:45
Loft (2nd floor)

18:30

IoT and MicroServices in the Home
We explore the use of Asynchronous MicroServices to implement a home IoT environment of heterogeneous devices, including lights and motion sensors. We explore a J2ME­like environment where we assume unreliable device connectivity. On this platform, we implement action services to tie these devices together. This configuration also offers superior network security over the default connectivity of these same devices.

Speakers
avatar for Fred George

Fred George

Fred George Consulting
Fred George is an industry consultant, and has been writing code for over 46 years in (by hiscount) over 70 languages. He has delivered projects and products across his career, and in thelast decade alone, has worked in the US, India, China, and the UK. He started ThoughtWorksUniversity in Bangalore, India, based on a commercial programming training program hedeveloped in the 90s. An early adopter of OO and Agile, Fred continues to impact the... Read More →


Thursday February 16, 2017 18:30 - 19:20
Gallery (1st floor)
 
Friday, February 17
 

09:00

Shrinking Microservices to Functions
We've seen the same service oriented architecture principles track advancements in technology from the coarse grain services of SOA a decade ago, through microservices that are usually scoped to a more fine grain single area of responsibility, and now functions as a service, serverless architectures where each function is a separately deployed and invoked unit. Large teams would work for months between releases of SOA components. Small teams down to a single developer would release microservices perhaps on a daily basis. One developer may release many functions many times a day. We'll look at the challenges and opportunities that arise as the components of applications get smaller, more ephemeral, and evolve more rapidly.

Speakers
avatar for Adrian Cockcroft

Adrian Cockcroft

VP of Cloud Architecture, Amazon
Adrian Cockcroft has had a long career working at the leading edge of technology. He’s always been fascinated by what comes next, and he writes and speaks extensively on a range of subjects. Before joining Amazon as AWS as VP of Cloud Architecture, Adrian worked for Battery Ventures and also helped lead Netflix’s migration to a large scale, highly available public-cloud architecture and the open sourcing of the cloud-native... Read More →


Friday February 17, 2017 09:00 - 09:50
Gallery (1st floor)

09:00

Authorization and Authentication in Microservice Environments
In microservice architectures the authentification and authorization of users can be a difficult problem. In a monolith the authentication of a user happens in the same execution context as the rest of the program. This is mostly not the case when using microservices. In order to avoid strong coupling of all microservices to a single authentication service or having to distribute the authentication information throughout all microservices new ideas are needed. JWT-Tokens try to solve this issue with a simple public key cryptography the user data can easily be authorized by the Authentification service and be trusted and checked by all other microservices without the need of further calls to the authentification service.
This talk will introduce the concept of JWT-Tokens and show some examples of how we use this in our application.

Speakers
avatar for Bernd Schönbach

Bernd Schönbach

Software Developer, LeanIX GmbH


Friday February 17, 2017 09:00 - 09:50
Loft (2nd floor)

09:00

In-Depth: Practical Microservice modelling with DDD's Strategic Design
In this highly interactive session we are going to dig deep into strategic design aspects for finding the right and suitable granularity and interaction model for Microservices. The session will cover intense discussions surrounding Bounded Contexts, the meaning of given models in Bounded Contexts, Domain Events and of course Context Mapping including the given patterns such as Shared Kernel, Customer / Supplier, Anticorruption Layer or Separate Ways (just to name a few).

The In-depth session will be based on a code based (Spring Boot) demo application landscape and include analog as well as digital labs. There will be approximately 40% theoretical talk by the host and 60% labs / interaction with the audience."

Speakers
avatar for Michael Plöd

Michael Plöd

Principal Consultant, innoQ
Michael works a a Principal Consultant for innoQ in Germany. He has over 10 years of practical consulting experience in software development and -architecture. His main areas of interest are currently Event Sourcing, Microservices and Polyglot Persistence.


Friday February 17, 2017 09:00 - 12:15
Workshop Room

10:20

AliExpress' Way to Microservices
As a giant and fast growing cross border b2c e-commerce business, AliExpress heavily relies on Microservices to keep its speed and stability.

In this talk I will introduce:
1. AliExpress/Alibaba's technical ecosystem
2. Lessions we learned as we migrate monolithic applications into Microservices
3. How we use SpringBoot/SpringCloud to help developers improve productivity and make the whole architecture be cloud native.
4. How we advocate DevOps culture and make our developers be responsible for hundreds of services.

Speakers
avatar for Juven Xu

Juven Xu

Juven Xu, senior technical expert in Alibaba Group. | | Juven has 10 years' experience on software development, he's currently leading AliExpress' architecture team, focusing on improve technical productivity and stability using methods like Microservices and DevOps.


Friday February 17, 2017 10:20 - 11:10
Gallery (1st floor)

10:20

Secure Microservices Adoption
I want to share my experience of microservices adoption in multiple companies with strict security requirements of FinTech industry. I will describe the benefits of microservices architecture for security and how to solve challenges like authentication, keeping track of dependencies and storing lots of credentials with examples of how we solved those challenges at Kreditech.

Speakers
avatar for Grygoriy Gonchar

Grygoriy Gonchar

Last years working in Geman FinTech companies as Software Security Architect. Hands-on Java and Scala developer focusing on how to make distributed systems reliable and secure.


Friday February 17, 2017 10:20 - 11:10
Loft (2nd floor)

11:25

Lightning Talks II
Jörg Pfründer: Three important data points for every request and every message

How can you control authentication and authorization in a distributed application of several micro services?How to aggregate your logging data to find relevant information in case of an error?How do you implement feature toggling?
How to avoid a single point of failure for these aspects?
I'm going to present three kinds of important metadata. We annotate every request and every message with these data points to handle those cross cutting concerns over service boundaries.

Markus Krogemann: Who slowed us down? I want my monolith back!

Yes, a somewhat provocative title for a Microservices conference. However, it summarises a tale that I have now heard from more organisations than I had wished for.
This is not to say that Microservices tend to slow you down. Instead, it captures the realisation that Microservices require organisational and team capabilities, that may not always be in place and which are not readily available but rather limited in supply.
Having voiced these concerns, here is what I intend to put forward in my talk:An approach that has repeatedly worked for me and the organisations I worked with in the context of new projects (read: Startups).
1) Start with a well designed monolith! The talk will provide more intuition on what characterises a well designed monolith.2) Given that you have built a well designed monolith, split it up into Microservices, as soon as you have evidence that the expected benefits pay back for any additional efforts required to make them work smoothly in your organisation. As soon as you have the evidence, but not before!
The changes required may be extensive and you need to account for them in order to avoid the slow-down that I mentioned earlier.They regularly involve changes to existing or altogether new deployment automations, monitoring infrastructures and debugging/tracing solutions. Also: developers will need to learn about technologies that may be new to them (Kubernetes, networking in containers, etc.).
The expected benefits of course are increased team autonomy and an ability to go faster, provided you manage to properly align the team efforts towards providing more / better value to your customers. And you will be able to reap them, if you don't forget to cater for the required steps in your organisational development.
Finally, the talk will also highlight how Functional Programming and Elixir/OTP can help on your journey towards a well designed monolith.

Benjamin Kampmann: Beyond the microservice: decentralising the entire infrastructure

At its core, the microservice movement is about splitting bigger responsibilities into a network of responsibilities: we decentralise our processes, package to deploy them independently from each other and the underlying hardware. To make it easier to maintain, scale and to make it more reliable, we try to reduce the points of failures in our network: just because one machine goes down, our app and service should not. On the other side, our Internet (infrastructure) is highly centralised and siloed. 
In this lighting talk, we will explore what it would mean to take these learnings out of the data centres and applied them to the internet at large. Could we globally decentralise computation and data? What would that look like? How would we route and access them? What would our services looks like and interact with one another?

Speakers
avatar for Benjamin Kampmann

Benjamin Kampmann

Benjamin Kampmann is a freelance Open Source Software Developer and Educator living in Berlin. He designs, builds and supervises the building of software (systems). Sometimes for clients, often on his own, whenever possible as OpenSource. He cares about good design on both sides: the product and user experience as well as a robust technological architecture and infrastructure. Even more, he cares about people; he mentors and coaches, writes and... Read More →
avatar for Markus Krogemann

Markus Krogemann

For the past 18 years, Markus has worked across many business domains and organisations. | That's 18 years of paradigm shifts, technology hypes, some good learnings and a sizeable number of things that have long since been forgotten about. | He has acted as Developer, Consultant, Co-Founder and CTO, and also as part-time conference speaker, open-source developer and occasional blogger.
avatar for Jörg Pfründer

Jörg Pfründer

Jörg Pfründer is software developer at EUROPACE AG, Germany's largest mortgage loan market place.


Friday February 17, 2017 11:25 - 12:15
Gallery (1st floor)

11:25

Beyond OAuth2: end to end microservice security
OAuth2 allows users to delegate abilities to applications, so applications can act on resources on the user's behalf. It's a great story, but the story seems to end when the request makes it into your microservices based architecture. With microservices, the ""application"" in an OAuth2 interaction might actually be many applications, and the ""resource"" may need to call other resources. What should your services do once they obtain the user's token? Is there a way to assert a particular call stack through your web of applications in a way that's both performant, and flexible for when your services evolve? What if some applications don't use HTTP? In this talk, you'll see a standards based approach to solve all these problems, and provide a consistent method for enforcing each application's security policies.

Speakers
avatar for Will Tran

Will Tran

Pivotal
Will Tran has been helping startups and enterprises harness the power of the Spring Framework for a decade. Will is currently working for Pivotal, building products for Cloud Foundry and contributing to open-source Spring. While working for Pivotal, Will has made major technical contributions to Spring Cloud Services, Cloud Foundry UAA, and Pivotal Single Sign On. Will has previously presented at Cloud Foundry Summit Asia 2015 (Multitenant... Read More →


Friday February 17, 2017 11:25 - 12:15
Loft (2nd floor)

13:45

Move Fast and Consumer Driven Contract Test Things
At SoundCloud, we've found that teams move faster when we've moved away from a monolith architecture to one based around microservices. Unfortunately, this new type of architecture has been prone to cascading failures when breaking changes go unnoticed in one of our services' API's. These failures have had a devastating impact on our system's uptime, but we've found that we can mitigate some of this risk by introducing consumer driven contract tests.

Consumer driven contract tests allow each consumer service and client to define their expectations and interactions with each provider service upstream, and for provider services to verify all of these contracts as part of their build pipeline. Breakage avoided.

In this talk we’ll go through SoundCloud’s process of breaking the monolith into microservices, then see how PACT-based contract tests were introduced, and discuss some of the challenges of adopting such tests in an already-established microservices culture.

Speakers
avatar for Alon Pe'er

Alon Pe'er

Backend Engineer, SoundCloud
Alon Pe’er joined SoundCloud in 2015 as a Scala software developer. He became part of the Activities & Stream team, where he helps to build and scale social activities services, and usually responds to code reviews with “should probably add a test for that”. On his free time, Alon dances Lindy Hop Swing, and negotiates a peace treaty between his cat and dog.


Friday February 17, 2017 13:45 - 14:35
Loft (2nd floor)

13:45

Understand, Automate, Collaborate for Development Speed with Microservices
Microservices involve many, many moving parts. Many organizations have dozens, if not hundreds, of services in production. Each service is more than source code, with a wealth of surrounding context, such as who works on it, what endpoints it exposes and how it’s built.

Imagine if you could update all relevant projects to use a new version of a framework, introduce a new monitoring technology, change an important configuration option or modify how deployment takes place, in a single operation.

Imagine if you could route a piece of information to precisely those developers who care about it: For example, developers who work on a particular service or on services that consume it.

In this talk Russ Miles will show you how all of this is achieved using the new Atomist suite of open-source, Chatops tools and services.

Speakers
avatar for Russ Miles

Russ Miles

MSc Oxford University is Lead Developer in Atomist and CEO at Russ Miles & Associates where he and his associates work to ensure that clients get the competitive advantage of the latest microservices architectures, tools and techniques. In early 2016, he joined Atomist in order to work on reducing barriers to developing great software. Russ' experience covers almost every facet of software delivery having worked across many different domains... Read More →


Friday February 17, 2017 13:45 - 14:35
Gallery (1st floor)

15:05

Microservices, Conway's Law, and the Innovator's Dilemma
Introducing disruptive innovations is challenging for established companies. Research shows, that there are structures in organizations which do lead to a higher success rate - and luckily, it’s the ones which are almost naturally emerging when following a microservices approach. Serendipity strikes again!

Speakers
avatar for Andrea Stubbe

Andrea Stubbe

Andrea Stubbe is the product lead for yaas.io, a marketplace for microservices. Having been a software developer for most of her career, she loves working on an architecture that addresses many of the problems and challenges she has observed in earlier projects. She also finds this a perfect fit for lean and agile development principles.


Friday February 17, 2017 15:05 - 15:55
Loft (2nd floor)

15:05

How to Properly Blame Things for Causing Latency: An Introduction to Distributed Tracing and Zipkin
Latency analysis is the act of blaming components for causing user
perceptible delay. In today's world of microservices, this can be
tricky as requests can fan out across polyglot components and even
data-centers. In many cases, the root source of latency isn't a
component, but rather a link between components.

This session will overview how to debug latency problems, using call
graphs created by Zipkin. While we're at it, we'll discuss how the
model works, and how to safely trace production. We'll demo with an
example app you can download, using spring boot with spring cloud
sleuth. Finally, we'll overview the ecosystem, including tools to
trace other languages and frameworks.

When you leave, you'll at least know something about distributed
tracing, and hopefully be on your way to blaming things for causing
latency!

Speakers
avatar for Adrian Cole

Adrian Cole

Adrian is an active member of cloud interoperability circles. He is the founder of a few popular open source projects, notably Apache jclouds and Netflix feign. Recently, he’s focused on distributed tracing, particularly in the OpenZipkin project. Adrian works at Pivotal in the Spring Cloud OSS team.


Friday February 17, 2017 15:05 - 15:55
Gallery (1st floor)

16:10

Distributed Scheduler Hell
Containers are the future for all microservice based apps. Where do you deploy them? How do you manage them? At Digital Ocean we went through growing pains of trying out 5 of the top major Docker container schedulers, Mesos, Kubernetes, Docker Swarm, Nomad and we even tried manual scheduling of containers. Let us walk you through how we chose different schedulers for different applications, and tips and tricks for choosing a scheduler to use.

Speakers
avatar for Matthew Campbell

Matthew Campbell

Matthew Campbell is a Microservices scalability expert at DigitalOcean where he builds the future of cloud services. He is writting a book called "Microservices in Go". He recently presented at GoLang UK, PromConf Berling, and Surge India, and blogs at "kanwisher.com":http://kanwisher.com. Matthew was a founder of "Errplane":http://errplane.com/ and "Langfight":http://www.langfight.com. In the past he worked at Thomson Reuters, Bloomberg... Read More →


Friday February 17, 2017 16:10 - 17:00
Gallery (1st floor)

16:10

How to Monitor Microservices
First, containers radically changed how you could get visibility into your applications. As developers have started to leverage orchestration systems on top of containers, the game is changing yet again. What was a simple application on a host before is now a sophisticated, dynamically orchestrated, multi-container architecture. It’s amazing for development - but introduces a whole new set of challenges for monitoring.
In this talk we’ll lay out a few key principles for monitoring microservices and the containers they are based on. These principles are based on my experience, but also leverage the wisdom of hundreds of organizations that are currently monitoring microservices with Docker, Kubernetes and Mesos. 
We’ll address issues such as:Do host-based metrics matter any more? If so, when?What techniques can be used to extract application data from inside containers?How do you resolve tricky issues like greedy containers?When can you leverage (Kubernetes/Mesos/Docker) metadata to solve problems?How do you alert on elastic services that are growing and shrinking on-demand?
You’ll walk away with a good understanding of the challenges of monitoring microservices and how you can set your team up for success. During this talk we’ll also cover open source tools you can use that are designed to monitor and troubleshoot your microservices.

Speakers
avatar for Jorge Salamero

Jorge Salamero

DevOps Evangelist, Sysdig
Jorge enjoys monitoring all the things, from his Kubernetes clusters to writing sensors plugins and DIY projects with Raspberry PI and Arduino. He is currently Sysdig evangelist, and in the past was one of the promoters of HumanOps while working at Server Density. When he is away from computers, you will find him walking with his 2 dogs across the countryside.


Friday February 17, 2017 16:10 - 17:00
Loft (2nd floor)