Architecture

These are the sessions tagged with Architecture at Øredev 2012:

Monday

8.30-16.30

Performance in a Large Scale Cloud

This tutorial will focus on what the participants prefer. Any two-three of the following areas regarding Performance in a large scale cloud can be covered with real experiences from Facebook. What large scale means, What does performance mean, Performance Monitoring, Monitoring Part 1 - live demo of dynolog demon, Monitoring Part 2 - Live performance testing, Information, Smart deployment guards against service/product failures, Performance Analysis, Benchmarking and Capacity Planning.

Tags: Architecture Back end Cloud Dev Ops Hard Core Test

Performance in a Large Scale CloudGoranka Bjedov

Goranka Bjedov works as a Capacity Planning Engineer at Facebook. Her main interests include performance, capacity and reliability analysis. Prior to joining Facebook, Goranka has also spent five years performance testing at Google and worked for Network Appliance and AT&T Labs. Prior to that she was a professor at Purdue University. A speaker at numerous testing and performance conferences around the world, Goranka has authored many papers, presentations and two textbooks.

8.30-16.30

Continuous delivery

Getting software released to users is often a painful, risky, and time-consuming process. This tutorial sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers and operations, delivery teams can get changes released in a matter of hours–sometimes even minutes.

Tags: Architecture Dev Ops

Continuous deliveryTom Sulston

Tom works for ThoughtWorks. He is a consultant in the continuous delivery space and also loves the whole DevOps thing. He has previously spoken at Agile and XP conferences on continuous delivery, devops culture, & build pipeline practices. Tom lives in Melbourne, having previously worked for Thoughtworks in the UK, US, Germany, and India.

Continuous deliveryRachel Laycock

Rachel works for ThoughtWorks as a Senior Consultant with 9 years of experience in systems development. She has worked on a wide range of technologies and the integration of many disparate systems. Since joining ThoughtWorks she has played the role of developer, coach, trainer, technical lead, project manager, and everything in between! She's fascinated by problem-solving and finds that people problems are more difficult to solve than software ones.

Tuesday

8.30-16.30

Workshop Event Sourcing

The workshop looks at Event Sourcing through the eyes of the recently released Event Store project (OSS). We will look at Event Sourcing but also at the Event Store and how it can help simplify your development experience.

Tags: Architecture Hands on Hard Core Mastery Rebel .NET

Workshop Event SourcingGreg Young

Greg Young is a loud mouth about many things including CQRS, Event Sourcing, and getting your tests to do something more than validating your code. He is currently involved with Event Store a functional database geteventstore.com

13.30-16.30

Rediscovering Modularity with Restructure101

The principles of modularity are applied routinely in the development of classes, but not to the organization of the classes themselves. This is unscalable; inevitably it will extract a big tax on development dollars as the team starts to drown in an ever-expanding sea of classes. This tutorial gives concrete strategies for constructing a hierarchical, levelized, modular structure for an existing code-base, with minimal impact on working code. Many pattern-action-result examples are given.

Tags: Architecture Java Tools .NET

Rediscovering Modularity with Restructure101Chris Chedgey

He has an MSc. in Computer Science from Trinity College Dublin. He has 28 years of experience in commercial software development, notably on large military and aerospace projects in Canada, including 5 years on the International Space Station project. Co-founder of Headway Software and designer of the JOLT winners Structure101 and Restructure101, he has 2 lovely daughters in college and lives on the south-east coast of Ireland.

Wednesday

10.00-10.50

Hypermedia and ASP.NET Web API, where do you want to go today?

Building hypermedia systems these days is all the rage. Those who achieve building hypermedia systems are promised fame, success and mountains of riches. OK that’s not true! But hypermedia does help you to build systems where the client and server can evolve somewhat independently, and that is a big deal. Come this talk and we’ll deep dive into exactly what hypermedia is and different ways to achieve building hypermedia driven systems with ASP.NET Web API.

Tags: Architecture Back end Web .NET

Hypermedia and ASP.NET Web API, where do you want to go today?Glenn Block

Glenn is a PM at Microsoft working on support for node.js in Windows and Azure. Glenn has a breadth of experience both both inside and outside Microsoft developing software solutions for ISVs and the enterprise. Glenn has been a passionate supporter of open source and has been active in involving folks from the community in the development of software at Microsoft. This has included shipping products under open source licenses, as well as assisting other teams looking to do so. Glenn is also a lover of community and a frequent speaker at local and international events and user groups. Glenn's blog can be found at http://blogs.msdn.com/gblock or you can follow him on twitter at you own risk at twitter.com/gblock

