1. 程式人生 > >ISTIO SERVICE MESH

ISTIO SERVICE MESH

Abstract

Presenting a series of articles that provides an overview of Istio Service Mesh, why should we use, its capabilities, how to setup and how to enable Istio service mesh for microservice style architecture based application.

Introduction

In cloud era, many organizations are starting journey towards adopting microservice architecture to enable organizations to grow fast, where & when needed. This article has been divided into multiple parts.

In part 1 of series, we will touch upon key challenges in traditional (monolithic) architecture and microservice style architecture to start with.

However, the intent of this article is to cover usage of Istio service mesh. It is also assumed that reader of this article is having basic knowledge on microservices and Kubernetes.

In later series, we will be focusing what is Service Mesh, why do need to use Istio Service Mesh and benefits of Istio service mesh like how Istio helps developer, operators, monitoring features, etc.

Challenges in monolithic architecture
The some of the key challenges organization are facing today and wanted to address,

  • Long cycles – build, test, release
  • Architecture is hard to maintain and evolve
  • Struck with technology/software stack or framework
  • Long time to add new features
  • Low scalability
  • Low reuse and high maintenance effort and cost

Due to these issues, organizations are started adopting microservice style architecture. Let’s have look on how microservice style architecture addresses these issues and what challenges it brings.

Microservices

Microservices is an architecture style, in which large complex software applications are composed of one or more services.

The microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies. — James Lewis and Martin Fowler

  • Microservice can be deployed independently of one another and are loosely coupled. Each of these microservices focuses on completing one task only and does that one task well. In all cases, that one task represents a small business capability.
  • Microservices can be developed in any programming language.
  • Microservices communicate with each other using language-neutral application programming interfaces (APIs) such as Representational State Transfer (REST).
  • Microservices also have a bounded context. They don’t need to know anything about underlying implementation or architecture of other microservices.

Benefits of Microservices

The key features are,

  • Small, focused and easy to understand – enable to respond to customer needs more rapidly
  • Loose coupled – enables frequent and rapid deployment as zero coordination necessary for the deployment with other microservices.
  • Technology agnostic – enables to adapt technology faster or use existing skills or use most optimal language.
  • Easy to scale development – teams organize around different business requirements and manage their own services.
  • Easy to deploy new versions of services frequently – services can be deployed, scaled and managed independently.
  • Improved fault tolerance and isolation – separation of concerns minimizes the impact of issues in one service from another.
  • Improved speed of execution – teams deliver on business requirements faster by developing, deploying and managing microservices independently.

These features help to address business needs like time to market, scalability, rapid change, etc. however microservices style architecture comes with few operational challenges.

Challenges in Microservices Style Architecture

As mentioned in previous section, microservices style architecture approach has a lot of benefits, but it also brings complexity. Before a service getting to production, the following points should be considered or reviewed,

  • how to provide services discovery and request routing between different microservices
  • how to control and secure access to the application and to individual microservices
  • how to efficiently scale up (and down) microservices while maintaining connectivity and overall application resiliency
  • how to collect and send logging and monitoring data for later consumption
  • how to enable DevOps functions, such as Canary deployments, A/B testing and gradual rollouts or roll-backs

Traditionally, most of the above listed functionality had to be developed/incorporated by every new application team, with support codified into the different microservices. While this may be an achievable for a single application and source base, as applications grow more complex and microservices are implemented using different languages and runtimes, the work becomes tedious and open to error.

References

相關推薦

Introducing Istio Service Mesh for Microservices

Meet Istio “Istio is an implementation of a service mesh. A service mesh is the connective tissue between your services that adds additional capa

企業服務行業如何試水 Istio | Service Mesh Meetup 分享實錄

崔秀龍,HPE 軟體分析師,Kubernetes 權威指南作者之一,Kubernetes、Istio 專案成員。本文根據崔秀龍在 2019 廣州 Service Mesh Meetup#5 分享整理,完整的分享 PPT 獲取方式見文章底部。本文內容收錄在崔秀龍的新書:《深入淺出 Istio - Servi

Benefits of using the Istio service mesh

Distinguished Engineer Dan Berg details the top benefits of using the Istio service mesh in production from KubeCon 2018 in Stockholm. He notes that ma

ISTIO SERVICE MESH – Part 5

Introduction In cloud era, many organizations are starting journey towards adopting microservice architecture to enable organizations to grow fast, wher

ISTIO SERVICE MESH

Abstract Presenting a series of articles that provides an overview of Istio Service Mesh, why should we use, its capabilities, how to setup and how to

ISTIO SERVICE MESH – Part 3

Introduction In cloud era, many organizations are starting journey towards adopting microservice architecture to enable organizations to grow fast, whe

ISTIO SERVICE MESH – Part 2

Introduction In cloud era, many organizations are starting journey towards adopting microservice architecture to enable organizations to grow fast, whe

