Eight Miles High: Build Cloud-native and Cloud-aware Systems

Post on 12-Apr-2017

666 views 0 download

Transcript of Eight Miles High: Build Cloud-native and Cloud-aware Systems

Chris HaddadChief Architect

haddadc@karux.net @cobiacomm

EIGHT MILES HIGH: BUILD CLOUD-NATIVE AND

CLOUD-AWARE SYSTEMS

• Why evolve?

• Cloud-Native Design Patterns

• Cloud-Native Frameworks

Status Quo?

• Development Velocity• Development Iterations• Reliability and Uptime• Scale and Performance

Don’t Forklift Static Topologies into the Cloud

Source: http://www.ibm.com/developerworks/websphere/techjournal/1001_vanrun/1001_vanrun.html

Free DevOps from expensive static deployments and glacial refresh cycles

Deploy with ConfidenceGOAL STATE

• Reduce Technical Debt• Optimize Scalability• Foster Anti-fragility and Resiliency• Deliver Highly Responsive Applications

Rapid, iterative, seamless, rolling updates.

Microservices, containerized, DevOpsCLOUD-NATIVE

Learn more at https://cncf.io/

Into Cloud-Native MicroservicesDECOMPOSE MONOLITHS

• Bounded Context• Small domain• Run in it’s own process• Service interface• *owns data storage

IDENTIFY BOUNDED CONTEXTS AND DOMAINS

Source: http://www.slideshare.net/aca_it/modularity-ddd

API-FIRST , SERVICE ORIENTED

Source: https://www.nginx.com/blog/introduction-to-microservices/

Spin up discrete infrastructure services on demand.

Server Profile• Lightweight• Self-contained• Deterministic• Dynamic Discovery• Dynamic Composition

Requires a next generation stackMICROSERVICES

• Service Discovery

• Service Monitoring

• Circuit Breakers

• Full-Stack Templates

Server-sideSERVICE DISCOVERY

Source: https://www.nginx.com/blog/introduction-to-microservices/

Client-SideSERVICE DISCOVERY

Source: https://www.nginx.com/blog/introduction-to-microservices/

SINGLE DEPENDENCY DELAY CAUSING BLOCKING OF USER REQUEST

Source: http://www.slideshare.net/yang75108/antifragile-microservices-and-devops-a-study

ALL USER REQUESTS WILL BE BLOCKED AT PEAK HOUR(CASCADING FAILURE)

Source: http://www.slideshare.net/yang75108/antifragile-microservices-and-devops-a-study

Fail-fast and dynamically resetCIRCUIT BREAKER

Source: http://martinfowler.com/bliki/CircuitBreaker.html

CIRCUIT BREAKER & BULKHEAD ISOLATION PATTERN

https://github.com/Netflix/Hystrix

• Service-Oriented• Just a single service• Compose multiple services

• Ask for run-time information• Location• Policies

• Respect Data Gravity• Shard data• Cache and Eventual

consistency

Cloud-Aware Applications

• Actor-model interactions• Map-reduce processing• Event Sourcing• Ephemeral Containers

Cloud-Native Design Patterns

Actor-model InteractionsCONCURRENT PROCESSING

Source: http://arild.github.io/akka-workshop/#7

Map-ReduceDIVIDE AND CONQUER

Event SourcingSHARD AND SEPARATE

Source: http://martinfowler.com/eaaDev/EventSourcing.html

Ephemeral ContainersAGILE CONTINUOUS DELIVERY

NEW STACK REQUIREMENTS• Self-contained, Lightweight, Minimalistic• Service-Oriented, API-Friendly• Powerful transport module • Configuration Management • Bootstrapping , dependency and Lifecycle

Management • Runtime Insights and Diagnostics • Service discovery

Spring Boothttp://projects.spring.io/spring-boot/

DropWizardhttps://dropwizard.github.io/dropwizard/index.html

NetFlix Karyonhttps://github.com/Netflix/karyon

• Software Defined Networking• Weave• Calico• Flannel

•Container Scheduling and Orchestration• Mesos• Kubernetes

•Full Stack Templates• Docker compose, Kubernetes

•Monitoring and Management• Netflix Cloud OSS

•Service Discovery• Eureka, Consul, etcd

CLOUD-NATIVE FRAMEWORKS

•Actor-Model• Akka

•Map-Reduce• Hadoop• Kubernetes

•Eventual Consistency• Cassandra• Redis

•Circuit Breakers• Hysterix

CLOUD-NATIVE FRAMEWORKS

Contact us at http://karux.nethaddadc@karux.net@cobiacomm

JOURNEY TO THE CLOUDS

• Re-shape Architecture

• Re-fresh Platform

• Re-build Team Collaboration

• Re-invent Delivery