10.00-10.50

Highly Connected Data Models in NOSQL Stores

In this session, we'll talk about the key ideas of NOSQL databases, including motivating similarities and more importantly their different strengths and weaknesses.

Tags: Architecture Database Mastery Rebel

Highly Connected Data Models in NOSQL StoresAlistair Jones

Alistair Jones is a Software Engineer with Neo Technology, the company behind Neo4j, the world's leading graph database. Alistair has extensive experience as a developer, technical lead and architect for teams building enterprise software across a range of industries. He has a particular focus Domain Driven Design, and is an expert on Agile methodologies. Alistair often writes and presents on applying Agile principles to the discipline of performance testing.

13.00-13.50

Software in the Age of Sampling

Software was once built by skilled but peculiar artisans, who meticulously crafted their original, green-fields commissions from first principles. Today, existing resources are rehashed, recombined, and remixed to produce “new” mash-ups based up the work of others.

This session will explore how software developers in the age of sampling have as much in common with contemporary high-tech music “producers” as they do with traditional engineers.

Tags: Architecture Creative

Software in the Age of SamplingBrian Foote

Brian Foote is an itinerant software developer and rogue scholar who has been programming professionally since the 1970s. The unremitting squalor and duplication endemic he saw drove him to graduate school to study whether we could do better. This led to an interest in object-oriented programming, reflection, design patterns, and refactoring. His focus is now on why contemporary advances in tools and programming tactics have not had the impact they had once promised.

14.10-15.00

My mom told me that Git doesn't scale

With over 2 million and a half repositories, GitHub is the world's largest source code host. Since day one, we've faced an unique engineering problem: making terabytes of Git data always available, either directly or through our website. This talk offers a hopefully insightful view into the internals of Git, the way its original design affects our scalable architecture, and the many things we've learnt while solving this fascinating problem.

Tags: Architecture Dev Ops Tools

My mom told me that Git doesn't scaleVicent Marti

Vicent Martí has a name which is difficult to pronounce. Despite his main occupation as bananologist, he spends his spare time working full time at GitHub, where he builds tools for the people who build the Internet. His dreams invaded by shadowy figures: pink ponies and raw pointers, he loves sharing his love for what he believes is beautiful technology. As an European citizen (Spain, according to his passport), Vicent enjoys drums and yellow things and the sweet sweet smell of civilization.

Thursday

10.00-10.50

Micro-Service Architecture

The service architecture of the new millenium has evolved at the Forward Internet Group into a myriad of small, loosely coupled services. While the system is several years old, almost no service is older than six months. We explore the evolution of this architecture and its impact on the organization and processes.

Tags: Architecture Back end Creative Hard Core

Micro-Service ArchitectureFred George

Fred George has been writing code for over 44 years in (by his count) over 70 languages. An early adopter of OO and Agile, Fred continues to impact the industry with his leading-edge ideas. Passionately practical, Fred has spent the last few decades delivering projects for clients worldwide (US, India, China, UK). Oh, and he still writes code!

13.00-13.50

Maven vs Gradle, On your marks, get set, go!

Ant, Maven, Gradle, Buildr - the choice of built systems for Java based systems is manifold and only discussions about coding styles are getting more heated than discussion on which built system is superior. In this talk we are looking at two built system - the well established veteran Maven against the Groovy based newcomer Gradle. Where are the similarities between these two built systems and what differentiates them? Why and when would you chose one over the other?

Tags: Architecture Hands on Hard Core Java Team

Maven vs Gradle, On your marks, get set, go!Hardy Ferentschik

Hardy Ferentschik is Senior Developer at JBoss and member of the Hibernate development team. He is the project lead of Hibernate Validator and core developer for Hibernate ORM and Search. He also is part of the JSR 303 (Bean Validation) expert group. Hardy is a frequent speaker at JUGs and leading software development conferences like JAOO or JFokus.

13.00-13.50

A deep look into the Event Store

What if I told you that the new Event Store (OSS geteventstore.com) is an ACID compliant database with only 24 bytes of mutable data? This session will look deep inside the Event Store and architectural decisions and trade offs made in the development of it.

Tags: Architecture Creative Hands on Mastery Rebel .NET

A deep look into the Event StoreGreg Young

Greg Young is a loud mouth about many things including CQRS, Event Sourcing, and getting your tests to do something more than validating your code. He is currently involved with Event Store a functional database geteventstore.com

