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.
Goranka 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
Tom 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.
Rachel 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.
Greg 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
Chris 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
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
Alistair 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
Brian 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
Vicent 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.
Fred 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
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.
Greg 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
Sandi 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
Oren 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
Steve 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
Sam 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
Brian 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
Chris 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
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
Felix 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
Chris 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
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.
José 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
Yaniv 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
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
Kevin 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
Sebastien 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.