moderne zeiten architekturen f r eine next generation it
play

Moderne Zeiten Architekturen fr eine Next Generation IT Uwe - PowerPoint PPT Presentation

Moderne Zeiten Architekturen fr eine Next Generation IT Uwe Friedrichsen codecentric AG @ufried Uwe Friedrichsen | uwe.friedrichsen@codecentric.de | http://slideshare.net/ufried | http://ufried.tumblr.com Why do we need a Next Generation


  1. Moderne Zeiten Architekturen für eine Next Generation IT Uwe Friedrichsen codecentric AG

  2. @ufried Uwe Friedrichsen | uwe.friedrichsen@codecentric.de | http://slideshare.net/ufried | http://ufried.tumblr.com

  3. Why do we need a “Next Generation IT”?

  4. Economic Darwinism

  5. Economic Darwinism Everyone is affected by Economic Darwinism • All sectors • Growing globalization on all levels • Internet business • More competitors per customer • Higher customer expectations • Lower customer loyalty à In the long run only those will survive who meet the customer needs and demands best

  6. Nice, but how does this relate to IT?

  7. IT is the nervous system IT is vital • All companies • IT is not just supporter or „cost center“ … • … but it is the central nervous system • Even short IT outages considered critical • No business change without IT • No new products without IT à IT limits the maximum possible 
 adaption rate of a company

  8. IT is a key success factor for belonging to the survivors of the economic darwinism

  9. What business needs from IT …

  10. How IT serves business …

  11. Business-related Change Drivers Economic Darwinism IT T echnology-related Change Drivers

  12. But there is more …

  13. Innovation Measure & analyze Accelerating OODA loop Lean Enterprise Product 
 Quick customer shaping/optimization feedback cycles

  14. Business-related Change Drivers Economic Lean Darwinism Enterprise IT T echnology-related Change Drivers

  15. IT-centric business models IT as a Product Disruptive new business models Virtualization of products

  16. Business-related Change Drivers IT as a Product Economic Lean Darwinism Enterprise IT T echnology-related Change Drivers

  17. Self-Service Elasticity Pay-per-Use Cloud Provisioning Speed Unreliable 
 COTS Hardware Business Case

  18. Business-related Change Drivers IT as a Product Economic Lean Darwinism Enterprise IT Cloud T echnology-related Change Drivers

  19. Peer Deep Process Multiplication Integration Mobile & IoT Unreliable 
 Unpredictable Communication Load Patterns Zero Downtime

  20. Business-related Change Drivers IT as a Product Economic Lean Darwinism Enterprise IT Mobile Cloud IoT T echnology-related Change Drivers

  21. Social Big Data Analysis Amplifiers … and more

  22. Business-related Change Drivers IT as a Product Economic Lean Darwinism Enterprise Big Data IT Analytics Social Mobile Cloud IoT T echnology-related Change Drivers

  23. Why does traditional IT usually fail 
 to respond to those challenges?

  24. Traditional IT bases its optimization efforts 
 on the wrong goals and principles

  25. Traditional IT goals/principles • Fault avoidance at any cost 
 a.k.a. “the root of all evil” • T ayloristic organization • Local optimization • Process frenzy • Central control • Long-running projects • Standardization • Cost minimization à Not suitable to respond to new challenges

  26. Then, what are the new goals?

  27. Business-related Change Drivers IT as a Product Economic Lean Darwinism Enterprise Big Data IT Analytics Social Mobile Cloud IoT T echnology-related Change Drivers

  28. Goals of a Next Generation (of) IT Holistic consideration Short cycle times Equally High reliability Continuous output Valued Goals High flexibility

  29. And what are the new principles?

  30. Principles of a Next Generation (of) IT The Core Principles Maximizing innovation instead of minimizing costs Controlled experiments instead of fault avoidance at any cost Decentralized, self dependent teams instead of central control and goal sheets Flexible adaption instead of static planning Accepting complexity on all levels Based on Jeff Sussna's 21st Century IT Manifesto (http://blog.ingineering.it/post/39385342347/21st-century-it-manifesto) Refined in collaboration with Eberhard Wolff

  31. Principles of a Next Generation (of) IT The T echnical Principles Diversity & lightweight tools instead of monoculture & integrated solutions Resilience instead of stability ( µ )Services instead of monoliths Elasticity instead of upfront capacity planning Consistent automation of routine tasks Based on Jeff Sussna's 21st Century IT Manifesto (http://blog.ingineering.it/post/39385342347/21st-century-it-manifesto) Refined in collaboration with Eberhard Wolff

  32. Nice (again), but how does this 
 relate to architecture?

  33. drives Goals & Principles Architecture supports

  34. What does that mean for architecture?

  35. Architectural drivers • Need for quick change and extension • Replace over reuse • Need for quick releases • Unpredictable load patterns • Distributed, highly interconnected systems • Extreme high service availability • Diverse front-ends and devices • Cost efficiency

  36. Architectural requirements • Easy to understand • Easy to extend • Easy to change • Easy to replace • Easy to deploy • Easy to scale • Easy to recover • Easy to connect • Easy to afford

  37. Architectural requirements • Easy to understand à Understandability • Easy to extend à Extensibility • Easy to change à Changeability • Easy to replace à Replaceability • Easy to deploy à Deployability • Easy to scale à Scalability • Easy to recover à Resilience • Easy to connect à Uniform interface • Easy to afford à Cost-efficiency 
 (for development & operations)

  38. What are the appropriate solutions?

  39. Let’s check a few hype topics …

  40. µ Services • Built for replacement (not reuse) • Self-dependent, loosely coupled services • Should be aligned with business capability • Size should not exceed what one brain can grasp

  41. µ Services Understandability Extensibility Changeability Replaceability Deployability Scalability Resilience Uniform Interface Cost-efficiency

  42. REST • Uniform access interface to resources • Closely related to the HTTP protocol • HATEOAS (Hypermedia as the engine of application state)

  43. REST Understandability Extensibility Changeability Replaceability Deployability Scalability Resilience Uniform Interface Cost-efficiency

  44. Event-driven • Asynchronous communication paradigm • T echnical decoupling of communication peers (isolation) • Location transparency in conjunction with MOM • Call-stack paradigm replaced by (complex) message networks

  45. Event-driven Understandability Extensibility Changeability Replaceability Deployability Scalability Resilience Uniform Interface Cost-efficiency

  46. CQRS W R I T E READ • Command Query Responsibility Segregation • Separate read and write interfaces including underlying models • Separation can be extended up to the data store(s) • Allows for optimized data representations and access logic

  47. CQRS READ Understandability Extensibility Changeability Replaceability Deployability Scalability Resilience W R Uniform Interface I T E Cost-efficiency

  48. Reactive • Event-driven – asynchronous and non-blocking • Scalable – scaling out and embracing the network • Resilient – isolation, loose coupling and hierarchical structure • Responsive – latency control and graceful degradation of service

  49. Reactive Understandability Extensibility Changeability Replaceability Deployability Scalability Resilience Uniform Interface Cost-efficiency

  50. Functional Programming • Alternative programming paradigm • Functional languages (Erlang, Haskell, Clojure, …) • Hybrid languages (Scala, …) • Languages with functional extensions (Python, JavaScript, Java, …)

  51. Functional Programming Understandability Extensibility Changeability Replaceability Deployability Scalability Resilience Uniform Interface Cost-efficiency

  52. NoSQL • Augments the data store solution space • Different sweet spots than RDBMS • Key-Value Store – Wide Column Store – Document Store • Graph Database

  53. NoSQL Understandability Extensibility Changeability Replaceability Deployability Scalability Resilience Uniform Interface Cost-efficiency

  54. Continuous Delivery • Automate the software delivery chain • Build – Continuous Integration, … • T est – T est Automation, … • Deploy – Infrastructure as Code, …

  55. Continuous Delivery Understandability Extensibility Changeability Replaceability Deployability Scalability Resilience Uniform Interface Cost-efficiency

  56. Cloud provisioning model • On-demand provisioning and de-provisioning • Instant availability • Self-service • Pay-per-use

  57. Cloud provisioning model Understandability Extensibility Changeability Replaceability Deployability Scalability Resilience Uniform Interface Cost-efficiency

  58. Docker • Build, ship, run on container-basis • Process-level isolation • Declarative communication path configuration • Cambrian explosion of ecosystem at the moment

  59. Docker Understandability Extensibility Changeability Replaceability Deployability Scalability Resilience Uniform Interface Cost-efficiency

  60. … and there are many more

  61. What can we learn from this?

Recommend


More recommend