14.10-15.00

Namedropping, HTML5, optimization, CQRS

Several words are constantly mentioned. Lets have a look at them, all together in a lightning talk session.
Janne Räsänen is an expert upon HTML5 mobile app development.
Albert Bertilsson share his insights and highlighting the win-win benefits of optimizing a web site.
Sebastian Ganslandt takes us into CQRS and Event Sourcing from the trenches

Tags: Architecture Hands on Mastery Web

15.40-16.30

Less - The Path to Better Design

The concrete principles of Object Oriented Design are useful but are built upon powerful concepts that the principles tend to obscure. When design principles become goals in and of themselves, object oriented design gets a bad name and applications suffer.

This talk strips away the well-known design principles and exposes the hidden, underlying goals of design. It reveals programming techniques that allow you to write less code while creating beautiful, flexible applications.

Tags: Architecture Mastery

Less - The Path to Better DesignSandi Metz

Sandi Metz has 30 years of experience working on projects that survived to grow and change. During the daytime she writes software at Duke University, in the evening, builds bicycles, and (since she has finally finished "Practical Object Oriented Design in Ruby") uses the wee dark hours of the early morning to do just exactly what she pleases.

15.40-16.30

Hard Coding: A Design Approach

In this session, we will discuss the Great Simplification Architecture, instead of creating abstract towers of babel, we will see how we can create agile, maintainable and easy to work with architectures and systems that allow you to just go in and start working, rather than spend a lot of time an effort hammering everything in sight, looking for the nail that the architecture diagram's page 239 says must be there.

Tags: Architecture Mastery .NET

Hard Coding: A Design ApproachOren Eini / Ayende Rahien

Oren Eini has over 15 years of experience in the development world with a strong focus on the .NET ecosystem. And has been awarded the Microsoft's Most Valuable Professional since 2007. An internationally known presenter, Oren has spoken at conferences such as DevTeach, JAOO, QCon, Oredev, NDC, Yow! and Progressive.NET. Oren is the author of DSLs in Boo: Domain Specific Languages in .NET. Oren's main focus is on architecture and best practices that promote quality software and zero-friction dev.

15.40-16.30

Designing Hypermedia APIs

Ruby on Rails did a lot to bring REST to developers, but its conception leaves the REST devotee feeling a bit empty. "Where's the hypermedia?" she says. "REST isn't RPC," he may cry. In this talk, Steve will explain how to design your APIs so that they truly embrace the web and HTTP. Pros and cons of this approach will be discussed, as well as why many aren't building things this way yet.

Tags: Architecture Web

Designing Hypermedia APIsSteve Klabnik

Steve is a Ruby Hero, budding digital humanities scholar, and open source enthusiast. He maintains the Hackety Hack project, and teaches the best Ruby and Rails classes in the world with Jumpstart Lab. When he's not teaching, he's writing a book about hypermedia and reading philosophy books.

16.45-17.35

Designing For Rapid Release

This talk focuses on the kinds of constraints we should consider when evolving their architecture of our systems in order to enable rapid, frequent release. So much of the conversation about Continuous Delivery focuses on the design of build pipelines, or the nuts and bolts of CI and infrastructure automation.

Tags: Agile Architecture Dev Ops Rebel Team

Designing For Rapid ReleaseSam Newman

Sam Newman is a Principal Consultant at ThoughtWorks, where he has been for over seven years. He has worked with a variety of companies in multiple domains, and currently runs the Cloud & Continuous Delivery Practices for Europe. He has written articles of O’Reilly, presented at conferences, and sporadically commits to open source projects. Principally a Java developer, he also spends lots of time with Clojure and Python, and build systems that hate him.

16.45-17.35

Why Mud Still Rules

The cause of programmatic pulchritude has been championed by many, from the Literate Programming boomlet of the seventies, the Architecture craze of the eighties, the Patterns Movement of the nineties, and even the burgeoning Software Crafts movement of the current decade, alas, to little apparent effect. Because, for all our aspirations to the contrary, the de-facto standard software architecture remains the ubiquitous and enduring “Big Ball of Mud”.

What are the mudslingers doing right?

Tags: Architecture Mastery

Why Mud Still RulesBrian Foote

Brian Foote is an itinerant software developer and rogue scholar who has been programming professionally since the 1970s. The unremitting squalor and duplication endemic he saw drove him to graduate school to study whether we could do better. This led to an interest in object-oriented programming, reflection, design patterns, and refactoring. His focus is now on why contemporary advances in tools and programming tactics have not had the impact they had once promised.

