SlideShare une entreprise Scribd logo
1  sur  72
開発現場の変化
4
http://devops.com/2014/03/11/you-cant-sell-devops/
一つの変更に対するコスト
継続的インテグレーション
一般的な開発プロセス
継続的インテグレーションによる自動化
継続的インテグレーションによる効果
【ここを自動化】
アプリケーションのデプロイ
開発から本番環境までの環境統一は困難
開発環境 テスト環境 本番環境
Java
Ruby
MySQL
OS
Infrastructure as Code
OS
(Desired State Configuration)
DevOps とは
DevOps 手法の一覧
• Infrastructure as Code (IaC)
• 継続的インテグレーション
• 自動テスト
• 継続的デプロイ
• リリース管理
• アプリ パフォーマンスの監視
• ロード テストと自動スケーリング
• 可用性監視
• 変更/構成管理
• 機能フラグ
• 環境へのプロビジョニングの自動解除
• セルフサービス環境
• 自動回復 (ロールバックとロールフォワード)
• 仮説に基づく開発
• 運用環境でのテスト
• フォールト挿入
• 使用状況監視/ユーザー テレメトリ
http://www.itproguy.com/devops-practices/
Micro Service
設計
住宅建築 & ソフトウェア開発
構築
住宅の寿命 30年
生活は30年間で変わる
住みごごちを改善するため
リフォーム
ソフトウェアも再構築?
ソフトウェア・ライフサイクルは
住宅建築よりも短い !!
30 年前 IT 業界では
日本マイクロソフト(株)設立
変更の強いシステム作りのために
どのように作っていくか?
変更に強いシステムを作るため
リリース・サイクルを早めるため
Micro Service
UI ロジック
UI ロジック
UI
ロジック
UI
ロジック
分散コンピューティングを
意識したシステム開発
• API Gateway
• Service Registry / Service Discovery
• Circuit Breaker
• Polyglot Persistence
• Command Query Responsibility Segregation (CQRS)
• Tolerant Reader
• Chained Services
• Asynchronous Messaging
• Service Instantiation
• Consumer-Driven Contracts
• Domain Events
• API Gateway
• Service Registry / Service Discovery
• Circuit Breaker
• Polyglot Persistence
• Command Query Responsibility Segregation (CQRS)
• Tolerant Reader
• Chained Services
• Asynchronous Messaging
• Service Instantiation
• Consumer-Driven Contracts
• Domain Events
API Gateway
マイクロサービスの主要な技術の一つ
全クライアントがアクセスする唯一のエントリポイント
API
Gateway
API
Gateway
• API Gateway
• Service Registry / Service Discovery
• Circuit Breaker
• Polyglot Persistence
• Command Query Responsibility Segregation (CQRS)
• Tolerant Reader
• Chained Services
• Asynchronous Messaging
• Service Instantiation
• Consumer-Driven Contracts
• Domain Events
Service C
10.0.1.1:8080
10.0.1.1:8081
10.0.1.2:8080
10.0.1.2:8083
10.0.1.3:8082
10.0.1.4:8085
Service C
1. 接続先情報を Service Registory に登録
IP アドレス
Port 番号を登録
Service C
Load
Balancer
API
Gateway
2. 接続先の情報を問い合わせ
LB が接続先の
IP アドレス
Port 番号を取得
Service C
Load
Balancer
API
Gateway
3. 取得した情報を元にサービスに接続
取得した情報を元に
LB はサービスに接続
• API Gateway
• Service Registry / Service Discovery
• Circuit Breaker
• Polyglot Persistence
• Command Query Responsibility Segregation (CQRS)
• Tolerant Reader
• Chained Services
• Asynchronous Messaging
• Service Instantiation
• Consumer-Driven Contracts
• Domain Events
Service C
Load
Balancer
API
Gateway
Micro Service
の実例
Azure Service Fabric
Azure Container Service
MSA with Cognitive Services デモ
写真(画像)から
年齢、性別、感情情報を取得
モノリスからマイクロ・サービス移行へ
UI
Face Detect
warファイル
Emotional
UI サービス
Face Detect
Emotional
モノリシック実装 マイクロ・サービス実装
https://aka.ms/facedetect-msahttps://aka.ms/facedetect-monoligh
Microservices の構成例
サービス登録動的サービス検知
REST
サービス呼び出し
スケール・
アウト/イン
可用性
(自動再起動)
一から構築するのは大変
サービス登録動的サービス検知
REST
サービス呼び出し
スケール・
アウト/イン
可用性
(自動再起動)
AI がより身近な存在に
パーソナルアシスタント
(Cortana)
チャットボット
(BOT Framework)
機械学習と開発環境
(Azure Machine Learning
Studio)
深層学習フレームワーク
(Cognitive Toolkit)
認識API
(Cognitive Services)
翻訳API
(Micsrosoft Translator)
Microsoft が提供する機械学習サービス
Microsoft R
既存のデータベースとの連携の中で一般的なアルゴリ
ズムによるデータ解析を提供
Project Oxford という開発コード名で 画像認識、音声認識、
テキスト認識など Azure の API サービス(Web API)として公開
https://www.microsoft.com/cognitive-services
http://host.robots.ox.ac.uk/pascal/VOC/
A car is running A man is cutting a
piece of meat
A man is performing
on a stage
A man is riding a bike
A man is singing A panda is walking A woman is riding a horse A man is flying in a field
利用方法:REST API でアクセス
• データは JSON 形式で通信は HTTP(S) : GET/POST
• プラットフォームや開発言語を問わない
https://github.com/yoshioterada/JAX-RS-Cognitive-
https://www.microsoft.com/en-us/translator/default.aspx
Engineer is Hero !!
Microsoft Developers
Engineer is Hero !! DevOps MSA and AI