深入淺出Istio:Service mesh快速入門與實踐-讀書筆記(By GisonWin)

什麽 分配 mem ces 轉換成 初始化 virt 會有 ilo 01 服務網格歷史 (以後補充) 02 服務網格的基本特性 連接 微服務錯綜復雜,要完成其業務目標,連接問題是首要問題.連接存在於所有服務的整個lifcecycle中,用於維持服務的運行. 安全

微服務之旅:從Netflix OSS到 Istio Service Mesh

在這篇文章中,我們從Netflix開始,通過Envoy和Istio的崛起,快速瀏覽微服務的歷史. 微服務是具有邊界上下文的鬆散耦合服務,使您能夠獨立開發,部署和擴充套件服務。它還可以定義為構建獨立開發和部署的分散式系統的架構模式。 在微服務架構中處理服務之間的通訊是一項挑戰,因為它們需要在不可靠的網路中

阿裏雲Kubernetes Service Mesh實踐進行時(1): Istio初體驗

我們 key works code sch 代碼 部署 text 過程 摘要: 本篇文章是系列中的第一篇,主要講述利用阿裏雲Kubernetes容器服務,快速搭建一套用於連接、管理以及安全化微服務的開放平臺Istio,為應用引入和配置多個相關服務。 概述 Istio是一個用

Service Mesh istio 部署在kubernetes v1.11.2 簡單記錄

系統 [[email protected] istio-1.1.0.snapshot.1]# uname -a Linux master-47-35 3.10.0-327.4.5.el7.x86_64 #1 SMP Mon Jan 25 22:07:14 UTC 2016

Service Mesh深度學習系列|istio原始碼分析之pilot

本文分析的istio程式碼版本為0.8.0,commit為0cd8d67,commit時間為2018年6月18日。 上面是官方關於pilot的架構圖,因為是old_pilot_repo目錄下,可能與最新架構有出入,僅供參考。所謂的pilot包含兩個元件:pilot-agent和pilot-d

Managing service mesh on Kubernetes with Istio

Managing service mesh on Kubernetes with IstioAs the complexity of microservice applications grows, it becomes extremely difficult to track and manage inte

阿里雲Kubernetes Service Mesh實踐進行時(1): Istio初體驗

摘要: 本篇文章是系列中的第一篇,主要講述利用阿里雲Kubernetes容器服務,快速搭建一套用於連線、管理以及安全化微服務的開放平臺Istio,為應用引入和配置多個相關服務。 概述 Istio是一個用於連線/管理以及安全化微服務的開放平臺,提供了一種簡單的方式用於建

Service Mesh對企業安全而言意味著什麽?

Service Mesh 企業安全 你聽說過Service Mesh(服務網格)嗎? 我相信你聽說過。Service Mesh正成為容器生態圈愈發重要的一部分。 本文將簡要概述Service Mesh的作用,並深入探討它們對於企業安全性的意義。Service Meshes是什麽?它為何如此重要?連接問

深入解讀Service Mesh背後的技術細節

調用 數據模型 什麽 比較 正常 應用 ffi gcs dsl 本文由 網易雲 發布。 作者:劉超,網易雲首席解決方案架構師 在Kubernetes稱為容器編排的標準之後,Service Mesh開始火了起來,但是很多文章講概念的多,講技術細節的少,所以專門寫一篇

微服務架構下 Service Mesh 會是閃亮的明天嗎?

在一起 7月 部署 服務發現 代理 負載 開源項目 images 我們 7月7日,時速雲企業級容器 PaaS 技術沙龍第 10 期在上海成功舉辦,時速雲容器架構負責人魏巍為大家詳細講解了 Service Mesh 中代表性的實踐方案、並以 Istio 為例詳細講解了 Ser

五分鐘了解 Service Mesh

adf 關聯 com 方式 相互 基礎 增長 然而 加解密 1 背景 1.1 多語言 微服務理念是提倡不同業務使用最適合它的語言開發,現實情況也確實如此,尤其是AI的興起,一般大型互聯網公司存在 C/C++、Java、Golang、PHP、Python、Node

阿裏巴巴中間件團隊在 Service Mesh 的實踐和探索

社區 社會 能說 service ilo 用戶 爭論 出發 obs 摘要: 所有軟件最重要的使命不是滿足功能要求,而是演進,從而持續成長。 精彩觀點導讀:? 我們去探索一項技術,並不會僅僅因為其先進性,而是因為我們目前遇到了一些無法解決的問題,而這項技術正好能解決這個問題。

一文了解“Service Mesh(服務網格)”的歷史與現在

對於大多數人來說,“Service Mesh(服務網格)”仍然是一個新概念,因此,談論它的“歷史”可能看起來有點滑稽。但事實上,早在2010年初,在一些大網路規模的公司中,服務網格的概念就隱約開始逐步形成了。因此,服務網格確實有一段歷史值得去探索、去理解。