The New Open Distributed Application Architecture

Post on 17-Feb-2017

816 views 1 download

transcript

The New Distributed Application InfrastructureGordon Haff @ghaffTechnology EvangelistRed Hat

Aboutme• RedHatTechnologyEvangelist• Twitter:@ghaff• Google+:GordonHaff• Flickr:bitmason• Email:ghaff@redhat.com• 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!