Day 1 @ GOTO Stockholm 2016

September 16, 2016

GOTO Stockholm 2016 was the first GOTO International Developers’ Conference to be held in Sweden!

The conference focused on Cloud Native Applications and companies’ transition to the cloud; breaking up the software monoliths using container orchestration, microservices, infrastructure as code, immutable infrastructure and improving processes with automation in the era of the cloud.

Videos from the first day of conference sessions at GOTO Stockholm 2016 are available to watch below.

It’s Simple

with Adrian Cockcroft, VP of Cloud Architecture at AWS

What does it mean to be simple or complicated? How can we manage complexity when we scale up systems? It’s Simple…

Why do people find it horrifying when the unimaginable internal complexity of monolithic apps is replaced by a “death star” diagram of the relationships between microservices? How can we make complicated systems observable? Why do people expect complex adaptive systems to behave predictably? How does complicated relate to intuitive?

Why is one of the most complicated things we own, our smartphone, easy to use by 2 year olds?

Download the Slides

[bctt tweet=”How do we manage complexity as we scale up systems? @adrianco says it’s simple during @GOTOsthlm keynote”]

AWS Lambda – Logic in the cloud without a back-end

with Ian Massingham, Chief Evangelist for EMEA at AWS

AWS Lambda is a compute service that runs your code in response to events and automatically manages the underlying compute resources for you. You can use AWS Lambda to extend other AWS services with custom logic, or create your own back-end services that operate at AWS scale, performance, and security.

Ian explores some of the most common use cases for AWS Lambda and then dives into a demo of using AWS Lambda as a backend for your connected device IoT applications

Download the Slides

