Michael T. Nygard, Author of "Release It!"

Michael T. Nygard

Biography: Michael T. Nygard

Michael Nygard strives to raise the bar and ease the pain for developers across the country. He shares his passion and energy for improvement with everyone he meets, sometimes even with their permission. Michael has spent the better part of 20 years learning what it means to be a professional programmer who cares about art, quality, and craft. He's always ready to spend time with other developers who are fully engaged and devoted to their work--the "wide awake" developers. On the flip side, he cannot abide apathy or wasted potential.Michael has been a professional programmer and architect for nearly 20 years. During that time, he has delivered running systems to the U. S. Government, the military, banking, finance, agriculture, and retail industries. More often than not, Michael has lived with the systems he built. This experience with the real world of operations changed his views about software architecture and development forever.

He worked through the birth and infancy of a Tier 1 retail site and has often served as "roving troubleshooter" for other online businesses. These experiences give him a unique perspective on building software for high performance and high reliability in the face of an actively hostile environment.

Most recently, Michael wrote "Release It! Design and Deploy Production-Ready Software", a book that realizes many of his thoughts about building software that does more than just pass QA, it survives the real world. Michael previously wrote numerous articles and editorials, spoke at Comdex, and co-authored one of the early Java books. 

Software passion: My passion is for creating environments where everyone can be as creative and successful as they can.


Release It! Design and Deploy Production-Ready Software
Beautiful Architecture
97 Things Every Software Architect Should Know


Presentation: "When the Fur Flies: Dev and Ops Cooperation when the Worst Happens"

Track: DEV TO OPS / Time: Tuesday 11:30 - 12:30 / Location: Store Sal, Archauz

There's nothing like a crisis to remove artificial barriers. In this session, Michael will present an experience report about development and operations coming together after a failed launch. Aside from the fun of sharing war stories and comparing scars, what can we learn about climbing out of a crater after the worst has already happened? Can we capture the special magic of a firefighting mission during more sedate times? Beyond all of that, come find out how to stay out of the crater to begin with.

Keywords: Devops, velocity, disaster, crisis, organization, architecture

Target Audience: Developers, development managers, architects

Presentation: "Where to put data"

Track: WEB-SCALE DATA: NOSQL / Time: Wednesday 11:30 - 12:30 / Location: Store Sal, Musikhuset

It used to be an easy question. "Where should I store my data?" In the relational database, obviously. Well, not any more. These days, we've got relational databases, graph databases, column databases, key-value databases, and caches out the wazoo.

Each of these technologies is good at some things and bad at others. We can use them in combination to make highly scalable, agile, high performance applications. It would help, however, if we had some heuristics about our architecture. We can apply some principles, practices, and patterns to help decide how to use each of these technologies.

This talk probably won't please either the gray-suited relational conservatives or starry-eyes NoSQL revolutionaries. It might, however, help you sort out where to put your data.
Keywords: Architecture, Enterprise, Scalability, Persistence

Targetaudience: Web and enterprise architects will gain a set of heuristicsfor data storage decisions that account for scalability, consistency,and availability qualities.

Workshop: "Release It"

Track: TRAINING: ARCHITECTURE AND DESIGN / Time: Thursday 09:00 - 16:00 / Location: Trifork 4

In this tutorial, you will learn how to create applications that survive the rigors of life in production. Too often, project teams aim to pass QA instead of aiming for success in production. Testing is not enough to prove that your software is ready for continuous availability in the corrosive environment of the Internet.

During this tutorial, you will receive an understanding of the architecture and design patterns that can produce high availability in distributed, multithreaded systems such as those based on Java EE, .Net, or Ruby on Rails. You will also learn about the antipatterns that can sabotage your systems availability and capacity.  

Learn how to: 

  •    Avoid common design antipatterns that sap capacity and availability.
  •    Apply stability patterns to produce highly available systems.
  •    Design software for production networks.
  •    Create applications that administrators love.
  •    Design your applications for easy deployment and change.


Introducing Production-Ready Software: 

  •    Hostile, high-consequence environments
  •    The testability gap
  •    Recovery-oriented computing
  •    Focus on features
  •    The failure-oriented mindset


  •    Defining stability: What matters to your users?
  •    Failure modes: stability anti-patterns
  •    Architecting for stability: patterns

Capacity and scalability:

  •    Relating performance, capacity, and scalability
  •    Myths about resources
  •    Failure modes: capacity anti-patterns
  •    Capacity improvements: patterns
  •    Architecting for scalability
  •    Getting extreme


  •    Appreciating Operations
  •    Evolving interfaces
  •    Evolving schemas
  •    Handling configuration properties and configuration files
  •    Automating everything