orchestrating cloud-native and traditional application architectures

26
Orchestrating CloudNative and Traditional Application Architectures Sinclair Schuller, CEO [email protected]

Upload: apprenda

Post on 16-Jan-2017

671 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Orchestrating Cloud-Native and Traditional Application Architectures

Orchestrating  Cloud-­‐Nativeand  Traditional  Application  Architectures

Sinclair  Schuller,  [email protected]

Page 2: Orchestrating Cloud-Native and Traditional Application Architectures

A PPRENDA.COM

Let’s  Start  With  Some  Facts

Page 3: Orchestrating Cloud-Native and Traditional Application Architectures

A PPRENDA.COM

Existing  investments  in  enterprise  IT  aren’t  going  anywhere

FAC T  # 1

Page 4: Orchestrating Cloud-Native and Traditional Application Architectures

A PPRENDA.COM

Apps  can  be  cloud  native,  enterprise  IT  IS  NOT

FAC T  # 2

Page 5: Orchestrating Cloud-Native and Traditional Application Architectures

A PPRENDA.COM

Most  cloud  native  apps  written  in  the  enterprise  WILL  HAVE non-­‐cloud  native  

dependencies

FAC T  # 3

Page 6: Orchestrating Cloud-Native and Traditional Application Architectures

A PPRENDA.COM

What  do  we  mean  when  we  say  “traditional”  application  architectures?

Page 7: Orchestrating Cloud-Native and Traditional Application Architectures

A PPRENDA.COM

• Apps  are  monolithic

• Dependencies  on  “heavy”  non-­‐volatile  tech

• Configuration   is  embedded  and  static

• Infrastructure  specificityis  everywhere

• Lack  of  decomposed  deployability

• Lack  of  portabilityRDBMS RDBMS Mainframe

Data  Tier Adapter

Business  Logic  Tier

UI  Tier

Page 8: Orchestrating Cloud-Native and Traditional Application Architectures

A PPRENDA.COM

Page 9: Orchestrating Cloud-Native and Traditional Application Architectures

A PPRENDA.COM

Decompose  all  existing  enterprise  apps  into  microservices

OP T ION  # 1

Page 10: Orchestrating Cloud-Native and Traditional Application Architectures

A PPRENDA.COM

OP T ION  # 1

Decompose  all  existing  enterprise  apps  into  microservices

Page 11: Orchestrating Cloud-Native and Traditional Application Architectures

A PPRENDA.COM

Leverage  CI/CD  tooling  and  platforms  with  hybrid  architecture  capabilities

OP T ION  # 2

Page 12: Orchestrating Cloud-Native and Traditional Application Architectures

A PPRENDA.COM

Leverage  CI/CD  tooling  and  platforms  with  hybrid  architecture  capabilities

OP T ION  # 2

Page 13: Orchestrating Cloud-Native and Traditional Application Architectures

A PPRENDA.COM

Let’s  Look  at  this  Optionvia  an  UrbanCode  Demo

Page 14: Orchestrating Cloud-Native and Traditional Application Architectures

A PPRENDA.COM

Hybrid  Application  and  Team  Structure

APPRENDA  D EPLOYMENT

• Back  end  .NET  API  service  used  by  multiple  applications  

• Customer  and  inventory  data  in  SQL  Server• Leverages  Apprenda REST  APIs

KUBERNETES  D E PLOYMENT

• Front  end  (UI)  Flask  application

• Services   integration

• Leverages  Kubernetes API• Connects   to  Apprenda .NET  back  end

UrbanCode  Application

Apprenda  Components Kubernetes  Components

DEV  TEAM   #1  ( .NET) DEV  TEAM   #2  (PYTHON)

Page 15: Orchestrating Cloud-Native and Traditional Application Architectures

A PPRENDA.COM

App  Architecture  for  the  Demo

Google  Service

Google  Service

eCommerce Frontend

.NET  Web  API  Sales  Portal

Databases EnterpriseAdd-­‐ons

Additional  Upstream  and  Downstream  Enterprise  Applications  and  Services

(via   REST)

(via   REST)

.py flask

Microsoft  .NET

Page 16: Orchestrating Cloud-Native and Traditional Application Architectures

A PPRENDA.COM

What’s  Missing?

• Sturdiness  – Orchestration  is  “task  driven”  and  not  inherent

• Safe  – No  policy  enforcement  (security,  runtime  expectations)

• Deterministic  dependency  behavior  –Big  &  slow  vs  fast  and  small

• Dynamic  runtime  change  – Lack  of  ability  to  react  to  operating  context

• Easy  data  access  – Lack  of  ability  to  readily  access  state  data

Page 17: Orchestrating Cloud-Native and Traditional Application Architectures

A PPRENDA.COM

Leverage  a  platform  that  understandsthe  mechanics  of  “mixed  era”  apps

OP T ION  # 3

Page 18: Orchestrating Cloud-Native and Traditional Application Architectures

A PPRENDA.COM

OP T ION  # 3

Leverage  a  platform  that  understandsthe  mechanics  of  “mixed  era”  apps

Page 19: Orchestrating Cloud-Native and Traditional Application Architectures

A PPRENDA.COM

Kubernetes  as  Part  of  aMixed  Mode  Architecture

Page 20: Orchestrating Cloud-Native and Traditional Application Architectures

A PPRENDA.COM

Why  Kubernetes?

TECH10  years  of  Google  R&D  in  container  orchestration

COMMUNITYCannot  buy  network  effect

Largest  community

Not  built  for  single  vendor

MARKETMost  Fortune  500  

Wins  search  volume

Growing  vendors  

Page 21: Orchestrating Cloud-Native and Traditional Application Architectures

A PPRENDA.COM

Understanding  Apprenda

ü Platform  for  cloud  native  (via  docker)  and existing  apps

ü Excels  at  “heavy,  non-­‐volatile”  app  servers  like  JBoss,  WebSphere,  IIS

ü Strong  Windows  support  (.NET,  Windows  Services,  etc.)

ü Scheduler  understands  “warm  &  waiting”  servers  that  receive  workloads

Page 22: Orchestrating Cloud-Native and Traditional Application Architectures

A PPRENDA.COM

Allow  trivial  co-­‐habitation  and  composition  of  “mixed  era”  applications

Goal  End  State

Page 23: Orchestrating Cloud-Native and Traditional Application Architectures

A PPRENDA.COM

Apprenda Scheduler

Policy  Context

NodeNV  Node  (Apprenda Native)

Kubelet

Pod Pod

Proxy

Container Container

Container  Manager

“Hot”  Managed  Server  Instance

App  1  Instance

App  nInstance De

pendency  M

anager

(Bindings  &

 Runtim

e)

Decomposer K8S  SchedulerMapper

Service  Catalog  &  ProxyShared  Base  Services

Apprenda Archive

INJ ECT IONS INJ ECT IONS

Page 24: Orchestrating Cloud-Native and Traditional Application Architectures

A PPRENDA.COM

Community  Participation

• Simplifying  post-­‐compile  extensibility  of  Kubernetes

• Windows  support

• Enterprise  readiness

• Integrations  with  popular   enterprise  subsystems

Page 25: Orchestrating Cloud-Native and Traditional Application Architectures

Questions?

Page 26: Orchestrating Cloud-Native and Traditional Application Architectures