the new open distributed application architecture
TRANSCRIPT
The New Distributed Application InfrastructureGordon Haff @ghaffTechnology EvangelistRed Hat
Aboutme• RedHatTechnologyEvangelist• Twitter:@ghaff• Google+:GordonHaff• Flickr:bitmason• Email:[email protected]• Blog:http://bitmason.blogspot.com• Author:ComputingNext• Formerly:Illuminata (industryanalyst)Data
General(minicomputers/Unix/NUMA/etc.)
This is all very new
2007 2011
2013
2014
2006
A common thread is open source innovation
And the principles and practices associated with it
Computing as puntuated equilibria• Rapidly changing
environment• Open source
innovation and recombinations
• Intersecting trends• Hard to predict
Traditional infrastructure & apps
Server, storage, & networking hardware
Operating system
Application& dependencies Application
& dependenciesApplication
& dependencies
(One of) the problems
Server, storage, & networking hardware
Operating system
Application&dependencies Application
& dependenciesApplication
&dependencies
Enter hardware virtualization
Server, storage, & networking hardwarewith CPU, memory, I/O virtualization assists
Hypervisor (or other partitioning methods)
Application& dependencies
Application& dependencies
Application& dependencies
Operating system
Operating system
Operating system
What’s changed really?• Application
components still installed within OS
• Applications still long-lived & stateful
• Applications still “pets”
Which was sort of the point• Improved server
utilization reduced CAPEX
• Without (at least initially) much impact on operational model
2006
The discontinuity hits• “Software is eating the world”• Digital transformation needed:
– More effective software delivery– Reimagined componentized
architectures– Scale– Pervasive sensors & access
Better faster software with DevOps
DevOps applies open source tools, principles, and practices with:
• CULTURE of collaboration valuing openness and transparency
• AUTOMATION of process from development through ongoing operations
• An evolving PLATFORM that optimizes for flexible, dynamic workloads
Toward an “ant” model for apps• Stateless (often)• “Small” components• Expose an API• Replacable cogs• Portable across hybrid
infrastructures
Signs you might need microservices• Having trouble coordinating function
teams like DBAs and UI engineers• Brittle apps. Minor changes cause
major breakage• Your process is bogged down by big
deployments• Different teams keep reinventing the
wheel (in gratuitously different ways)
• Hard to experiment
On the other hand
• Architectural effort• Service boundaries• Communication
overhead• Do you need it?
DevOps + “Cloud” = Industrialize
What does this factory look like?
From servers to resource pools• Software-
defined “everything”
• Dynamic resource pool
• May be provided by public cloud
Virtualized pool of IaaS resources
“Commodity” server
“Commodity” server
“Commodity” server
Operating system
Operating system
Operating system
Operating system
Software-defined storageSoftware-defined networking/NFV
OpenStack: Software-defined infrastructure
Linux
Containers: Isolation within OS• OS-level virtualization• Originally BSD jails• Then Solaris zones• OS kernel manages
isolation, resource use, and security
• Namespaces, SELinux, Cgroups in Linux
Operating system instance
Application& dependencies
Application& dependencies
Resource pool
Making containers useful & portable• Standard packaging
format• Ecosystem App
composition specification• Optimized operating
system foundation
Lightweight, immutable OSfor running containers
Application& dependencies
Application& dependencies
Resource pool
Container packaging forimage-based deployment
Key areas of container standardsOpen source communities working to drive
Managing at scale as a single entity
Lightweight, immutable OSfor running containers
Application& dependencies
Application& dependencies
Resource pool
Container packaging/API forimage-based deployment
Resource management
Orchestration
Everyone is scaling• Not just unicorns and
mammoths• Three main use cases:
– Large scale workloads – Diverse workloads – Complex resource
management• Grid computing: It lives!
PaaS is one integration point
Source:DevOps,OpenSourceandBusinessAgility:Lessonslearnedfromearlyadopters,June2015
Needs for integrating with existing IT
96% see open source as an enabler of cloud native integration and conventional app modernization.
Source: Red Hat Modernization Strategies SurveyIDC September 2015
Structured & unstructured data integrationBusiness process automationModel-driven process managementEnterprise service bus & APIs
Dataintegrationservices
Some open questions• Role of hardware virtualization• On-premise vs. public cloud trends• Monoliths vs. Microservices• The post-NIST service model• When/where/how is data useful?
How evenly distributed will the future be?
The future is already here—it's just not very evenly distributed.
William Gibson
CreditsFractal: https://www.flickr.com/photos/fractal_ken/3996156539/ Flickr Creative Commons licensePunctuated equilibrium: University of California at BerkeleyMainframe: "IBM 704 mainframe" by Lawrence Livermore National Laboratory. Licensed under Attribution via Commons - https://commons.wikimedia.org/wiki/File:IBM_704_mainframe.gif#/media/File:IBM_704_mainframe.gifAnts: https://www.flickr.com/photos/pondapple/6502194585 Flickr Creative Commons license
Meteor, galaxy: NASADatacenter: GoogleDogs: https://www.flickr.com/photos/ulster/3250246355 Flickr Creative Commons license
Aircraft factory: Flickr/cc, https://www.flickr.com/photos/jetstarairways/9130160595Kids programming: Esti Alvarez cc license
Auto factory: Copyright TeslaTower: Daniel Pratts CC/flickr https://flic.kr/p/7RE6ycFrog: Kathy CC/Flickr https://flic.kr/p/b9fFV
Coupling graphic: PWCBuildings: CC/Flickr https://www.flickr.com/photos/firstdown/2456119103
Thankyou!