GOTO Amsterdam (June 17-19, 2015) is a vendor independent international software development conference with more that 50 top speakers and 500 attendees. The conference covers topics such as AngularJS, Disruption, Docker, Drones, Elasticsearch, Hadoop, Microservices & Scrum.

Fred George, Early Adopter of OO & Agile, Advocating MicroServices & Programmer Anarchy

Fred George

Biography: Fred George

Fred George is an industry consultant, and has been writing code for over 46 years in (by his count) over 70 languages. He has delivered projects and products across his career, and in the last decade alone, has worked in the US, India, China, and the UK.
He started ThoughtWorks University in Bangalore, India, based on a commercial programming training program he developed in the 90's. An early adopter of OO and Agile, Fred continues to impact the industry with his leading­?edge ideas, most recently advocating MicroService Architectures and flat team structures (under the moniker of Programmer Anarchy).
Oh, and he still writes code!

Twitter: @fgeorge52

Presentation: Challenges in Implementing MicroServices

Track: Microservices / Time: Thursday 10:20 - 11:10 / Location: Effectenbeurszaal

SOA, service-oriented architectures, burst on the scene in the new millennium as the latest technology to support application growth. In concert with the Web, SOA ushered in new paradigms for structuring enterprise applications. At the Forward Internet Group in London, SOA was implemented in an unusual way. Rather than a few, business­r?elated services being implemented per the original vision, we developed systems made of myriads of very small, usually short-lived services. We moved on to another company, MailOnline, the online version of the Daily Mail newspaper in the UK, and once again developing micro­s?ervices. Finally in a Silicon Valley startup, Outpace, the micro­services were again exploited.

In this talk, we will:

  • Define micro­services in a manner that tends to be smaller than most
  • Introduce an asynchronous architecture well­suited for micro­services, and more importantly, for dynamic business environments (including an animation of the process in action)
  • Summarize the experiences at three different companies in three different businesses (Web­based sales, online newspaper, and optimization engines for Fortune 100 companies)
  • Suggest co­requisite technologies and process that enable/facilitate micro­services
  • Discuss 5 different challenges that face implementers that we have identified so far

Target Audience
This is a technical architecture discussion with detailed examples of actual implementation. Attendees with such backgrounds will benefit most. Project leaders, developers, and project managers, nevertheless, will walk away with new ideas as well as understanding the linkage between process and architecture.

Presentation: The Secret Assumption of Agile

Track: Scrum / Time: Thursday 14:30 - 15:20 / Location: Graanbeurszaal

The presenter has had repeated success delivering Agile projects across more than a dozen years. One of the most important factors to that success is recognizing that the programming style of developers on the team is not well­aligned with Agile. This presentation discusses this flaw and remedies for it, as well as touching on several other key success enablers.

The initial element of success is being able to write code that is easily changed. This style of coding, rooted in the beginnings of the Agile movement, is not publicized nearly enough (and even ignored in eXtreme Programming Explained, the first Agile book.) We illustrate this different style with several real projects.

We move on to outline how teams on our projects have acquired the skills to write programs that are easily changed, and suggest a model for how to improve. We discuss a training program, developed in the mid­90’s (and the roots of the ThoughtWorks University curriculum) that addresses the transformation.

We conclude by suggesting that team structure is essential to adopting necessary change.

Target Audience
This is a general presentation targeted to managers, team leads, and developers. All will be somewhat skeptical that change is needed, and this presentation will initiate those vital internal debates.

Workshop: MicroServices - Let's Build Some! - SOLD OUT

Track: Workshops / Time: Wednesday 09:00 - 16:00 / Location: Verwey Kamer

This Workshop is SOLD OUT

Hands-on development of asynchronous micro-services using a bus architecture

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 a pre­built skeleton microservice environment (message bus plus a couple of RESTful services running against it). 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 participants 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.

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).

Outline/structure of the session

  1. Introduction to MicroServices
  2. Sample asynchronous MicroService application
  3. Installation of sample MicroServices for the exercise
    • Installing RabbitMQ drivers for your language
    • 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).