The Evolution of Distributed Systems on Kubernetes

Total Page:16

File Type:pdf, Size:1020Kb

The Evolution of Distributed Systems on Kubernetes The Evolution of Distributed Systems on Kubernetes Bilgin Ibryam Product Manager @RedHat @bibryam 1 Bilgin Ibryam ● Product Manager at Red Hat ● Former Architect/Consultant ● Committer at Apache Camel ● Author of “Camel Design Patterns” and @bibryam “Kubernetes Patterns” books ● Latest interest: cloud native data 2 @bibryam What comes after Microservices? 3 Agenda ● Distributed system needs ● Monolithic architectures ● Cloud-native technologies ■ Kubernetes, Istio, Knative, Dapr ● Future architecture trends 4 @bibryam Modern distributed applications ● 100s of components and 1000s of instances ● Polyglot, independent, and automatable components ● Hybrid workloads on hybrid environments ● Open source, open standards, and interoperable ● Based on Kubernetes ecosystem 5 @bibryam What are the needs of distributed applications? 6 Distributed application needs 7 @bibryam Distributed application needs Lifecycle management ● Deployment/rollback ● Placement/scheduling ● Configuration management ● Resource/failure isolation ● Auto/manual scaling ● Hybrid workloads (stateless, stateful, serverless, etc) 8 @bibryam Distributed application needs Advanced networking ● Service discovery and failover ● Dynamic traffic routing ● Retry, timeout, circuit breaking ● Security, rate limiting, encryption ● Observability and tracing 9 @bibryam Distributed application needs Resource bindings ● Connectors for APIs ● Protocol conversion ● Message transformation ● Filtering, light message routing ● Point-to-point, pub/sub interactions 10 @bibryam Distributed application needs Stateful abstractions ● Workflow management ● Temporal scheduling ● Distributed caching ● Idempotency ● Transactionality (SAGA) ● Application state 11 @bibryam Monolithic architectures 12 Traditional middleware capabilities ● Stateful primitives ● Resource bindings ● Networking 13 @bibryam Traditional middleware limitations ● Lifecycle management ○ Single, shared language runtime ○ Manual deployment/rollback ○ Manual placement ○ Manual scaling ○ No resource/failure isolation 14 @bibryam Cloud-native architectures 15 Microservices and Kubernetes 16 @bibryam Microservices and Kubernetes 17 @bibryam Health probes 18 @bibryam Managed start/stop 19 @bibryam Declarative deployment 20 @bibryam Demands & placement Predictable resource demand Automated placement 21 @bibryam Configuration management ● ConfigMaps used in Pods as: ○ environment variables ○ volumes ● Secrets: ○ Minimal Node spread ○ Only stored in memory in a tmpfs ○ Encrypted in the backend store (etcd) ○ Access can be restricted with RBAC 22 @bibryam Foundational kubernetes capabilities More Kubernetes Patterns ● Foundational patterns ● Structural patterns ● Configuration patterns ● Behavioural patterns (For more Kubernetes Patterns, check out the link at the end of the slides) 23 @bibryam Hybrid workloads Batch/Periodic Job Stateless Service 24 @bibryam Stateful Service Global Singleton Lifecycle capabilities ● Deployment/rollback ● Placement/scheduling ● Configuration management ● Resource/failure isolation ● Auto/manual scaling ● Hybrid workloads: stateless, stateful, batch jobs, serverless 25 @bibryam How do we extend Kubernetes? 26 Out-of-process extension mechanism Deployment guarantees Lifecycle guarantees 27 @bibryam Sidecar 28 @bibryam Controller Pattern Default schema Default controllers Managed resources ● ReplicaSet ● replicaset state ● StatefulSet ● statefulset ● Pod ● Job, CronJob ● job, cronjob ● PVC... Custom controller -> Custom behaviour 29 @bibryam Operator Pattern Custom operator Custom application kind: ConfigWatcher apiVersion: k8spatterns.io/v1 ● Go ● AI/ML metadata: name: webapp-config-watcher ● Helm ● Big Data spec: configMap: webapp-config ● Ansible ● Storage podSelector: app: webapp ● Java ● Streaming ● Python ● Monitoring CustomResourceDefinition + Controller = Operator 30 @bibryam Kubernetes based platforms 31 What is Service Mesh? 32 @bibryam What is Service Mesh? 33 @bibryam What is Service Mesh? 34 @bibryam What is Service Mesh? 35 @bibryam Networking capabilities API Gateway Service Mesh Abstract away details and decouple Enhances the reliability and the visibility of the consumers from implementations networking interactions ● Controls what’s allowed in/out ● Telemetry, tracing collection ● Bridging security domains ● Service discovery, load balancing ● Request / response transformation ● TLS termination/origination ● Protocol, data format transformation ● Request routing, traffic splitting ● API composition ● Traffic shadowing ● Rate limiting ● Rate limiting 36 @bibryam What is Knative? Serving Eventing Common infrastructure Common infrastructure for request-driven for consuming and interactions that can producing events "scale to zero". declaratively. Kubernetes-based platform to deploy, and manage serverless workloads. 37 @bibryam Knative Serving concepts apiVersion: serving.knative.dev/v1alpha1 ● Scale-to-zero & activation kind: Service metadata: ● Rapid autoscaling name: lotto ● Traffic splitting spec: replicas: 1 ● Callable by Knative eventing selector: matchLabels: ● Simplified deployment model app: lotto ○ Single Port template: metadata: ○ No PersistentVolumes labels: ○ app: lotto Single Container spec: containers: - image: cds19/lotto 38 @bibryam Knative Eventing concepts ● Sources (Kafka, CronJob, Apache Camel 200+, etc) ● Broker implementations (In-memory, Kafka, etc) ● CloudEvents data format ● Trigger with filters ● Sequence: chaining multiple steps composed of containers 39 @bibryam Lifecycle, networking, binding capabilities ● Knative Serving ○ Simplified deployment for stateless workloads ○ Traffic based autoscaling including Scale-to-Zero ○ Traffic splitting for custom rollout / rollback scenarios ● Knative Eventing ○ External triggers for feeding Knative Services ○ Based on CloudEvents ○ Backed by proven messaging systems ○ Declarative messaging infrastructure 40 @bibryam What is Dapr? Sidecar architecture Building blocks Developer first, standard APIs Make it easy for developers to used from any programming create microservice without language or framework. being an expert in distributed systems. A portable runtime for building distributed applications. 41 @bibryam Dapr building blocks Service Invocation Resource Bindings State Management Act as a reverse proxy with Trigger code through events Provides a key/value-based built-in service discovery, from input and output bindings state API with pluggable state tracing and error handling to external resources. stores for persistence Distributed Tracing Publish & Subscribe Actors See and measure the message Secure, scalable messaging Encapsulate code and data in calls across components and between services reusable actor objects as a networked services common microservices 42 @bibryam Dapr architecture Source: https://github.com/dapr/docs 43 @bibryam Dapr on Kubernetes Source: https://github.com/dapr/docs 44 @bibryam Full circle Connectors Service discovery Eventing Dynamic routing Filtering Resiliency Serverless Observability Bindings State abstraction Deployment Pub/Sub Placement Observability Config mgmt Scaling ● Centralized control plane ● Centralized control plane ● Centralized data plane ● Decentralized, highly-scalable data plane 45 @bibryam Future cloud native trends 46 Lifecycle trends Source: https://operatorhub.io 47 @bibryam Networking trends ● Introduction of Service Mesh Interface specification ● Architecture consolidation of Istio with istiod ● More L7 protocols: MongoDB, DynamoDB, ZooKeeper, MySQL, Redis, Kafka(8188) ○ KIP-559 can enable bridging, validation, encryption, filtering, transformation ● HTTP Cache filter (eCache) ● HTTP tap filter (with matcher) ● WebAssembly (wasm) filters with dynamic loading (C++ -> Rust, Go, etc) 48 @bibryam Binding trends Camel-K Operator: Dev Environment Cloud 1. Choose a runtime - from: 2. Scaffold a project uri: "direct:route" steps: Custom 3. Add boilerplate - split: Resource 4. Add dependencies tokenize: "," 5. Create container image - to: "mock:split" Camel K Operator 6. Create Kubernetes resources for deployment kamel CLI Running Pod Live Fast redeploy! updates! Less than 1 second! Source: https://github.com/apache/camel-k 49 @bibryam State trends Source: https://github.com/cloudstateio/cloudstate 50 @bibryam What does all this mean? 51 Multi-runtime microservices are here 52 @bibryam Smart sidecars and dumb pipes 53 @bibryam What comes after Microservices? 54 @bibryam Thank You @bibryam https://k8spatterns.io 55.
Recommended publications
  • Azure Integration Services Announcements from Ignite 2020
    Melb.NET Azure Integration Services Announcements from Ignite 2020 Bill Chesnut Cloud Platform & API Evangelist, SixPivot Azure MVP [email protected] @biztalkbill Agenda General Azure Logic Apps API Management Azure Functions BizTalk Server General • Azure Availability Zones now in Australia East • App Service introduces the new Pv3 SKU for Windows and Linux customers • App Service announces the general availability of Windows Container support • App Service Environment v3 in development--will launch November 1 • Azure Communication Services now available in public preview (US for now) Azure Logic Apps Logic Apps will now run on a new containerized runtime, the same runtime powering Azure Functions, providing hosting flexibility to: • Run on Functions, App Service, Kubernetes, Docker and any cloud. • Deploy multiple workflows to a single Logic App simplifying automated deployments and CI/CD pipelines. • Enable enterprise features such as private endpoints, simpler and more cost effective VNET access, deployment slots and more. • New VS Code Extension • Local Development • Improved Functions integration https://techcommunity.microsoft.com/t5/azure-developer-community-blog/new-logic-apps-runtime-performance-and-developer- improvements/ba-p/1645335 Azure Logic Apps (2) • Better CI/CD with VS Code. • New Designer (more on the screen, easier to understand) • Performance with Stateless • Automation Tasks (Logic Apps without building them) https://techcommunity.microsoft.com/t5/azure-developer-community-blog/new-logic-apps-runtime-performance-and-developer- improvements/ba-p/1645335 Azure API Management Debug API Management Policies in real time • Developer Tier Only • VS Code • Set breakpoints https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-apimanagement Support for Dapr applications in API Management • Using three new policies you can perform service invocations, dispatch messages to pub/sub topics, and send messages to external systems from a Dapr- enlightened self-hosted gateway.
    [Show full text]
  • Introduction to Visual Studio Code
    Developing Multi- Platform Apps with Visual Studio Code Get up and running with VS Code by building multi-platform, cloud-native, and microservices- based apps Ovais Mehboob Ahmed Khan Khusro Habib BIRMINGHAM—MUMBAI Developing Multi-Platform Apps with Visual Studio Code Copyright © 2020 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every efort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing or its dalers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. Commissioning Editor: Richa Tripathi Acquisition Editor: Alok Dhuri Senior Editor: Nitee Shetty Content Development Editor: Tiksha Lad Technical Editor: Pradeep Sahu Copy Editor: Safs Editing Project Coordinator: Deeksha Takkar Proofreader: Safs Editing Indexer: Rekha Nair Production Designer: Joshua Misquitta First published: September 2020 Production reference: 1170920 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-83882-293-4 www.packt.com Packt.com Subscribe to our online digital library for full access to over 7,000 books and videos, as well as industry leading tools to help you plan your personal development and advance your career.
    [Show full text]
  • State of .NET State of Azure
    State of .NET State of Azure Markus Egger President and Chief Software Architect CODE Magazine & Consulting CODE Magazine’s State of .NET - codemag.com/stateofdotnet Kicking Things Off Jim Duffy • Director of Business Development CODE Magazine & Consulting • Former Developer Now Responsible for Sales & Marketing • [email protected] • International Author and Speaker • Former Microsoft RD (Regional Director) 9 years • Former 11 time Microsoft Most Valuable Professional (MVP) • Twitter: @jmduffy Build Cross Platform Apps With Photino • Build native, cross-platform desktop apps that are lighter than light. • Lightweight open-source framework for building native, cross- platform desktop applications with Web UI technology. • Photino is maintained by the CODE Magazine team with the help of the open-source community. • tryphotino.io • Github.com/tryphotino Free Subscription to CODE Magazine! • The leading software development magazine written by expert developers for developers • All registered attendees will automatically receive a free digital subscription to CODE Magazine – no need to do anything, it’ll happen auto-magically •Please share this free subscription link: https://bit.ly/2QXUrpY About the Presenter • Markus Egger • President and Chief Software Architect EPS Software Corp. (dba CODE Consulting) • Publisher – CODE Magazine • International Author and Speaker • Microsoft RD (Regional Director) • Microsoft MVP 1995-2019 • Email: [email protected] • Twitter: @markusegger About CODE Consulting “Helping People Build Better Software” • Custom Software Development, Training, Mentoring,… • Web, Cloud, Mobile, Desktop, Serverless, Databases,… • User Interface and Interaction Design • Project Rescue, Legacy Conversions (VB, VFP, Access, etc.) • Development Team Staff Augmentation • Microsoft Certified Partner Your Ticket to Free Consulting • One hour on us. Really. Schedule a call today.
    [Show full text]
  • Table of Contents
    Table of Contents About the Author....................................................................................xiii About the Technical Reviewer....................................................................xv Foreword.............................................................................................xvii Acknowledgments.................................................................................. xix Introduction.......................................................................................... xxi Part I: Getting Started... Chapter 1: Introduction to Microservices..................... ...3 A Brief History of System Design ....3 Hardware Progress... ................... ....... ...... - ............ ....4 Software Progress ..................................................... ....5 Monolithic Architecture.............................. ..................... .... 6 Benefits of the Monolithic Architecture........................... ..«7 Drawbacks of the Monolithic Architecture .... 8 Microservices Architecture...................... ....9 Designing Microservices.................. ..10 Benefits.................... .................. ..11 Downsides............................... ..... ..13 Abstract Infrastructure.................... ..14 Some Useful Patterns.................. ..16 Adopting Microservices................... і»ммммн«мм«амвмі ..22 Summary......................................... ..23 Copyrighted Material Chapter 2: Introduction to Dapr..................................................................25
    [Show full text]
  • Data Acquisition & Processing Report
    U.S. DEPARTMENT OF COMMERCE NATIONAL OCEANIC AND ATMOSPHERIC ADMINISTRATION NATIONAL OCEAN SERVICE Data Acquisition & Processing Report Type of Survey HYDROGRAPHIC Project Number S-B906-NRT5-13 Time Frame APRIL LOCALITY State: NEW YORK/NEW JERSEY General Locality New York Harbor 2013 CHIEF OF PARTY LTJG STEVEN LOY, NOAA LIBRARY & ARCHIVES DATE NOAA NRT-5 S-B906-NRT5-13 DAPR NOAA FORM 77-28 U.S. DEPARTMENT OF COMMERCE (11-72) PROJECT NUMBER: NATIONAL OCEANIC AND ATMOSPHERIC ADMINISTRATION S-B906-NRT5-13 HYDROGRAPHIC TITLE SHEET INSTRUCTIONS: The Hydrographic Sheet should be accompanied by this form, filled in as completely as possible, when the sheet is forwarded to the Office. State: New York & New Jersey General Locality: New York Harbor Sub-Locality: Liberty and Ellis Islands Scale: 1:10,000 Date of Survey: 4/17/2013 through 4/29/2013 Instructions Dated: 4/11/2013 Project Number: S-B906-NRT5-13 Vessel: NOAA NRT5, S3002 Chief of Party : LTJG Steven Loy, NOAA Surveyed by: NOAA Navigation Response Team 5 Personnel Soundings by: Kongsberg Simrad EM 3002 Multibeam Echosounder Verification by: Pacific Hydrographic Branch Personnel Soundings in: Meters at MLLW Remarks: 1) All Times are UTC. 2) Projection is UTM Zone 19. 2 NOAA NRT-5 S-B906-NRT5-13 DAPR Table of Contents A. EQUIPMENT ......................................................................................................................... 6 A.1. Vessels .............................................................................................................................
    [Show full text]
  • Update Dapr in Your Development Environment on Windows 10
    Update Dapr in your development environment on Windows 10 By Philippe Beraud, Microsoft France Distributed Application Runtime, a.k.a. Dapr, is a portable, event-driven runtime that makes it easy for enterprise developers to build resilient, microservice stateless and stateful applications that run on the cloud and edge and embraces the diversity of languages and developer frameworks. As of this writing, Dapr is currently under community development in alpha phase. Dapr is thus NOT expected to be used for production workloads until its 1.0 stable release. Consequently, you can thus expect continuous releases of new versions of the Dapr runtime as well as the Dapr Command Line Interface (CLI). And such, these releases can (potentially) introduce a series of breaking changes. As a direct illustration, Dapr 0.4.0 has been released on February 13th 2020. As stated on the Dapr repo at https://github.com/dapr/dapr/releases, this release of Dapr not only includes new components, security improvements, API level enhancements, new CLI features, stability and bug fixes, a richer Java SDK, docs and samples updates, but it also contains breaking changes. If you're upgrading from an older version of Dapr to 0.4.0, this walkthrough will guide you through the upgrade of Dapr on your Windows 10 local machine to ensure a smooth upgrade. You know, the one where you don't get red errors on the terminal. We all hate that, right? For the sake of this walkthrough, the below assumes that you completed with an older version of Dapr, here the previous one 0.3.0, all the relevant step-by-step instructions as per: • The walkthrough Set up on Windows 10 a development environment for Dapr.
    [Show full text]
  • 从servicemesh到云原生 Dapr V1.0展望
    从Servicemesh到云原生 Dapr v1.0展望 作者:敖小剑 @ 阿里云 1 回顾:Servicemesh原理和方向 2 演进:云原生分布式应用运行时 内容 3 介绍:分布式应用运行时Dapr 4 展望:应用和中间件的未来形态 2/17 1 回顾:Servicemesh原理和方向 3/17 Service Mesh的定义 “Service Mesh是一个基础设施层,用于处理服务间通讯。现代云原生应 用有着复杂的服务拓扑,服务网格负责在这些拓扑中实现请求的可靠传递。” “在实践中,服务网格通常实现为一组轻量级网络代理,它们与应用程序部署在一 起,而对应用程序透明。” 定位 功能 部署 零侵入 轻量级网络代理 基础设施层 服务间通讯 对应用透明 (sidecar) ServiceMesh的创新:Sidecar 模式 Service A Sidecar Service B Service C Sidecar Sidecar Control Plane Servicemesh的基本思路:关注点分离 + 独立维护 Service Service Sidecar 业务逻辑 业务逻辑 + 服务发现 SDK 轻量级SDK 将SDK客户端 负载均衡 协议编解码 协议编解码 的功能剥离 熔断限流 服务发现 服务路由 负载均衡 业务进程专注于业务逻辑 …… 熔断限流 服务路由 SDK中的大部分功能, …… 拆解为独立进程, 以Sidecar的模式运行 混合在一个进程内, 应用既有业务逻辑, 也有各种非业务的功能 ServiceMesh发展趋势:以Istio为代表 易用性 外部集成 协议支持 和非 service mesh 体系相互访问,实现平滑迁移。 • Istio 1.5:控制平面单体化,合并多个组件为istiod Istio只支持HTTP和gRPC,社区在提 • Istio 1.7:主推 Operator安装方式,增强istioctl工具, 供更多协议支持,包括 Dubbo、 • Istio曾计划通过MCP协议提供统一的解决方案 支持在sidecar启动之后再启动应用容器 • Istio 1.7:MCP协议被废弃,改为 mcp over xds Thrift、Redis,如Aeraki 项目 • Istio 1.8:改善升级和安装,引入istioctl bug-report • Istio 1.9:Kubernetes Service API支持 (alpha),对外暴露服务 虚拟机支持 可观测性 • Istio 0.2:Mesh Expansion • Istio 1.8:正式移除Mixer,在Envoy基于 • Istio 1.1:ServiceEntry wasm重新实现Mixer功能 • Istio 1.6:WorkloadEntry • Istio 1.9:远程获取和加载wasm模块 • Istio 1.8:WorkloadGroup 和智能DNS代理 • Istio 1.9:虚拟机集成 ServiceMesh发展趋势:以Istio为代表 易用性 外部集成 协议支持 和非 service mesh 体系相互访问,实现平滑迁移。 • Istio 1.5:控制平面单体化,合并多个组件为istiod Istio只支持HTTP和gRPC,社区在提 • Istio 1.7:主推 Operator安装方式,增强istioctl工具, 供更多协议支持,包括 Dubbo、 • Istio曾计划通过MCP协议提供统一的解决方案 支持在sidecar启动之后再启动应用容器 • Istio 1.7:MCP协议被废弃,改为 mcp over xds Thrift、Redis,如Aeraki
    [Show full text]
  • Ballistic Missile Defense Glossary
    BALLISTIC MISSILE DEFENSE GLOSSARY VERSION 3.0 JUNE 1997 DEPARTMENT OF DEFENSE BALLISTIC MISSILE DEFENSE ORGANIZATION 7100 DEFENSE PENTAGON WASHINGTON, DC 20301-7100 PREFACE AND ACKNOWLEDGMENTS PURPOSE The purpose of this glossary is to facilitate a common language within the Ballistic Missile Defense Organization (BMDO) and the ballistic missile defense community. This glossary supplements other existing Department of Defense (DoD) publications. SCOPE This glossary is not an official DoD publication; it is limited to terminology that relates to ballistic missile defense. A number of computer, software, and engineering terms are included, especially those applicable to BMD. In addition, numerous acquisition terms are included in light of BMDO’s ongoing transition to a more acquisition-oriented agency. Many entries are taken from the DoD 5000-series of directives, the DoD program objective memorandums, the Joint Staff Glossary (Joint Pub 1-02), and the Defense Systems Management College Glossary. A number of outdated or seldom-used terms are also included for historical relevance, though obsolete terms are denoted. WORLD WIDE WEB The BMDO Glossary can be found on the BMDO World Wide Web home page at http://www.acq.osd.mil/bmdo/bmdolink/html/ FORMAT All entries are listed in alphabetical order, including acronyms (which are cross-referenced with their corresponding definition). General terms are defined in a BMD context where appropriate. In cases where a term has more than one BMD-related meaning, multiple definitions are given. Wherever possible, organizational changes occurring since publication of the October 1995 BMDO Glossary are incorporated. Please note that abbreviations and acronyms listed herein are capitalized for ease of reference.
    [Show full text]
  • GERS: DEFEAT CRIPPLING FREEWAY R-.Oc 11 11Oo Tat• of 11Oo ....., B)"
    • GERS: DEFEAT CRIPPLING FREEWAY r-.oc 11 11oo tat• of 11oo ....., b)" ... _, _. • toola Lid power awlllablo 1o - ••• yet llooJ coold 101 ew- ol - eommiiiiiJ, bot u oioel«< - .. of.,_ Y011 woro out lallld IIIIo •••-ol-uJ' bJ­ Vlco Ma1or -.d ._.. -- II _,.., li>n "'"- lloo eomblood -· ollloo - -- Lid elty, I--· r-"·P•-lou-· ooo ol lllo 1111117 Plo7, ., 11ooJ are lrJIII" oa,.. ,..ua. .. boll ••••oc oalloo-, - dii)J --- <:-. M-. Ltt't tako a fiiCid - loall II 11ootr arp-· ILid llootr 111o1r olllelal arpmratt ..,.wt lloo ~·· 1oW1i1to Lid • ' ' • • tilt-Tilt City Coomell lodr7 IIUI ltd:t lloo powor lo ooceooa- tactles. T- ar~ aplltt lloo llitlattlt Lid rttor- refrr- thoy ..,. tbtt u lD-<Itptll - It -.., I -ld Ulfo 1o -•oct 11oo - My JIOOitloo Ill IOIIJ eoml>li t11tro ororwbtbDlllr lareot--lllo- llltorotlt Olldum ~ tllat t•• -• -.14 101 - oo 11ooto u- b)" ,..., cur Couc:l~ elcy -· pr~ ee_.,.., UU laiM • 10111' CooDcll 11 .. .._.ttJ eemblr~'· Tbtre wtth their UDU.mtted wllltb aDd tbllr sUet tdch CA1d ~- uw aac tbe city bu bid u ~ to latttat11 ud togetber wttb a comm.Utee ol ea.eeroed cU:taM' Na Y Ut two llliaoritJ IDIIAbltl. Wt boUII ltu:l tllllh& aDd ala, Tbere 11 a way to WiD ~tr tbla lJpe ollatlunct ud complete aa 1D-4tptll COIIIIW'tbiDal"e "ltudy" al tbe total only partly true. As yet DO eouultaat baa beeD bl.red.,.., au_., bM&al JOU Ut tWI IDOf.....e: ol tM PIQPie. Tbt power, ud you arc J01nC to proridt tbe tllUmate ftiPOil trUII)Cir1atiOa Medl of oar etty.
    [Show full text]
  • OAM, Dapr and Rudr: the Future of Cloud Native Applications
    Microsoft Ignite OAM, dapr, and rudr The future of cloud native applications Mark Russinovich @markrussinovich Agenda Open Application Model dapr: Distributed Application Platform Building Cloud Scale, Hybrid Applications Application Models Describes the topology of your application and its components Programming Models The way developers write their application to interact with other services and data stores Open Application dapr: Distributed Model (OAM) Application Runtime Platform agnostic application model Building blocks for building scalable distributed apps Application model for Cloud and Edge State of Cloud The cloud is going serverless, but K8s is the Native infrastructure on-prem and on-edge Application App developers need to know and code for Platforms each infrastructure they deploy to Kubernetes for applications Kubernetes focuses on Application developers Production use of Kubernetes container infrastructure, need to be experts in requires mastery of the broader not on applications Kubernetes APIs cloud-native ecosystem "[Kubernetes] is really hard to get into it "A key principle for us when it comes and understand how all the parts play to choosing a platform is that we can together, even for experienced people." maintain the size of our team." – Software Architect @ Crisp – CTO @ Handled.io OAM: Platform agnostic application model The open application model for cloud and edge Focuses on developers and applications, not on Application focused container infrastructure Clearly defined roles for application developers, Separation
    [Show full text]
  • ASP.NET Core 5 for Beginners
    ASP.NET Core 5 for Beginners Kick-start your ASP.NET web development journey with the help of step-by-step tutorials and examples Andreas Helland Vincent Maverick Durano Jeffrey Chilberto Ed Price BIRMINGHAM—MUMBAI ASP.NET Core 5 for Beginners Copyright © 2020 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. Commissioning Editor: Richa Tripathi Acquisition Editor: Denim Pinto Senior Editor: Rohit Singh Content Development Editor: Kinnari Chohan Technical Editor: Gaurav Gala Copy Editor: Safis Editing Project Coordinator: Francy Puthiry Proofreader: Safis Editing Indexer: Pratik Shirodkar Production Designer: Alishon Mendonsa First published: December 2020 Production reference: 1171220 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-80056-718-4 www.packt.com This book is dedicated to my family, for allowing me to spend countless hours in front of my computers both growing up and to this day, not to mention accepting the joys of me having a home lab – couldn’t have done it without you! Andreas Helland I dedicate this book to my kids: Vianne Maverich, Vynn Markus, and Vjor Morrison.
    [Show full text]
  • Dapr-For-NET-Developers.Pdf
    EDITION v1.0.1 Refer changelog for the book updates and community contributions. PUBLISHED BY Microsoft Developer Division, .NET, and Azure Incubations teams A division of Microsoft Corporation One Microsoft Way Redmond, Washington 98052-6399 Copyright © 2021 by Microsoft Corporation All rights reserved. No part of the contents of this book may be reproduced or transmitted in any form or by any means without the written permission of the publisher. This book is provided “as-is” and expresses the author’s views and opinions. The views, opinions, and information expressed in this book, including URL and other Internet website references, may change without notice. Some examples depicted herein are provided for illustration only and are fictitious. No real association or connection is intended or should be inferred. Microsoft and the trademarks listed at https://www.microsoft.com on the “Trademarks” webpage are trademarks of the Microsoft group of companies. Mac and macOS are trademarks of Apple Inc. The Docker whale logo is a registered trademark of Docker, Inc. Used by permission. All other marks and logos are property of their respective owners. Authors: Rob Vettor, Principal Cloud Solution Architect - thinkingincloudnative.com, Microsoft Sander Molenkamp, Principal Cloud Architect/Microsoft MVP - sandermolenkamp.com, Info Support Edwin van Wijk, Principal Solution Architect/Microsoft MVP - defaultconstructor.com, Info Support Participants and Reviewers: Mark Russinovich, Azure CTO and Technical Fellow, Azure Office of CTO, Microsoft Nish Anil, Senior Program Manager, .NET team, Microsoft Mark Fussell, Principal Program Manager, Azure Incubations, Microsoft Yaron Schneider, Principal Software Engineer, Azure Incubations, Microsoft Ori Zohar, Senior Program Manager, Azure Incubations, Microsoft Editors: David Pine, Senior Content Developer, .NET team, Microsoft Maira Wenzel, Senior Program Manager, .NET team, Microsoft Version This guide has been written to cover the Dapr 1.0 version.
    [Show full text]