GOTO is a vendor independent international software development conference with more that 90 top speaker and 1300 attendees. The conference cover topics such as .Net, Java, Open Source, Agile, Architecture and Design, Web, Cloud, New Languages and Processes
Michael T. Nygard, TweetAuthor of "Release It!", Member of Program Advisory Board
Biography: Michael T. Nygard
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
Twitter:@mtnygard
Presentation: TweetDisband the Deployment Army
In operations, it is conventional wisdom that most incidents (read: failures) occur immediately after someone makes changes to the system. Hence, elaborate change management systems are supposed to reduce this risk. On the other hand, both lean and agile disciplines say, "When something is painful, do it more often," because we improve at that which we practice. How can we resolve these opposing perspectives?
It turns out that conventional wisdom deals more with perceived risk than true risk. Conventional wisdom is dangerous. This session will examine the true origins of risk, starting with an economic foundation, and developing ideas about how to reduce real risk.
Workshop: Production ready software Tweet
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