Architecture Today @ GOTO Berlin 2016

December 13, 2016

Software architecture has been lately reduced to “Microservices”. It’s time to broaden the scope again because there is no single architecture that fits all projects, and architecture can make all the difference between a failure and a success.

In the Architecture Today track at GOTO Berlin 2016, we look at how to improve architecture, how communication influences architecture, models and finally serverless architecture – the next step after Microservices. Watch the videos from the Architecture Today track at GOTO Berlin 2016 below.

The future of cloud computing: Developing event-driven and serverless cloud-native applications

with Andreas Nauerz, Technical Product Manager at IBM Bluemix and Simon Monser, Senior Technical Staff Member at IBM

More than one year ago our team has, as a joint effort between research and development, started investigating the field of event-driven & serverless computing to propagate a model relieving users from the need to worry about complex infrastructural & operational aspects in order to allow them to focus on quickly developing value-adding code, especially by radically simplifying developing microservice-oriented solutions that decompose complex applications into small and independent modules that can be easily exchanged.

Serverless computing does not refer to a specific technology. Nevertheless some promising solutions, such as OpenWhisk, have recently emerged.

Hence, OpenWhisk is one exemplary player in this new field. It is a cloud-first distributed event-based programming service and represents an event-action platform that allows you to execute code in response to an event.

It provides you with the previously mentioned serverless deployment and operations model, with a granular pricing model at any scale that provides you with exactly the resources – not more not less – you need and only charges you for code really running. It offers a flexible programming model. incl. support for languages like NodeJS and Swift and even for the execution of custom logic via docker containers. This allows small agile teams to reuse existing skills and to develop in a fit-for-purpose fashion. It also provides you with tools to declaratively chain together the building blocks you have developed. It is open and can run anywhere to avoid and kind of vendor lock-in.

During this presentation, Andreas and Simon talk about their journey through the world of serverless computing, the core concepts, the key value proposition and differentiators, typical usage scenarios, and the underlying programming model of serverless computing in general and OpenWhisk in particular and conclude their session with some basic demos.

Download the Slides

[bctt tweet=”#Future of cloudcomputing: @mosersd + @AndreasNauerz on #serverless #cloudnative apps at @GOTOber”]

Improving Your Software

with Gernot Starke, Fellow at innoQ

As software developers, we spend most our time maintaining existing systems – under time and budget pressure.

Building new business functionality tends to get more difficult, expensive and risky over time due to increasing size, growing complexity and lack of conceptual integrity. Although we complain about technical debt, lack of innovation and the architectural deficits of historically _grown_ software, we often patch, fix or hack symptoms instead of curing the root causes of these problems.

In this talk, we start with an overview of the _Architecture Improvement Method_, the open-source (aim42) approach to systematical evolution, modernization and improvement of systems.

Based upon examples from various organizations and industries, Gernot demonstrates the applicability of aim42 practices in real-life situations including how to:

  • identify and analyze the worst problems in your systems,
  • translate your problems to business & management terms,
  • convince your management of corrective actions,
  • integrate improvement with your day-to-day development

Download the Slides

[bctt tweet=”Improving Your #SoftwareArchitecture – view @gernotstarke’s slides from his talk at @GOTOber 2016″]

The Microservices journey from a startup perspective

with ‎Susanne Kaiser Bauknecht, CTO at Just Software

Splitting our organization into multiple, smaller teams and dividing our collaboration solution JUST SOCIAL into single smaller apps were the driving force at our startup to trigger the transformation of our monolithic software architecture into Microservices. During this talk I would like to share some experiences and challenges we faced and still face during our Microservices journey.

Download the Slides

[bctt tweet=”#Microservices journey from a #startup perspective – @JustSocialApps CTO @suksr’s slides from @GOTOber”]

Building Theories is Building Value

with George Fairbanks, Software Engineer at Google

I find a program much more valuable when I can read it and understand the abstractions that collectively explain a theory of the problem and solution. In contrast, I find programs with minimal abstractions and lots of conditional logic hard to understand because there is little or no theory to be inferred.

For several years I’ve been trying to relate the many models that I build on software projects and I believe it’s a combination of models of the domain, the solution, and mathematical logic. So, what value does a team provide? Is it just the code? I argue that:

  1. programs that embody the theories of their developers are more valuable,
  2. how well developers can evolve a program is related to their ability to build and evolve theories, and
  3. a key distinguishing characteristic of a company’s most senior developers are their theory-building traits.

Download the Slides

[bctt tweet=”Building Theories is Building Value – download @ghfairbanks’s @GOTOber 2016 slides explaining why”]

Watch your communication – How communication drives design

with Uwe Friedrichsen, Fellow at codecentric

Very often the choice for an application’s communication style is made on the basis of the preferred frameworks or the knowledge available in the development team. It also often is discouraged to mix communication styles.

Most of the time people miss the fact, that the selected communication style massively influences the design and decomposition options of the related application.

In this session we will explore the relation between the communication style and the design options of an application and see several examples how different communication styles lead to different designs.

After this session you will have a better understanding, how the communication style will affect your system design and be better capable to pick the communication style that matches your functional requirements best.

Download the Slides

[bctt tweet=”Watch your communication – @ufried from @codecentric discusses how comm drives design at @GOTOber”]