Presentation Slides for Developers Summit 2019 Tokyo
D
@yokawasa
https://github.com/yokawasa
/ : A
c N c Oo G N c
n p 7 2 Jb a G
k B c
G l ts 01 0 e
CNCF Cloud Native Definition v1.0
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.
The Cloud Native Computing Foundation seeks to drive adoption of this paradigm by fostering and sustaining an ecosystem of open source, vendor-neutral
projects. We democratize state-of-the-art patterns to make these innovations accessible for everyone.
https://github.com/cncf/toc/blob/master/DEFINITION.md
Cloud Native CNCF
1970 1980 1990 2000 2010 2020
IT ( 28 6 10 )
http://www.meti.go.jp/policy/it_policy/jinzai/27FY/ITjinzai_report_summary.pdf
IaaS, CaaS, PaaS, and FaaS
( )
( )
• IaaS
•
• CaaS PaaS FaaS
•
[ ]
Kubernetes
Kubernetes
(Kubernetes, Docker Swarm, etc)
: Gabe Monroy on Twitter: "Strata of the Container Ecosystem
https://twitter.com/gabrtv/status/539805332432637952https://kubernetes.io/
Keynote: Kubernetes Project Update in KubeCon + CloudNativeCon North America 2018
https://www.youtube.com/watch?v=LAO7RuWwfzA
Survey 58
Kubernetes
5000 40
Kubernetes
Set up High-Availability Kubernetes Masters
https://kubernetes.io/docs/tasks/administer-cluster/highly-available-
master/#implementation-notes
Kubernetes
kubectl
Web UI
kubelet
kube proxy
Container
API
Container
runtime
kubelet
kube proxy
Container
Container
runtime
Schedule pods over
private tunnel
AKS
• Helm
• Draft
• Skaffold
• Spinnaker
• Jenkins X
Azure DevSpaces
Customer Case Study – Ambit Energy: Energy company electrifies pace of innovation and expansion
http://customers.microsoft.com/en-us/story/ambit-energy
Azure DevOps ( Visual Studio Team Services: VSTS)
CI/CD
GitHub Git
Git
CI/CD
Azure Boards Azure ReposAzure Pipelines
Azure Test Plans Azure Artifacts
https://azure.com/devops
è
Azure DevOps Projects
Azure DevOps
Azure DevOps / Pipelines
CI/CD
Application Insights
“observability is a measure of how well internal states of
a system can be inferred from knowledge of its external outputs”
Wikipedia: https://en.wikipedia.org/wiki/Observability
Logging
Observability
Tracing Visualization
Monitoring •
Building
Blocks Observability
Toil
Azure Monitor for containers GA !
https://qiita.com/keikhara/items/8699d8e1fa45f2e61185
Azure Monitor for Containers
• Health
• Metric
• Log
• Visualization
• Datastore
• Retention
Open Service Broker
Rook, NATS,
Operators etcd, HPA, PVC,
MySQL, Postgres, Mongodb, Redis,
Jaeger, Envoy, Kafka, Prometheus,
etc
StatefulSet
DaemonSet Service Catalog
CosmosDB
SQL Database
Azure Database
for MySQL
Azure Database
for PosgreSQL
AzureKubernetesService
Open Source
Broker for Azure
(OSBA)
書籍「しくみがわかるKubernetes Azureで動かしながら学ぶコンセプトと
実践知識」p247からの引用
https://www.shoeisha.co.jp/book/detail/9784798157849
Clusterless / Nodeless
/
- 5
- 5
22
- -/
Azure Container Instances (ACI)
User
https://github.com/virtual-kubelet/virtual-kubelet
• Kubetet – k8s
OSS
• Provider Virtual Kubelet
k8s Pod
• 2018 12 CNCF Sandbox
VM
(worker)
VM
(workder)
kubelet kubelet
Virtual Kubelet
Provider resources
• Alibaba Cloud ECI
• zure Container Instances
• Azure Batch GPU
• AWS Fargate
• Hyper.sh
• Service Fabric Mesh
• HashiCorp Nomad
Kubernetes
control pane
Application
architect
Infrastructure
architect
Azure Container Instances (ACI)
VirtualNode
Pod
Pod Pod
Pod
Pod Pod
Pod
Pod Pod
Pod
Pod Pod
VM VM
VM VM
Deployment/ tasks
Pod Pod Pod Pod Pod
Pod Pod Pod Pod Pod
Pod Pod Pod Pod Pod
Pod Pod Pod Pod Pod
Pod Pod Pod Pod Pod
WasteWaste
WasteWaste PodPod
PodPod
Virtual Node VirtualKublet AKS ACI
ACI + AKS + Virtual Kubelet => Virtual Node
GCP, AWS, Azure
https://azure.microsoft.com/en-gb/resources/samples/virtual-node-autoscale/
Azure
Web PaaS
Web App for Containers
Web App for Containers
ž Web
PaaS
ž
PaaS
… …
GEO
2018 NoOps App Services
https://www.slideshare.net/hiromasaoka/noops-88082246
[ ]
Functions as a Service FaaS
Backend as a Service (BaaS)
HTTP
HTTPProxy
CODE
Bindings
Bindings
Trigger
Azure Functions
MartinFowler.com - Serverless Architecture
https://martinfowler.com/articles/serverless.html
(=Function)
Web/
–
–
Webbook –
Sample code
Output Binding
Serverless is cheaper, not simpler
https://medium.freecodecamp.org/serverless-is-cheaper-not-simpler-a10c4fc30e49
Durable Function Overview
https://docs.microsoft.com/ja-jp/azure/azure-functions/durable-functions-overview
(C#, F#, Node.js) - 2019.02
F1 F2 F3 F4
Queue Queue Queue
Durable Functions Durable Functions
F1
F2
F3
F4
Orchestrator
Function
// calls functions in sequence
public static async Task<object> Run(DurableOrchestrationContext ctx)
{
try
{
var x = await ctx.CallFunctionAsync("F1");
var y = await ctx.CallFunctionAsync("F2", x);
var z = await ctx.CallFunctionAsync("F3", y);
return await ctx.CallFunctionAsync("F4", z);
}
catch (Exception)
{
// global error handling/compensation goes here
}
}
Function chaining Fan-out / fan-in
Event aggregation
Extended Status Monitoring
http
Async HTTP APIs
Human interaction / timeout
FUN
http://aka.ms/letsbegin
Free!
Microsoft Learn
Azure / /
デベロッパーのためのAzureクラウドネイティブスタック 〜 提供したい価値からはじめる高速+高可用+高付加価値ソリューション

デベロッパーのためのAzureクラウドネイティブスタック 〜 提供したい価値からはじめる高速+高可用+高付加価値ソリューション