Contenu connexe

Tendances

Tendances (20)

Azure Service Fabric概要
Azure Service Fabric概要Azure Service Fabric概要
Azure Service Fabric概要
 
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
 
ハイブリッドクラウドの現実とAzureの使いどころ
ハイブリッドクラウドの現実とAzureの使いどころハイブリッドクラウドの現実とAzureの使いどころ
ハイブリッドクラウドの現実とAzureの使いどころ
 
Azure Data Platform
Azure Data PlatformAzure Data Platform
Azure Data Platform
 
ルーメン・テクノロジーズ エッジプラットフォーム Varnish・Node.js
ルーメン・テクノロジーズ エッジプラットフォーム Varnish・Node.jsルーメン・テクノロジーズ エッジプラットフォーム Varnish・Node.js
ルーメン・テクノロジーズ エッジプラットフォーム Varnish・Node.js
 
Java on Azure 2019
Java on Azure 2019Java on Azure 2019
Java on Azure 2019
 
Microsoft Azure ~ Web開発 & モバイル開発者向け情報 ~
Microsoft Azure ~ Web開発 & モバイル開発者向け情報 ~ Microsoft Azure ~ Web開発 & モバイル開発者向け情報 ~
Microsoft Azure ~ Web開発 & モバイル開発者向け情報 ~
 
RoRとAWSで100,000Req/Minを処理する
RoRとAWSで100,000Req/Minを処理するRoRとAWSで100,000Req/Minを処理する
RoRとAWSで100,000Req/Minを処理する
 
マイクロサービス運用の所感 #m3dev
マイクロサービス運用の所感 #m3devマイクロサービス運用の所感 #m3dev
マイクロサービス運用の所感 #m3dev
 
コマンド1発でAzureにDC/OS環境を作る方法
コマンド1発でAzureにDC/OS環境を作る方法コマンド1発でAzureにDC/OS環境を作る方法
コマンド1発でAzureにDC/OS環境を作る方法
 
