|
<<< Previous speaker
|
next speaker >>>
|
Michael T. Nygard, Author of "Release It!"
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. Living with systems in production taught Michael about the importance of operations and writing production-ready software. Highly-available, highly-scalable commerce systems are his forte.
Michael has written and co-authored several books, including "97 Things Every Software Architect Should Know" and the best seller "Release It!", a book about building software that survives the real world.
Blog: http://www.michaelnygard.com/blog
Book: Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)
Twitter:@mtnygard
|
Presentation: "Reliability Engineering Matters, Except When It Doesn't"
Time:
Thursday 10:35 - 11:35
Location:
Metropolitan Ballroom II & III
Abstract:
You can't build a "system that never stops" by luck. You do it one of
two ways: either you suffer a whole lot of failures, patching the boat
as it springs more leaks; or you engineer it to be stable from the
beginning. We've got a well-developed field of Reliability Engineering
that we can use to deal with many common problems.
Reliability Engineering matters. You'll learn the essential techniques
to keep your system from falling apart due to basic failures.
It can only go so far, though. We will encounter boundaries when we
work with large scale, interdependent systems, or feedback
loops. You'll learn how to recognize those boundaries, and some
heuristics you can apply to stay on the safe side of them.
Training: "Production Ready Software: SOLD OUT"
Time:
Monday 09:00 - 16:00
Location:
Franciscan I & II
Abstract:
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.
Program:
Introducing Production-Ready Software:
- Hostile, high-consequence environments
- The testability gap
- Recovery-oriented computing
- Focus on features
- The failure-oriented mindset
Stability:
- 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
Manageability:
- Appreciating Operations
- Evolving interfaces
- Evolving schemas
- Handling configuration properties and configuration files
- Automating everything
|
|
|