18.00-18.50

Hybrid Applications with MongoDB and RDBMS

This session starts of by describing why we now have many different approaches to storing data and how to identify use cases for noSQL, RDBMS and warehousing. From this introduction we continue by demonstrating a use case and a live application that uses a hybrid of MongoDB and mySQL. We then move on to explaining the challenges of horizontal scalability and an technical deep dive into scaling an hybrid application.

This talk has a mix of presentations and live application development.

Tags: Architecture Database Dev Ops

Hybrid Applications with MongoDB and RDBMSChris Harris

Chris Harris is a European Solution Architect at 10gen. Prior to 10gen, Chris was EMEA Architect at SpringSource responsible for evangelising vFabric products and defining architectural solutions for customers across EMEA. With the acquisition of SpringSource by VMware, Chris focused on how virtualization and cloud computing can be used to address the complexity within the Enterprise. Before joining SpringSource, Chris spent his time at RedHat/JBoss providing consultancy to major clients across EMEA.

Friday

10.00-10.50

How RESTful Is Your REST?

The rise of Mobile and the diversity its technologies make exposing a RESTfull API the most crucial capability of any application and the key to its success. In the absence of widely adopted best practices and well-defined conventions, designing such an API is nothing but trivial. This presentation introduces the fundamentals of REST architecture, and discusses the principles of RESTfull design.

Tags: Architecture Back end Java

How RESTful Is Your REST?Abdelmonaim Remani

A software developer and technology enthusiast at heart and by profession. Particularly interested in technology evangelism and enterprise software development and architecture. Experienced in Java Enterprise Applications and a wide range of related technologies. President and Founder of a number of organizations namely The NorCal Java User Group, The Silicon Valley Dart Meetup, and The Silicon Valley Spring User Group. Abdel is a frequent speaker at a number of developer conferences including JavaOne, JAX Conf, and OsCon, and many user groups and community events.

10.00-10.50

The power of node

Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

This talk introduces node.js by exploring practical examples of suitable use cases.

Expect lots of code, demos, and a clear analysis on the strengths and weaknesses of node.js as a plattform.

Tags: Architecture Back end Javascript Rebel

The power of nodeFelix Geisendörfer

Felix Geisendörfer is a node.js core developer and has experienced it’s strength and shortcomings first-hand while building transloadit.com. When not event-looping, he loves going street unicycling and watching squirrels.

11.10-12.00

Retrofitting a software architecture to an existing code-base

We can do without architecture early on, but at some point a clearly communicated architecture offers big productivity benefits to developers who otherwise drown in the expanding implementation-level detail. When you realize you are heading for a Big Ball of Mud, you have 3 choices – start over, suffer on, or knock your codebase into shape. This talk outlines principles, options and examples using Structure101 to get the best return for the cost and intellectual effort invested in a codebase.

Tags: Architecture Java Tools .NET

Retrofitting a software architecture to an existing code-baseChris Chedgey

He has an MSc. in Computer Science from Trinity College Dublin. He has 28 years of experience in commercial software development, notably on large military and aerospace projects in Canada, including 5 years on the International Space Station project. Co-founder of Headway Software and designer of the JOLT winners Structure101 and Restructure101, he has 2 lovely daughters in college and lives on the south-east coast of Ireland.

13.00-13.50

Async in C# 5.0 - No More Callbacks!

For modern connected apps, asynchronous programming is necessary to ensure responsiveness of devices and scalability of services. However, asynchronous programming tends to be a teeth-grinding quagmire of dynamically wired-up callbacks, busting any attempt at well-structured code and practically ensuring bugs and poor error handling. C# 5.0 changes all that. The new 'async' language feature along with futures/promises-based APIs bring back the good old imperative experience. Come see how!

Tags: Architecture Fun Mastery .NET

Async in C# 5.0 - No More Callbacks!Mads Torgersen

Mads is the Program Manager for the C# Language at Microsoft, where he runs the C# design meetings and maintains the language specification. He has been one of the lead architects behind recent C# language features such as async and dynamic, and is on the design teams for Visual Basic and TypeScript. Before joining Microsoft in 2005 Mads worked as an Associate Professor of Computer Science at the University of Aarhus and was part of the group that developed wildcards for Java generics.

13.00-13.50

Elixir - A modern approach to programming for the Erlang VM

