cloud native - suse › media › presentation › tut1168... · cloud native technologies empower...

38
1 Cloud Native Infrastructure, Patterns, and Technology Andreas Jaeger Product Manager [email protected]

Upload: others

Post on 06-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

1

Cloud NativeInfrastructure, Patterns, and Technology

Andreas JaegerProduct [email protected]

Page 2: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Agenda

• Cloud Native• Infrastructure, Patterns, Technology• SUSE CaaS Platform

Page 3: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Changing Business Demands are Transforming IT

3

Page 4: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Scaling

More developersMore and larger applications

Page 5: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Availability, Rapid Change at Scale

Scale

Rate of change Availability

Page 6: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Availability, Rapid Change at Scale

https://www.slideshare.net/AmazonWebServices/dmg206

Scale

Rate of change Availability

or

Page 7: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

77

Cloud Native

Page 8: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Cloud Native Elevator Pitches

Container packaged, dynamically managed, micro service oriented.

Declarative, dynamic, resilient, and scalable.Justin Garrison [1]

Cloud Native is structuring teams, culture and technology to utilize automation and architectures to manage complexity and unlock velocity.

Joe Beda [2]

[1] https://lists.cncf.io/g/cncf-toc/message/1554[2] https://blog.heptio.com/cloud-native-part-1-definition-

Page 9: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Cloud Native?

Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.

These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil.

CNCF Cloud Native Definition v1.0, see https://github.com/cncf/foundation/blob/master/charter.md

Page 10: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Cloud Native

Container packaged

Dynamically managed

Micro service oriented

Page 11: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Microservices

Assemble small components• Loosely coupled•More agile systems•Use of third-party servicesIndependent deployableIndependent scalable

Page 12: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Micro Services for Scaling

More developersMore and larger applications

Page 13: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Container Packaged

Standardized unit of softwareApplication with all dependenciesIsolated executionUniversal DeploymentPortable

Page 14: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Lift & Shift vs Cloud Native

Lift & shift:•Moving to cloud, not taking advantage of itCloud ready:•Working with cloudCloud native:•Embracing cloud infrastructure

Page 15: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Why should I use it?

Reduce operating costsDeliver fasterHandling scale, resiliency and security in a superior way

Page 16: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Cost of using it?

Continuously learn new paradigms, skillsAdopt new technologyAccept constraints of platforms

Page 17: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

1717

Patterns, Technology, Infrastructure

Page 18: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Kubernetes and Container for Cloud Native

Kubernetes: • declarative • efficient scheduling • extensible APIContainer:• portable • immutable • reproducible

Page 19: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

19

Kubernetes is a new container technology leaderContainer orchestration and management

Orchestration• Scheduling• Service discovery

Performance and availability • Scaling• Load balancing• Self-healing• Monitoring

Maintenance• Rollout • Rollback

Page 20: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Reconciler Pattern

1. Get current state2. Get expected state3. Reconcile – ensure current state is expected

Page 21: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Service Mesh

Pod

Pod

Page 22: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Service Mesh – A networking model

Pod

Pod

Sidecar Sidecar Controller

Examples: Linkerd Envoy Istio

Sidecar

Page 23: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Istio – Securing Services with a Service Mesh

Automatic load balancing for HTTP, gRPC, WebSocket, and TCP traffic. Fine-grained control of traffic behavior with rich routing rules, retries, failovers,

and fault injection. A pluggable policy layer and configuration API supporting access controls, rate

limits and quotas. Automatic metrics, logs, and traces for all traffic within a cluster, including cluster

ingress and egress. Secure service-to-service communication in a cluster with strong identity-based

authentication and authorization.

Homepage https://istio.io/

Page 24: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Istio Architecture

https://istio.io/docs/concepts/what-is-istio/

Page 25: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Istio: Envoy as Proxy

High-performance proxy, deployed as side car (no need to change applications!): Dynamic service discovery Load balancing TLS termination HTTP/2 and gRPC proxies Circuit breakers Health checks Staged rollouts with %-based traffic split Fault injection Rich metrics

Page 26: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Jaeger - Tracing

Distributed tracing systemOpen source by Uber TechnologiesMonitoring and troubleshooting microservices-based distributed systems, including: Distributed context propagation Distributed transaction monitoring Root cause analysis Service dependency analysis Performance / latency optimizationNeeds instrumentation of applicationsHomepage: https://www.jaegertracing.io

Page 27: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Jaeger Trace Detail View

Page 28: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Function as a Service (FaaS) - Serverless

Running backend code without managing your own server systems or your own long-lived server applications.Implemented using containers!

Steps for functions:• Write function• Deploy to FaaS infrastructure• Use it from application – and FaaS infrastructure triggers start, stop, scale of functions

Steps for applications:• Use FaaS framework• Call a remote function in FaaS

Page 29: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Example of FaaS Frameworks

AWS LambdaOpenFaaSOpenWhisk…

Page 30: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Caveat: Security

Different mindset – developer deliver applications with dependenciesTake care of:•Vulnerable images• Inter-container communication•Separate users

Page 31: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

3131

Advertisement Time

Page 32: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

32

SUSE CaaS PlatformSpeed application delivery to improve business agility

SUSE CaaS Platform is Kubernetes-based container management solution used by application development and DevOps teams to deploy, manage, and scale container-based applications and services.

Page 33: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

33

SUSE CaaS Platform simplifies and extends Kubernetes Container management for the enterprise

Applications

Application Lifecycle Management

Kubernetes

Datacenter Integration

Container Execution

Enterprise Hardening

SUSE CaaS Platform

Secu

rity

Man

agem

ent

Page 34: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Running on Kubernetes

Application Delivery

Physical Infrastructure: Multi-platform Servers, Switches, Storage

Public CloudSUSE Cloud

Service Provider Program

Container ManagementSUSE CaaS Platform

StorageSUSE Enterprise Storage

NetworkingSDN and NFV

ComputeVirtual Machine & Container

Multimodal Operating SystemSUSE Linux Enterprise Server

Platform as a ServiceSUSE Cloud Application Platform

Private Cloud / IaaSSUSE OpenStack CloudSUSE Manager

SUSE OpenStack Cloud Monitoring

Infrastructure & Lifecycle

ManagementSoftware-Defined Infrastructure

Page 35: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Some Related SUSECON Sessions

Continuous Application Delivery on SUSE CaaS Platform, HO1023SUSE CaaS Platform Hands-on, HO1209Enabling Business Agility with SUSE CaaS Platform, BOV1078Roadmap SUSE CaaS Platform, FUT1431

Page 36: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

36

Questions

Page 37: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments
Page 38: Cloud Native - SUSE › media › presentation › TUT1168... · Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments

Unpublished Work of SUSE LLC. All Rights Reserved.This work is an unpublished work and contains confidential, proprietary and trade secret information of SUSE LLC. Access to this work is restricted to SUSE employees who have a need to know to perform tasks within the scope of their assignments. No part of this work may be practiced, performed, copied, distributed, revised, modified, translated, abridged, condensed, expanded, collected, or adapted without the prior written consent of SUSE. Any use or exploitation of this work without authorization could subject the perpetrator to criminal and civil liability.

General DisclaimerThis document is not to be construed as a promise by any participating company to develop, deliver, or market a product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. SUSE makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. The development, release, and timing of features or functionality described for SUSE products remains at the sole discretion of SUSE. Further, SUSE reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All SUSE marks referenced in this presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All third-party trademarks are the property of their respective owners.