[bctt tweet=”Watch @IanMmmm demo using #AWSLambda as backend for connected device #IoT apps at @GOTOsthlm 2016″]

The Sparking Solution That Scales to IoT

with Ken Sipe, Cloud Solution Architect at Mesosphere

This talk will then be code and demonstration focused with a demonstration of spinning up an entire infrastructure on Apache Mesos. Several code examples will show off Spark coding techniques with AKKA, Spark streaming and SparkSQL.

The world of is seeing a growing intersection between large scale big data analytics and the Internet of Things (IoT) resulting in:

  1. Architecture such as the Lamdba architecture,
  2. The need to dynamical scale with infrastructure such as Apache Mesos and
  3. The need for stream processing.

At the center of solving this challenge is Spark and Scala. We will start out with a walk through of the Lamdba architecture and each of it’s components (including AKKA, Kafka, Spark Stream and Cassandra). Watch to gain a full understanding of to scale Scala to the IoTs.

Download the slides

[bctt tweet=”.@kensipe shares how to spin up an entire infra on @ApacheMesos w/ @ApacheSpark + #Scala at @GOTOsthlm”]

What is a CDN and why developers should care about using one

with Artur Bergman, Founder & CEO at Fastly

  • What are the challenges of using a CDN and how you can overcome them to secure and accelerate your application
  • How Fastly is built differently to be able to deliver a fantastic developer experience
  • Modern applications can benefit from using a CDN, but CDNs have long been the realm of operations and treated as an afterthought. This talk describes the benefits of using a CDN and an overview of how applications can take advantage of a CDN.

    Download the slides

    [bctt tweet=”What is a CDN? Why should devs care about using 1? @fastly founder+CEO @crucially answers at @GOTOsthlm”]

    A practical guide to container scheduling

    with Mandy Waite, Developer Relations Engineer at Google

    Containers are at the forefront of a new wave of technology innovation but the methods for scheduling and managing them are still new to most developers.

    Turns out that Google have been scheduling and managing containers for some time now and in this talk we’ll look at how the lessons we’ve learned have fed into the design and development of Kubernetes. How does Kubernetes schedule containers? How does it prioritize? What about node selection and external dependencies? How do you schedule based on your own needs? How does it scale and what’s in it for Java developers and for developers in general?

    Download the Slides

    [bctt tweet=”A practical guide to #container scheduling – @tekgrrl presents @kubernetesio at @GOTOsthlm 2016″]

    From Monolith to Microservices at Zalando

    with Rodrigue Schaefer, Head of Engineering at Zalando

    Rodrigue presents some of the challenges of Zalando’s transition from monolith to microservices and how the company’s engineering team has tackled them through a combination of organizational decisions and development of new tools.

    He discusses Zalando’s open-source PaaS framework STUPS (, which was built in-house to enable multiple teams to use the full power of AWS without scarifying vital aspects like security, traceability and architectural standards. Docker has played a key role in this architectural transformation and helps us to realize an easy and robust deployment process.

    Rodrigue also discusses how Zalando engineers are taking a microservices approach to front-end as well as back-end, through a rebuild of the company’s “shop”—the unit that includes our 15 country-specific, customer-facing websites.

    He describes how the team is using tools like Hystrix and various resilience libraries to manage its growing microservices ecosystem. Finally, he’ll explain how microservices has enabled Zalando’s tech team to achieve a culture of autonomy, mastery and purpose that encourages innovation and experimentation.

    Download the slides

    [bctt tweet=”From Monolith to #Microservices at @ZalandoTech: Head of Engineering @rod_schaefer shares at @GOTOsthlm”]

    Nomad: Scheduling Applications at Scale

    with Seth Vargo, Director of Technical Advocacy at HashiCorp

    Tools like Docker and rkt make it easier than ever to package and distribute applications. Unfortunately, not all organizations have the luxury of being able to package their applications in a container runtime.

    Many organizations have virtualized workloads that cannot be easily containerized, such as applications that require full hardware isolation or virtual appliances. On the opposite end of the spectrum, some organizations deploy workloads that are already static binaries such as Go applications or Java applications that only rely on the JVM. These types of applications do not benefit from containerization as they are already self-contained. To address the growing heterogeneity of workloads, HashiCorp created Nomad – a globally aware, distributed scheduler and cluster manager.

    Nomad is designed to handle many types of workloads, on a variety of operating systems, at massive scale. Nomad empowers developers to specify jobs and tasks using a high-level specification in a plain-text file. Nomad accepts the job specification, parses the information, determines which compatible hosts have available resources, and then automatically manages the placement, healing, and scaling of the application. By placing multiple applications per host, Nomad maximizes resource utilization and dramatically reduces infrastructure costs.

    The flexibility of Nomad’s design brings the benefits of a scheduled application workflow to organizations with heterogeneous workloads and operating systems. This talk will discuss the pros and cons of running in a scheduled environment and includes a series of live demos to supplement the learning experience.

    Download the Slides

    [bctt tweet=”Watch @sethvargo present @HashiCorp Nomad: Scheduling Applications at Scale at @GOTOsthlm 2016″]

    Docker Security

    with Adrain Mouat, Chief Scientist at Container Solutions

    The security of containers has been a hotly discussed topic in recent months. This talk will explain the main concerns around container security, and offer some best practices and guidance for addressing them.

    The guiding philosophy will be “defence in depth”; no one layer or tool should be relied upon to provide complete security.

    The topics covered will include:

    1. The isolation guarantees of containers
    2. Making sure your images haven’t been tampered with
    3. How to limit the resources that containers can access
    4. How to audit and monitor containers
    5. Using VMs and containers together to maximize security and efficiency
    6. How to safely share secrets (API keys, passwords) with containers

    Download the Slides

    [bctt tweet=”Learn more about #container and #Docker security by watching @adrianmouat’s talk at @GOTOsthlm 2016″]

    Pragmatic Microservices

    with Randy Shoup, VP of Engineering at Stitch Fix

    One of the most powerful trends in software today is building large systems out of composable microservices. Many large-scale web companies have migrated over time to this architecture – and for good reason.

    But, as with any powerful technique, microservices come with their own brand of tradeoffs, and it is important to be aware of them before deciding whether they are appropriate in any particular case.

    They are not for every scale of problem, for every stage of company, or for every team.

    This session takes a pragmatic approach to microservices, and compares them to the alternatives at different stages of company evolution.

    Using examples both from Google and eBay as well as from smaller organizations, it makes practical suggestions about whether, when, and how an organization should consider adopting a microservices architecture.

    Assuming microservices are the appropriate choice, it outlines an experience-based, incremental approach to making a successful rearchitecture to microservices.

    Download the Slides

    [bctt tweet=”Watch @randyshoup discuss a pragmatic approach to #microservices at @GOTOsthlm 2016″]

    Seven Secrets of Maintainable Codebases

    with Adam Tornhill, Founder of Empear AB

    Learn novel techniques that help you make sense of large codebases. Learn to identify the code that really matters for your ability to maintain a system, how to prioritize improvements and even evaluate your architecture based on how you actually work with the code.

    This talk also covers the people side of programming as you learn to mine social information such as communication paths, developer knowledge and hotspots.

    All techniques are based on software evolution. They use data from the most underused informational source that we have in our industry: our version-control system. Each point is illustrated with a case study from a real-world project.

    This is a new perspective on software development that will change how you work with large systems.

    Download the Slides

    [bctt tweet=”Learn the Seven Secrets of Maintainable #Codebases! @AdamTornhill shares during talk at @GOTOsthlm 2016″]