[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発
[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発
[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発
 
Azure monitoring and alert v0.2.21.0707
Azure monitoring and alert v0.2.21.0707Azure monitoring and alert v0.2.21.0707
Azure monitoring and alert v0.2.21.0707
 
Windows Server 2019 Active Directory related information
Windows Server 2019  Active Directory related informationWindows Server 2019  Active Directory related information
Windows Server 2019 Active Directory related information
 
オトナのService Fabric~マイクロサービス編
オトナのService Fabric~マイクロサービス編オトナのService Fabric~マイクロサービス編
オトナのService Fabric~マイクロサービス編
 
詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編
詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編
詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編
 
Api gatewayの話
Api gatewayの話Api gatewayの話
Api gatewayの話
 
[AC07] 米国マイクロソフト本社で体験したノウハウを伝授!マイクロサービス実行基盤Azure Service Fabricの勘所
[AC07] 米国マイクロソフト本社で体験したノウハウを伝授!マイクロサービス実行基盤Azure Service Fabricの勘所[AC07] 米国マイクロソフト本社で体験したノウハウを伝授!マイクロサービス実行基盤Azure Service Fabricの勘所
[AC07] 米国マイクロソフト本社で体験したノウハウを伝授!マイクロサービス実行基盤Azure Service Fabricの勘所
 
Kansai Azure Azure Overview & Update 20140926
Kansai Azure Azure Overview & Update 20140926Kansai Azure Azure Overview & Update 20140926
Kansai Azure Azure Overview & Update 20140926
 
AWS Elastic BeanstalkとAWS Lambdaのご紹介
AWS Elastic BeanstalkとAWS Lambdaのご紹介AWS Elastic BeanstalkとAWS Lambdaのご紹介
AWS Elastic BeanstalkとAWS Lambdaのご紹介
 
msal.jsを使う
msal.jsを使うmsal.jsを使う
msal.jsを使う
 

Similaire à Engineer is Hero !! DevOps MSA and AI

日本で DevOps を ロケットスタートする方法
日本で DevOps を  ロケットスタートする方法日本で DevOps を  ロケットスタートする方法
日本で DevOps を ロケットスタートする方法
Puppet
 
Build insider testingwithvs
Build insider testingwithvsBuild insider testingwithvs
Build insider testingwithvs
Tomoyuki Iwade
 
【Interop tokyo 2014】 Citrix NetScalerとCisco ACIとの融合がもたらす次世代インフラのコンセプト
【Interop tokyo 2014】 Citrix NetScalerとCisco ACIとの融合がもたらす次世代インフラのコンセプト【Interop tokyo 2014】 Citrix NetScalerとCisco ACIとの融合がもたらす次世代インフラのコンセプト
【Interop tokyo 2014】 Citrix NetScalerとCisco ACIとの融合がもたらす次世代インフラのコンセプト
シスコシステムズ合同会社
 
[DI09] ここまで進化した! マイクロソフトの 「BI 」
[DI09] ここまで進化した! マイクロソフトの 「BI 」[DI09] ここまで進化した! マイクロソフトの 「BI 」
[DI09] ここまで進化した! マイクロソフトの 「BI 」
de:code 2017
 

Similaire à Engineer is Hero !! DevOps MSA and AI (20)

JavaOne 2016 Report for Java EE
JavaOne 2016 Report for Java EEJavaOne 2016 Report for Java EE
JavaOne 2016 Report for Java EE
 
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
 
Cisco Connect Japan 2014: 実践 Cisco ACI (Application Centric Infrastructure)
Cisco Connect Japan 2014: 実践 Cisco ACI (Application Centric Infrastructure)Cisco Connect Japan 2014: 実践 Cisco ACI (Application Centric Infrastructure)
Cisco Connect Japan 2014: 実践 Cisco ACI (Application Centric Infrastructure)
 
codeless/serverless develop
codeless/serverless develop codeless/serverless develop
codeless/serverless develop
 
日本で DevOps を ロケットスタートする方法
日本で DevOps を  ロケットスタートする方法日本で DevOps を  ロケットスタートする方法
日本で DevOps を ロケットスタートする方法
 
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
 
Design Pattern MicroServices Architecture in Japanese
Design Pattern MicroServices Architecture in JapaneseDesign Pattern MicroServices Architecture in Japanese
Design Pattern MicroServices Architecture in Japanese
 
App012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をApp012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_を
 
App012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をApp012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_を
 
Clrh 110716 wcfwf
Clrh 110716 wcfwfClrh 110716 wcfwf
Clrh 110716 wcfwf
 
20190731 Azure Functions x Line at Azure Tech Lab #4
20190731 Azure Functions x Line at Azure Tech Lab #420190731 Azure Functions x Line at Azure Tech Lab #4
20190731 Azure Functions x Line at Azure Tech Lab #4
 
ITpro EXPO 2014: Cisco ACI  ~データセンター運用の効率化と迅速なアプリケーション展開~
ITpro EXPO 2014: Cisco ACI  ~データセンター運用の効率化と迅速なアプリケーション展開~ITpro EXPO 2014: Cisco ACI  ~データセンター運用の効率化と迅速なアプリケーション展開~
ITpro EXPO 2014: Cisco ACI  ~データセンター運用の効率化と迅速なアプリケーション展開~
 
ITPro Expo 2014: Cisco Application Centric Infrastructure (Cisco ACI ) 概要
ITPro Expo 2014: Cisco Application Centric Infrastructure (Cisco ACI ) 概要ITPro Expo 2014: Cisco Application Centric Infrastructure (Cisco ACI ) 概要
ITPro Expo 2014: Cisco Application Centric Infrastructure (Cisco ACI ) 概要
 
Web サーバー管理者のための Azure App Service 再入門
Web サーバー管理者のための Azure App Service 再入門Web サーバー管理者のための Azure App Service 再入門
Web サーバー管理者のための Azure App Service 再入門
 
DevOps with Dynatrace
DevOps with DynatraceDevOps with Dynatrace
DevOps with Dynatrace
 
Circle of Code with Cloud Foundry
Circle of Code with Cloud FoundryCircle of Code with Cloud Foundry
Circle of Code with Cloud Foundry
 
Cisco Connect Japan 2014:シスコの IT プラットフォーム戦略
Cisco Connect Japan 2014:シスコの IT プラットフォーム戦略Cisco Connect Japan 2014:シスコの IT プラットフォーム戦略
Cisco Connect Japan 2014:シスコの IT プラットフォーム戦略
 
Build insider testingwithvs
Build insider testingwithvsBuild insider testingwithvs
Build insider testingwithvs
 
【Interop tokyo 2014】 Citrix NetScalerとCisco ACIとの融合がもたらす次世代インフラのコンセプト
【Interop tokyo 2014】 Citrix NetScalerとCisco ACIとの融合がもたらす次世代インフラのコンセプト【Interop tokyo 2014】 Citrix NetScalerとCisco ACIとの融合がもたらす次世代インフラのコンセプト
【Interop tokyo 2014】 Citrix NetScalerとCisco ACIとの融合がもたらす次世代インフラのコンセプト
 
[DI09] ここまで進化した! マイクロソフトの 「BI 」
[DI09] ここまで進化した! マイクロソフトの 「BI 」[DI09] ここまで進化した! マイクロソフトの 「BI 」
[DI09] ここまで進化した! マイクロソフトの 「BI 」
 

Plus de Yoshio Terada

Plus de Yoshio Terada (20)

AI-Java-for-Financial.pdf
AI-Java-for-Financial.pdfAI-Java-for-Financial.pdf
AI-Java-for-Financial.pdf
 
Java-Virtual-Thread-LT.pdf
Java-Virtual-Thread-LT.pdfJava-Virtual-Thread-LT.pdf
Java-Virtual-Thread-LT.pdf
 
Cloud Native Architecture ことはじめ 最適な実行環境を選ぶポイント
Cloud Native Architecture ことはじめ 最適な実行環境を選ぶポイントCloud Native Architecture ことはじめ 最適な実行環境を選ぶポイント
Cloud Native Architecture ことはじめ 最適な実行環境を選ぶポイント
 
Jakarta EE Microproile Update JJUG 2020 May
Jakarta EE Microproile Update JJUG 2020 MayJakarta EE Microproile Update JJUG 2020 May
Jakarta EE Microproile Update JJUG 2020 May
 
Azure RedHat OpenShift - Red Hat Forum 2019
Azure RedHat OpenShift - Red Hat Forum 2019Azure RedHat OpenShift - Red Hat Forum 2019
Azure RedHat OpenShift - Red Hat Forum 2019
 
JakartaOne 2020 Japan Announce
JakartaOne 2020 Japan AnnounceJakartaOne 2020 Japan Announce
JakartaOne 2020 Japan Announce
 
Jjug CCC 2019 Fall Azure Spring Cloud
Jjug CCC 2019 Fall Azure Spring CloudJjug CCC 2019 Fall Azure Spring Cloud
Jjug CCC 2019 Fall Azure Spring Cloud
 
Sapporo Developer Festa 2019
Sapporo Developer Festa 2019Sapporo Developer Festa 2019
Sapporo Developer Festa 2019
 
AKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab ContentsAKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab Contents
 
Java on Azure 2019
Java on Azure 2019Java on Azure 2019
Java on Azure 2019
 
Oisix ra Daichi Microservice with Kubernetes
Oisix ra Daichi Microservice with Kubernetes Oisix ra Daichi Microservice with Kubernetes
Oisix ra Daichi Microservice with Kubernetes
 
Virtual Kubelet and Virtual Node
Virtual Kubelet and Virtual NodeVirtual Kubelet and Virtual Node
Virtual Kubelet and Virtual Node
 
Japan Container Day 2018
Japan Container Day 2018Japan Container Day 2018
Japan Container Day 2018
 
The Experience of Java on Kubernetes with Microservices from HackFest
The Experience of Java on Kubernetes with Microservices from HackFestThe Experience of Java on Kubernetes with Microservices from HackFest
The Experience of Java on Kubernetes with Microservices from HackFest
 
How to face the Kubernetes ?
How to face the Kubernetes ? How to face the Kubernetes ?
How to face the Kubernetes ?
 
Istio on k8s on Azure (AKS)
Istio on k8s on Azure (AKS)Istio on k8s on Azure (AKS)
Istio on k8s on Azure (AKS)
 
Payara Scale (Hazelcast Enterprise) on Azure
Payara Scale (Hazelcast Enterprise) on AzurePayara Scale (Hazelcast Enterprise) on Azure
Payara Scale (Hazelcast Enterprise) on Azure
 
Engineer can change the world with Drew
Engineer can change the world with DrewEngineer can change the world with Drew
Engineer can change the world with Drew
 
Microsoft LUIS meet Java (NAVITIME also used LUIS on production)
Microsoft LUIS meet Java (NAVITIME also used LUIS on production)Microsoft LUIS meet Java (NAVITIME also used LUIS on production)
Microsoft LUIS meet Java (NAVITIME also used LUIS on production)
 
Java Puzzlers JJUG CCC 2016
Java Puzzlers JJUG CCC 2016Java Puzzlers JJUG CCC 2016
Java Puzzlers JJUG CCC 2016
 

Dernier

Dernier (12)

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

Engineer is Hero !! DevOps MSA and AI