Elixir is a programming language for the Erlang VM. Elixir provides a first class macro mechanism, supports polymorphism via protocols (similar to Clojure's) and many other features while keeping the functional aspects of Erlang used to build distributed, fault-tolerant applications.

In this talk, José Valim will cover the main goals and features in Elixir while also presenting some of the rationale and changes behind the language design and its latest tools.

Tags: Architecture Emerging languages Tools

Elixir - A modern approach to programming for the Erlang VMJosé Valim

José Valim (@josevalim) is a member of the Ruby on Rails Core Team and a writer by the Pragmatic Programmers. Software developer for 8 years, he graduated in Engineering by the São Paulo University, Brazil and has a Master of Science by Politecnico di Torino, Italy. He is also the lead-developer of Plataforma Tec, a consultancy firm based in Brazil, an active member of the Open Source community and is frequently traveling and speaking at conferences.

14.10-15.00

Big Time: Introducing Hadoop on Azure

In the last couple of years Hadoop has become synonymous with Big Data. In this session we'll learn how Hadoop works on Windows Azure including an exploration of different storage options, e.g., AVS and S3, how Hadoop on Azure integrates with other cloud services, understanding key scenarios for Hadoop in the Microsoft ecosystem, and discovering Hadoop’s role in a cloud environment.

Tags: Architecture Mastery Tools .NET

Big Time: Introducing Hadoop on AzureYaniv Rodenski

Yaniv Rodenski is a Senior Consultant at Sela Group, with over 15 years of industry experience as a developer, team leader, R&D manager and architect in various Microsoft environments. Yaniv is experienced in developing large scale, distributed and data-centric systems. Currently Yaniv is focusing on helping clients to adopt Windows Azure and is part of a team creating the Windows Azure Platform Training Kit for Microsoft DPE, with an accent on Windows Azure HPC Scheduler and Hadoop.

14.10-15.00

API Usability: Think of the humans!

APIs are consumed by programs, but those programs are built by humans. A good API is one that both programs and humans enjoy using. That means the API not only has to be powerful and responsive, but usable, too. Using examples like Twilio, Twitter, and FourSquare, we'll discuss what makes an API usable or not. We'll talk about common usability traps and the bugs we make or prevent consuming applications. Finally, we'll discuss approaches to API development that improve usability.

Tags: Architecture Test UX

API Usability: Think of the humans!Catherine Powell

Catherine Powell is a principal at Abakas, a software consulting company. At Abakas, she provides engineering management, development, testing, and process consulting services. She has worked with a variety of software, from an enterprise storage system to mobile software to web applications. She is an author, speaker and a mentor to engineers and technical managers. Catherine focuses primarily on the realities of shipping software in small and mid-size companies.

15.20-16.10

Building a grammar for statistical graphics in Clojure

Our data is typically optimized for use by computers; what would it be like if we optimized for humans? This talk introduces a grammar of graphics for concisely expressing rich data visualizations. The grammar, implemented in Clojure, consists of simple data structures and can be used across the JVM and via JSON. This talk will cover principles of effective data visualization and the benefits of using data structures as an "API". There will be lots of pictures and a touch of code.

Tags: Architecture Back end Front end Tools

Building a grammar for statistical graphics in ClojureKevin Lynagh

Kevin visualizes data and makes statistical interfaces on the web. He has written enough JavaScript to be terribly excited about ClojureScript. Before Clojure he wrote machine learning and analytics tools in R and Scala. In 2010 he wrote a thesis on protein structure, for which Reed College inexplicably awarded him a physics degree. Kevin lives in Portland, Oregon, and spends as much time rock climbing as he does in the REPL.

15.20-16.10

HTTP Caching 101

Caching is one of the most powerful feature of HTTP and ReSTful architecture, and also one of the most misunderstood. This session will review what can be done with HTTP, debunk a few myths and show some commonly-implemented patterns you can implement in your own clients.

Tags: Architecture Back end Front end Hard Core Mastery Web .NET

HTTP Caching 101Sebastien Lambla

Sebastien Lambla runs Caffeine IT, a .net consultancy / contracting company helping the good people of London adopt new technologies, new processes, new methodologies and in general anything that's new and shiny. Specializing in cutting-edge tools, from REST architectures to occasionally connected rich clients, Sebastien has been developing with .net since 2000, and has a secret love affair with javascript. In his spare time he’s working on OpenRasta, a resource-oriented MVC framework for .NET.