èªååãšãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¯ãçŸä»£ã®ITã«ãããŠæãå€çŸ©çã«äœ¿ãããŠããçšèªã®2ã€ã§ããæ±äººæ å ±ããã³ããŒã®ããŒã±ãã£ã³ã°è³æãã«ã³ãã¡ã¬ã³ã¹ã§ã®è¬æŒãã¢ãŒããã¯ãã£å³ãªã©ãããããå Žé¢ã§é »ç¹ã«ç»å ŽãããŸãã§å矩èªã§ãããã®ããã«æ±ãããŠããŸããããããäž¡è ã¯å矩ã§ã¯ãããŸãããèªååã¯ã人éã®ä»å ¥ãªãã«åäžã®ã¿ã¹ã¯ãå®è¡ããŸããäžæ¹ããªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¯ãè€æ°ã®èªååãããã¿ã¹ã¯ã飿ºãããŠããã倧ããªææãéæããäžé£ã®ããã»ã¹ãæ§ç¯ããŸãããã®éãã¯éèŠã§ãããªããªããåé¡ã«å¯ŸããŠèª€ã£ãæœè±¡åã¬ãã«ãéžæãããšãéå°èšèšïŒ1ã€ã®èªååã¹ã¯ãªããã§æžããã®ã«ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¬ã€ã€ãŒãæ§ç¯ããïŒãŸãã¯æ©èœäžè¶³ïŒäŸåé¢ä¿ç®¡çããšã©ãŒåŠçã䌎ã飿ºããã·ãŒã±ã³ã¹ãå¿ èŠãªãã®ã«ãåå¥ã®èªååæ©èœãæ§ç¯ããïŒã®ãœãªã¥ãŒã·ã§ã³ã«ãªã£ãŠããŸãããã§ãã
ãã®ã¬ã€ãã§ã¯ãããããã®æŠå¿µãæç¢ºã«åºå¥ããå®éã«ã©ã®ãããªãã®ããå ·äœçã«ç€ºããæãé »ç¹ã«æ€çŽ¢ãããå ·äœçãªããªãšãŒã·ã§ã³ïŒã¯ãŒã¯ãããŒãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãããŒã¿ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãAIãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãã€ã³ãã©ã¹ãã©ã¯ãã£ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ïŒãåãäžããããããã®ããŒã«ã«ã€ããŠè§£èª¬ããæåŸã«ç¹å®ã®åé¡ã«å¯ŸããŠã©ã®ææ³ãå¿ èŠãã倿ããããã®æææ±ºå®ãã¬ãŒã ã¯ãŒã¯ãæç€ºããŸãã
æ§é ççå®ã«åºã¥ããŠèªååãæ§ç¯ãã
SMART TS XL èªåãããã€ã«ãã£ãŠæ¬çªç°å¢ã«ã³ããããããåã«ãå倿Žãäœã«åœ±é¿ãäžãããã衚瀺ããŸãã
詳现æ å ±æ ¹æ¬çãªéãïŒåäžã®ã¿ã¹ã¯ããè€æ°ã®å調ã¿ã¹ã¯ã
ãã®éããçè§£ããæãåãããããæ¹æ³ã¯ãæœè±¡çãªå®çŸ©ã§ã¯ãªããå ·äœçãªäŸãçšããããšã§ããã
èªååïŒããŒã¿ããŒã¹ã®ããã¯ã¢ãããè¡ãèªåã¹ã¯ãªãããæ¯æ©åå2æã«å®è¡ãããŸããã¹ã¯ãªããã¯å®è¡ãå®äºããããŠæåãŸãã¯å€±æã®å ±åãè¡ããŸãã人éã®ä»å ¥ã¯äžåäžèŠã§ãã
ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ïŒ CI/CDãã€ãã©ã€ã³ã¯ãã³ãŒãã³ããããæ€ç¥ãããã«ããããªã¬ãŒããåäœãã¹ããå®è¡ããåäœãã¹ããåæ Œããå Žåã«ã®ã¿çµ±åãã¹ããå®è¡ãããã¹ãŠã®ãã¹ããåæ Œããå Žåã«ã¹ããŒãžã³ã°ç°å¢ã«ãããã€ããã¹ããŒãžã³ã°ç°å¢ã«å¯ŸããŠã¹ã¢ãŒã¯ãã¹ããå®è¡ããããŒã ã«Slackéç¥ãéä¿¡ããã¹ã¢ãŒã¯ãã¹ããåæ Œãããããã€ãŠã£ã³ããŠãéããŠããå Žåã«ã®ã¿æ¬çªç°å¢ã«ãããã€ããŸãããããã®åã¹ãããã¯èªååãããŠããŸãããªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¯ãäžé£ã®ã¹ãããå šäœã«ããã£ãŠäŸåé¢ä¿ãé åºãæ¡ä»¶ãããã³ãšã©ãŒåŠçã管çãããããã®ã¹ãããã調æŽããŸãã
| 次å | ãªãŒãã¡ãŒã·ã§ã³ | ç·šæ |
|---|---|---|
| 察象é å | åäžã®ã¿ã¹ã¯ãŸãã¯ããã»ã¹ | ã·ã¹ãã éã§ã®è€æ°ã®ã¿ã¹ã¯ |
| äŸåé¢ä¿ | ãªããç¬ç«ããŠå®è¡ | ã¹ãããéã®äŸåé¢ä¿ã管çããŸã |
| æ¡ä»¶ä»ãããžã㯠| æå°éïŒããªã¬ãŒããŒã¹ïŒ | è€éãªã±ãŒã¹ïŒã¹ãããBãæåããå Žåã®ã¿ã¹ãããAãå®è¡ïŒ |
| ãšã©ãŒåŠç | ã¿ã¹ã¯ã¬ãã«ã®å詊è¡ãŸãã¯å€±æ | ã¯ãŒã¯ãããŒã¬ãã«ã®åå²ãšåŸ©æ§ |
| å žåçãªããªã¬ãŒ | ã¹ã±ãžã¥ãŒã«ãŸãã¯ã€ãã³ã | åã®ã¹ãããã®å®äºãŸãã¯å€éšä¿¡å· |
| éææ§ | ã¿ã¹ã¯ãã° | ãšã³ãããŒãšã³ãã®ã¯ãŒã¯ãããŒã®ç¶æ |
| äŸ | ããã¯ã¢ãããã¡ãŒã«ãã£ã«ã¿ãŒããã¹ãå®è¡ | CI/CDãã€ãã©ã€ã³ãããŒã¿ãã€ãã©ã€ã³ãã€ã³ã·ãã³ãå¯Ÿå¿ |
ç°¡åãªãã¹ãïŒã·ã¹ãã ãäœãããã®ããããããŠããããã ããïœã®å Žåã«éããã䜿ããã«äžæã§èª¬æã§ãããªããããã¯èªååã§ããããããŠããããã ããïœã®å Žåã«éãããå¿ èŠãªå Žåã¯ããªãŒã±ã¹ãã¬ãŒã·ã§ã³ãå¿ èŠã§ãã
èªååãšã¯äœã§ããïŒ
èªååãšã¯ã人éã®ä»å ¥ãªãã«ã·ã¹ãã ãäºåã«å®çŸ©ãããã¿ã¹ã¯ãå®è¡ããããšã§ãããã¿ã¹ã¯ã¯åå¥ã®ãã®ã§ãããæç¢ºãªå ¥åãæç¢ºãªåäœãæç¢ºãªåºåãæã€ã人éãäžåºŠèšå®ããã°ãã·ã¹ãã ã¯ãããç¹°ãè¿ãå®è¡ããã
èªååã¯ãä»ã®ããã»ã¹ã«ã€ããŠç¥ãå¿ èŠã¯ãããŸãããå€éšäŸåé¢ä¿ãåŠçããå¿ èŠããããŸãããäœãã®çµæã«åºã¥ããŠåäœã調æŽããå¿ èŠããããŸãããå¿ èŠãªã®ã¯ããã äžã€ã®ããšã確å®ã«å®è¡ããããšã ãã§ãã
äžè¬çãªèªååãã¿ãŒã³ïŒ
- æ°ããã³ãŒãããªããžããªã«ããã·ã¥ããããšãã«ãã¹ãã¹ã€ãŒããå®è¡ãã
- ãµãŒããŒã®CPU䜿çšçããããå€ãè¶ ããå Žåã«éç¥ãéä¿¡ãã
- å®ããããã¹ã±ãžã¥ãŒã«ã«åŸã£ãŠã»ãã¥ãªãã£èªèšŒæ å ±ãå ¥ãæ¿ãã
- æ°ããããããžã§ãã³ã°ããããµãŒããŒã«æ§æãé©çšãã
- ããŒã¯ãŒãã«åºã¥ããŠåä¿¡ãµããŒããã±ããããã£ã«ã¿ãªã³ã°ããã³ã«ãŒãã£ã³ã°ãã
èªååã«é©ããã¿ã¹ã¯ãšã¯ãå埩çã§ãäºæž¬å¯èœã§ãæç¢ºã«å®çŸ©ãããŠããã䟡å€ãçã¿åºãããã«ä»ã®ããã»ã¹ãšã®é£æºãå¿ èŠãšããªãã¿ã¹ã¯ã§ããã
ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãšã¯äœãïŒ
ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¯ãè€æ°ã®èªååãããã¿ã¹ã¯ãå調çãªé åºã§å®è¡ããããã«ç®¡çããŸããã¿ã¹ã¯éã®äŸåé¢ä¿ïŒã¿ã¹ã¯Aãå®äºãããŸã§ã¿ã¹ã¯Bã¯éå§ã§ããªãïŒãæ¡ä»¶ä»ãããžãã¯ïŒã¿ã¹ã¯Bãæåããå Žåã«ã®ã¿ã¿ã¹ã¯Cãå®è¡ãããïŒããšã©ãŒå埩ïŒå€±æãã³ãã©ãŒã«ã«ãŒãã£ã³ã°ããåã«ã¿ã¹ã¯Bãæå€§3åå詊è¡ããïŒãããã³ã¯ãŒã¯ãããŒå šäœã®ç¶æ ãåŠçããŸãã
ãªãŒã±ã¹ãã¬ãŒã¿ãŒã¯ã¿ã¹ã¯èªäœãå®è¡ããã®ã§ã¯ãªããã¿ã¹ã¯ãå®è¡ããã·ã¹ãã éã®é£æºã調æŽããŸããKubernetesã¯ã¢ããªã±ãŒã·ã§ã³ã³ã³ãããçŽæ¥å®è¡ããã®ã§ã¯ãªããã³ã³ããã®ã¹ã±ãžã¥ãŒã«èšå®ãèµ·åãåèµ·åãè² è·åæ£ãè¡ããŸããApache Airflowã¯ããŒã¿å€æãçŽæ¥å®è¡ããã®ã§ã¯ãªããããŒã¿å€æãå®è¡ããã·ã¹ãã ã®ã¹ã±ãžã¥ãŒã«èšå®ãšã·ãŒã±ã³ã¹å¶åŸ¡ãè¡ããŸãã
ãã€ãœã³
# Apache Airflow DAG -- orchestrating a data pipeline
# Each task is automated; Airflow orchestrates their sequence
from airflow import DAG
from airflow.operators.python import PythonOperator
from datetime import datetime
with DAG("customer_pipeline", start_date=datetime(2026, 1, 1), schedule="@daily") as dag:
extract = PythonOperator(
task_id="extract_customer_data",
python_callable=extract_from_source
)
validate = PythonOperator(
task_id="validate_records",
python_callable=run_quality_checks
)
transform = PythonOperator(
task_id="transform_and_load",
python_callable=load_to_warehouse
)
# Orchestration: defines the dependency chain
extract >> validate >> transform
# validate runs only after extract succeeds
# transform runs only after validate succeeds
äžèšã®ã³ãŒãã¯ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã®æŠå¿µã瀺ããŠããŸããåã
ã®ã¿ã¹ã¯ïŒextract_from_source, run_quality_checks, load_to_warehouseïŒã¯èªååã§ããDAGã®å®çŸ©ãã€ãŸãã©ã®ã¿ã¹ã¯ããã€ãã©ã®ãããªé åºã§ãã©ã®ãããªæ¡ä»¶äžã§å®è¡ããããã¯ããªãŒã±ã¹ãã¬ãŒã·ã§ã³ã§ãã
ããªãšãŒã·ã§ã³ïŒ6çš®é¡ã®ãªãŒã±ã¹ãã¬ãŒã·ã§ã³
ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¯ãé©çšãããåéã«ãã£ãŠç°ãªãåç§°ã§åŒã°ããããšããããŸãã以äžã¯ãæãæ€çŽ¢ãããŠããããªãšãŒã·ã§ã³ã§ãã
ã¯ãŒã¯ãããŒãªãŒã±ã¹ãã¬ãŒã·ã§ã³
ã¯ãŒã¯ãããŒãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¯ãããžãã¹ããã»ã¹ãæè¡ããã»ã¹ã«ãããäžé£ã®ã¹ãããã管çããŸããApache AirflowãPrefectãTemporalãDagsterã¯ãã¯ãŒã¯ãããŒãªãŒã±ã¹ãã¬ãŒã·ã§ã³å°çšã«èšèšãããããŒã«ã§ãããããã®ããŒã«ã®ç¹åŸŽã¯ããã¹ãŠã®ã¹ãããã«ããã£ãŠç¶æ ãç¶æããèšå®å¯èœãªå詊è¡ããã³ãã©ãŒã«ããã¯ããžãã¯ã§é害ãåŠçããã¯ãŒã¯ãããŒãçŸåšã©ã®ã¹ãããã«ããããå¯èŠåã§ããç¹ã§ãã
ã€ã³ãã©ã¹ãã©ã¯ãã£ãªãŒã±ã¹ãã¬ãŒã·ã§ã³
ã€ã³ãã©ã¹ãã©ã¯ãã£ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£ãªãœãŒã¹ããµãŒããŒããããã¯ãŒã¯ãããŒã¿ããŒã¹ãã¹ãã¬ãŒãžã®ããããžã§ãã³ã°ãæ§æãã©ã€ããµã€ã¯ã«ã管çããŸããKubernetesã¯ã³ã³ããåãããã¯ãŒã¯ããŒãããªãŒã±ã¹ãã¬ãŒã·ã§ã³ããŸããTerraformã¯ã€ã³ãã©ã¹ãã©ã¯ãã£ã»ã¢ãºã»ã³ãŒãã®ãããã€ã¡ã³ãããªãŒã±ã¹ãã¬ãŒã·ã§ã³ããŸããAWS CloudFormationã¯ã¯ã©ãŠããªãœãŒã¹ã¹ã¿ãã¯ã®ãããã€ã¡ã³ãããªãŒã±ã¹ãã¬ãŒã·ã§ã³ããŸãã
ã€ã ã«
# Kubernetes Deployment -- infrastructure orchestration
# Kubernetes ensures the desired state is maintained
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-service
spec:
replicas: 3 # orchestration: maintain 3 replicas
selector:
matchLabels:
app: api-service
template:
spec:
containers:
- name: api
image: api-service:v2.1
resources:
requests:
memory: "256Mi"
cpu: "250m"
Kubernetes ã¯çŸåšã®ç¶æ ãç£èŠããäžèšã§å®çŸ©ãããæãŸããç¶æ ãšæ¯èŒããå·®ç°ãè§£æ¶ããããã«å¿ èŠãªèª¿æŽãããã¢ã¯ã·ã§ã³ãå®è¡ããŸããå ·äœçã«ã¯ãé害ãçºçããã³ã³ãããåèµ·åããããã¬ããªã«ãã¹ã±ãŒãªã³ã°ããããç°åžžãª Pod ãããã©ãã£ãã¯ãè¿åããããããŸãã
ããŒã¿ãªãŒã±ã¹ãã¬ãŒã·ã§ã³
ããŒã¿ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¯ãè€æ°ã®ã·ã¹ãã éã§ã®ããŒã¿ã®ç§»åã倿ãããã³å質ä¿èšŒã調æŽããŸããããã¯ãããŒã¿çµ±åïŒã·ã¹ãã éã®æ¥ç¶ïŒãETLïŒæœåºã倿ãããŒãæäœïŒãšã¯ç°ãªãããããã®æäœããã€ãã©ã®ããã«å®è¡ãããããå¶åŸ¡ããé åºä»ããšäŸåé¢ä¿ã®ããžãã¯ã管çããŸãã
ããŒã«ïŒApache AirflowïŒæãåºã䜿çšãããŠããïŒãPrefectãDagsterãAzure Data FactoryãAWS Glue Workflowsã
AIãªãŒã±ã¹ãã¬ãŒã·ã§ã³
AIãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¯ãAIã¢ãã«ã®åŒã³åºããããŒã«ã®äœ¿çšãããã³ãšãŒãžã§ã³ãã®ã¯ãŒã¯ãããŒã®èª¿æŽã管çããŸãããšãŒãžã§ã³ãåAIã¢ãŒããã¯ãã£ã§ã¯ãLLMïŒèšèªã¬ãã«ã¢ãã«ïŒãå€éšããŒã«ãåŒã³åºããã¡ã¢ãªããã³ã³ããã¹ããååŸããAPIã«ã¯ãšãªãå®è¡ããå°éçãªãµããšãŒãžã§ã³ãã«åŠçãå§è²ããå ŽåããããŸãããããã®åŠçã¯ãã¹ãŠãé åºä»ãããšã©ãŒåŠçãããã³ç£èŠãå¿ èŠã§ããLangChainãLangGraphãAutoGenãããã³Temporalã¯ãAIãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¬ã€ã€ãŒãšããŠæ³šç®ãéããŠããŸãã
AIãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¯ããã®åéã®äžã§æãæ¥éã«æé·ããŠããåéã§ãããåã ã®ã¢ãã«åŒã³åºããèªååã§ããããããã®åŒã³åºãå šäœã«ãããã«ãŒãã£ã³ã°ãé£éãããã³ç¶æ 管çããªãŒã±ã¹ãã¬ãŒã·ã§ã³ã§ãããã«ããšãŒãžã§ã³ãAIã·ã¹ãã ã®æ¡çšã«ãã£ãŠæšé²ãããŠããã
ãµãŒãã¹ãªãŒã±ã¹ãã¬ãŒã·ã§ã³
ãµãŒãã¹ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¯ãè€æ°ã®ãã€ã¯ããµãŒãã¹éã§APIåŒã³åºãã調æŽããããžãã¹ååŒãå®äºãããŸãããŠãŒã¶ãŒã泚æãè¡ããšããªãŒã±ã¹ãã¬ãŒã·ã§ã³å±€ã¯åšåº«ãµãŒãã¹ã決æžãµãŒãã¹ãé éãµãŒãã¹ãéç¥ãµãŒãã¹ãæ£ããé åºã§åŒã³åºããéšåçãªé害ã·ããªãªãåŠçããéäžã§äœããã®é害ãçºçããå Žåã«è£åååŒã管çããŸãã
ã»ãã¥ãªãã£ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ïŒSOARïŒ
ã»ãã¥ãªãã£ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãèªååãã¬ã¹ãã³ã¹ïŒSOARïŒãã©ãããã©ãŒã ã¯ãã»ãã¥ãªãã£ã€ã³ã·ãã³ã察å¿ã«ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãé©çšããŸããè åšãæ€åºããããšãSOARãã©ãããã©ãŒã ã¯å¯Ÿå¿ããªãŒã±ã¹ãã¬ãŒã·ã§ã³ããŸããè åšã€ã³ããªãžã§ã³ã¹ã«ããã¢ã©ãŒãã®åŒ·åã圱é¿ãåããã·ã¹ãã ã®éé¢ãã»ãã¥ãªãã£ããŒã ãžã®éç¥ããã±ããã®äœæããã©ã¬ã³ãžãã¯ããŒã¿ã®åééå§ãªã©ããã¹ãŠãã¬ã€ããã¯ã«åºã¥ããŠèª¿æŽãããé åºã§å®è¡ãããŸãã
èªååããŒã«ãšãªãŒã±ã¹ãã¬ãŒã·ã§ã³ããŒã«ã®æ¯èŒ
| ããŒã« | ã«ããŽãªãŒ | äž»ãªãŠãŒã¹ã±ãŒã¹ |
|---|---|---|
| Ansible | ãªãŒãã¡ãŒã·ã§ã³ | æ§æç®¡çããµãŒããŒããããžã§ãã³ã° |
| ãžã§ã³ãã³ãº | èªååïŒãªãŒã±ã¹ãã¬ãŒã·ã§ã³ | CI/CDãã€ãã©ã€ã³ããã«ãèªåå |
| GitHubã¢ã¯ã·ã§ã³ | èªååïŒãªãŒã±ã¹ãã¬ãŒã·ã§ã³ | GitHubã«ãããCI/CDãã¯ãŒã¯ãããŒèªåå |
| Kubernetes | ã€ã³ãã©ã¹ãã©ã¯ãã£ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ | ã³ã³ããã¯ãŒã¯ããŒã管ç |
| ApacheAirflow | ã¯ãŒã¯ãããŒãªãŒã±ã¹ãã¬ãŒã·ã§ã³ | ããŒã¿ãã€ãã©ã€ã³ãã¹ã±ãžã¥ãŒã«ãããã¯ãŒã¯ãã㌠|
| ç¥äº | ã¯ãŒã¯ãããŒãªãŒã±ã¹ãã¬ãŒã·ã§ã³ | å¯èŠ³æž¬æ§ãåããPythonãã€ãã£ãã®ããŒã¿ã¯ãŒã¯ãã㌠|
| äžæç㪠| ã¯ãŒã¯ãããŒãªãŒã±ã¹ãã¬ãŒã·ã§ã³ | èä¹ æ§ã®ããå®è¡ãé·æã«ãããããžãã¹ã¯ãŒã¯ãã㌠|
| ãã°ã¹ã¿ãŒ | ããŒã¿ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ | ããŒã¿è³ç£æååãã€ãã©ã€ã³ |
| ãã©ãã©ãŒã | ã€ã³ãã©ã¹ãã©ã¯ãã£ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ | ã€ã³ãã©ã¹ãã©ã¯ãã£ã»ã¢ãºã»ã³ãŒãã®ããããžã§ãã³ã° |
| AWSã¹ããã颿° | ãµãŒãã¹ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ | AWS äžã§ã®ãµãŒããŒã¬ã¹ã¯ãŒã¯ãããŒèª¿æŽ |
| Azure ããžã㯠ã¢ã㪠| ã·ãã¥ã¬ãŒã·ã§ã³ããã»ã¹ç®¡ç | ããŒã³ãŒãã«ãããšã³ã¿ãŒãã©ã€ãºã¯ãŒã¯ãããŒèªåå |
| n8n | ã·ãã¥ã¬ãŒã·ã§ã³ããã»ã¹ç®¡ç | ãªãŒãã³ãœãŒã¹ã®ããŒã³ãŒãã¯ãŒã¯ãããŒèªåå |
| Argoã¯ãŒã¯ãã㌠| ã¯ãŒã¯ãããŒãªãŒã±ã¹ãã¬ãŒã·ã§ã³ | Kubernetesãã€ãã£ãã®ã¯ãŒã¯ãããŒå®è¡ |
| ããã¢ã«ã XSOAR | ã»ãã¥ãªã㣠ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ | ã»ãã¥ãªãã£ã€ã³ã·ãã³ã察å¿ãã¬ã€ãã㯠|
ãã®è¡šã®èªã¿æ¹ïŒèªåååã®ããŒã«ã¯ã¿ã¹ã¯ãå®è¡ããŸãããªãŒã±ã¹ãã¬ãŒã·ã§ã³åã®ããŒã«ã¯ãã¿ã¹ã¯å®è¡ã®ã·ãŒã±ã³ã¹ã調æŽããå€ãã®å Žåãå®è¡ã¬ã€ã€ãŒãšããŠèªååããŒã«ã䜿çšããŸããJenkinsã¯Ansibleãã¬ã€ããã¯ãå®è¡ããKubernetesã¯Jenkinsã«ãã£ãŠæ§ç¯ãããã³ã³ãããã¹ã±ãžã¥ãŒã«ããAirflowã¯è€æ°ã®ããŒã¿ããŒã«ã䜿çšãããã€ãã©ã€ã³ã調æŽããŸãã
èªååããªãŒã±ã¹ãã¬ãŒã·ã§ã³ãïŒæææ±ºå®ãã¬ãŒã ã¯ãŒã¯
ãã®ãã§ãã¯ãªã¹ãã䜿ã£ãŠãäžããããåé¡ã«å¯ŸããŠã©ã®ã¢ãããŒããå¿ èŠãã倿ããŠãã ããã
èªååãå§ããã¹ããªã®ã¯ã次ã®ãããªå Žåã§ãã
- ãã®ã¿ã¹ã¯ã¯ç¬ç«ããŠãããèªå·±å®çµåã§ããã
- ããã¯ä»ã®ã¿ã¹ã¯ã®çµæã«äŸåããªã
- åäžã®ããªã¬ãŒã§ç¢ºå®ã«äœæ¥ãéå§ãããŸã
- é害åŠçã¯ç°¡åã§ãïŒå詊è¡ãŸãã¯éç¥ïŒã
- 人éãªãããã1ã¹ãããã§èª¬æã§ãã
ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã«ç§»è¡ããã¿ã€ãã³ã°ïŒ
- çµæãçã¿åºãã«ã¯ãè€æ°ã®ã·ã¹ãã ã飿ºããå¿ èŠãããã
- ã¿ã¹ã¯Bã¯ãã¿ã¹ã¯Aãæ£åžžã«å®äºãããŸã§åŸ æ©ããªããã°ãªããªãã
- ç°ãªãæ éã·ããªãªã«ã¯ãç°ãªã察å¿ãå¿ èŠãšãªãã
- ã¯ãŒã¯ãããŒã«ã¯æææ±ºå®ãŸãã¯åå²çµè·¯ãå«ãŸããã
- åã ã®ã¿ã¹ã¯ãã°ã ãã§ãªããã¯ãŒã¯ãããŒå šäœã®ç¶æ ãææ¡ããå¿ èŠããããŸãã
- åãè«çã¯ãŒã¯ãããŒãç°ãªãç°å¢ãŸãã¯ç°ãªããã©ã¡ãŒã¿ã§å®è¡ããå¿ èŠããã
å®è·µçãªã¢ããã°ã¬ãŒãæé ïŒãŸãã¯åã ã®ã¿ã¹ã¯ã®èªååããå§ããŸããããä»ã®ã¹ã¯ãªãããåŒã³åºãã¹ã¯ãªãããäœæããããããããã»ã¹ã®åºåã確èªããŠããå¥ã®ããã»ã¹ãéå§ããããè€æ°ã®ã·ã¹ãã ã«ãããé£éçãªé害ãåŠçãããããå¿ èŠãçããããããã¯èªååã®ç¯çãè¶ ãããªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¬ã€ã€ãŒãå¿ èŠã§ããããšã瀺ããŠããŸãã
èªååããªãŒã±ã¹ãã¬ãŒã·ã§ã³ãããã³ã¬ã¬ã·ãŒã³ãŒãããŒã¹ã®é¢ä¿
è€éãªã³ãŒãããŒã¹ãžã®å€æŽãèªååãŸãã¯ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ããCOBOLããã°ã©ã ã®æ°ããããŒãžã§ã³ãå±éããéçºã©ã€ãã©ãªãšæ¬çªã©ã€ãã©ãªãéããŠãã«ããæšé²ããããããŠã£ã³ããŠæ€èšŒãå®è¡ããçµç¹ã¯ãèªååããŒã«ããªãŒã±ã¹ãã¬ãŒã·ã§ã³ããŒã«ã ãã§ã¯è§£æ±ºã§ããªãåé¡ã«çŽé¢ããŸããããã¯ãèªåå察象ã®ã³ãŒããå®éã«äœãè¡ããäœã«äŸåããŠããããç¥ãå¿ èŠããããšããããšã§ãã
COBOLããã°ã©ã ãæ¬çªç°å¢ã«ãããã€ããèªååãã€ãã©ã€ã³ã¯ããã®ããã°ã©ã ãä»ã®300åã®ããã°ã©ã ãšå ±æããã³ããŒããã¯ãå«ãã§ããããšãç¥ããã«ãç¯å²äžæã®å€æŽãèªååããŠããããšã«ãªããäŸåé¢ä¿ã°ã©ããç¥ããã«10åã®é¢é£ããã°ã©ã ã®ãããã€é åºã決å®ãããªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¯ãŒã¯ãããŒã¯ãç°ãªãé åºã§ããã°åé¿ã§ããã¯ãã®çµ±åãšã©ãŒãåŒãèµ·ãããããªé åºã§ãããã€ããŠããŸãå¯èœæ§ãããã
ããã¯ã©ãã§ããïŒ SMART TS XLèªååããã³ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã®æèã«ããã ã®åœ¹å²ã¯ãå ·äœçãã€æ£ç¢ºã§ãã SMART TS XLãã éçã³ãŒãåæ (NAIST) ãš ã¢ããªã±ãŒã·ã§ã³äŸåé¢ä¿ãããã³ã° èªååããã³ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãã€ãã©ã€ã³ãã¬ã¬ã·ãŒç°å¢ã§å®å šã«åäœããããã«å¿ èŠãªãã©ã®ããã°ã©ã ãã©ã®ããã°ã©ã ã«äŸåããŠããããã©ã®ã³ããŒããã¯ãå ±æãããŠããããã©ã®ããŒã¿ã»ãããã©ã®ãžã§ãã¹ãããéãæµããããšãã£ãæ§é çãªç¥èãçæããã 圱é¿åæ ãã®æ©èœã¯ãèªåå±éãå®è¡ãããåã«ããã®å€æŽã«ãã£ãŠäœã圱é¿ãåãããããšããåãã«çããããšã§ãå±é決å®ã®æ ¹æ ãšãªãæ å ±ãæäŸããã JCLã®æ¡åŒµ ãã®æ©èœã«ãããå JCL ãžã§ãã®å®å šãªäŸåé¢ä¿ãã§ãŒã³ãæããã«ãªãããããå±éãä»»æã®é åºã§ã¯ãªãæ£ããäŸåé¢ä¿ã®é åºã§ã·ãŒã±ã³ã¹ãããªãŒã±ã¹ãã¬ãŒã·ã§ã³ ã¯ãŒã¯ãããŒãå¯èœã«ãªããŸãã
çµç¹ãæ§ç¯ãã DevOps ææ°ã®ã¯ã©ãŠããµãŒãã¹ãšåŸæ¥ã®ã¡ã€ã³ãã¬ãŒã ããã°ã©ã ã«ãŸããããã€ãã©ã€ã³ã SMART TS XL ãã®ã·ã¹ãã ã¯ããã€ããªããç°å¢ã«ãããèªååããã³ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã®æææ±ºå®ãã仮説ã«åºã¥ããã®ã§ã¯ãªãã蚌æ ã«åºã¥ããã®ã«ããããã®æ§é çãªã¬ã€ã€ãŒãæäŸããã
ã©ã¡ããã©ã¡ããåãããšãããè¯ãã·ã¹ãã ãæ§ç¯ã§ãã
èªååã¯åã ã®ã¿ã¹ã¯ãåŠçããŸãããªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¯ãè€æ°ã®èªååãããã¿ã¹ã¯ãã¯ãŒã¯ãããŒã«çµ±åããåå²ãé害åŠçãäŸåé¢ä¿ã®ç®¡çããšã³ãããŒãšã³ãã®å¯èŠæ§ãæäŸããŸããçŸä»£ã®ITç°å¢ã®ã»ãšãã©ã¯ãå®è¡å±€ã«ã¯èªååã調æŽå±€ã«ã¯ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãšãããäž¡æ¹ãå¿ èŠãšããŸãã
ãã®åºå¥ãç¶æãã䟡å€ãããã®ã¯ã䜿çšããããŒã«ãå¿ èŠãªã¹ãã«ããããŠè§£æ±ºããåé¡ãç°ãªãããã§ããé·å¹Žã«ãããå®å®ããŠåäœããèªååã¹ã¯ãªããããããã察象ãšããããã»ã¹ãä»ã®5ã€ã®ã·ã¹ãã ãšã®é£æºãå¿ èŠãšããããã«ãªããšãä¿å®ã®è² æ ãšãªãå¯èœæ§ããããŸãããã®ãããªå Žåãã¹ã¯ãªããã眮ãæããã®ã§ã¯ãªãããªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¬ã€ã€ãŒã远å ããããšãé©åãªã¢ãŒããã¯ãã£äžã®å¯Ÿå¿çãšãªããŸãã
ãããæ£ããçè§£ããŠããçµç¹ã¯ãããããã®æŠå¿µãé©åãªã¬ãã«ã§é©çšããŠããçµç¹ã§ããã€ãŸããåå¥ãã€å埩å¯èœãªäœæ¥ã«ã¯èªååãã調æŽãšç¶æ 管çãå¿ èŠãªäœæ¥ã«ã¯ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãããããŠèªååããã³ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã®å¯Ÿè±¡ãšãªãã·ã¹ãã ã«å®éã«äœãå«ãŸããŠããããçè§£ããããã«æ§é ã³ãŒãåæãçšããã®ã§ãã