computing (faas) to k8s cluster using terraform - openstack...to k8s cluster ? jadi? serverless...

31
Integrating Serverless Computing (FaaS) to k8s Cluster using Terraform Ilham – SysOps Engineer [email protected]

Upload: others

Post on 20-Jul-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,

Integrating Serverless Computing (FaaS) to k8s Cluster using Terraform

Ilham – SysOps [email protected]

Page 2: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,

So what is Serverless?

Page 3: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,
Page 4: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,
Page 5: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,

What are the strengths or benefit

of Serverless?

Page 6: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,

Benefits Serverless

● Reduced labor cost● Reduced resource cost● Increased flexibility of scaling● Shorter lead time

Page 7: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,

Limitations Serverless

● State● Latency● Local Testing● Loss Of Control● Vendor Lock-In

Page 8: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,

Serverless Use Cases

Recommendation

<> ● You need apps that are all set to perform tasks but don’t need to be running all the time

● You have IoT-based applications that get activated only in certain situations

● Development speed and cost optimization are of prime importance

● There is a need for auto-scaling● There is a requirement for tying into legacy

systems that handle specific business logic● You need to handle high-volume backend tasks

for websites and mobile apps

Page 9: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,
Page 10: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,

What is FaaS - Function as a Service ?

Fully Managed ComputeProvisioning, patching, scaling,monitoring, logging are providedout-of-the- box

Pay for actual usageGetting charged only upon code execution,

Deploy You CodeJust package andupload the code

Page 11: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,

FaaS On Public Cloud & Open Sources

Page 12: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,
Page 13: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,

The Fn project is an open-source container-native serverless platform

that you can run anywhere -- any cloud or on-premise.

It’s easy to use, supports every programming language, and is

extensible and performant.

Page 14: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,

● Open Source● Multi Cloud● Container Native● Orchestrator Agnostic● There is a requirement for tying into legacy systems

that handle specific business logic● You need to handle high-volume backend tasks for

websites and mobile apps

Why Choose

Page 15: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,

How To Use ?

Page 16: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,

sudo apt install docker.iosudo systemctl enable --now docker

sudo wget https://github.com/fnproject/cli/releases/download/0.5.91/fn_linux -O /usr/local/bin/fn

sudo chmod +x /usr/local/bin/fn

sudo fn -hsudo fn start &

sudo fn init --runtime python --trigger http pythonfn

sudo fn create app pythonapp

## TESTING

sudo fn invoke pythonapp pythonfn

curl -H "Content-Type: application/json" http://localhost:8080/t/pythonapp/pythonfn

Page 17: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,

Integrate with k8s Cluster ?

Page 18: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,

sudo snap install helm --classic

git clone [email protected]:fnproject/fn-helm.git && cd fn-helm

helm init --service-account tiller --history-max 200

helm dep build fn

helm install --name my-release fn

kubectl apply -f

https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mand

atory.yaml

kubectl apply -f

https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/prov

ider/baremetal/service-nodeport.yaml

kubectl get pods && kubectl get deployments

kubectl get svc && kubectl get ingress

Page 19: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,
Page 20: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,
Page 21: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,
Page 22: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,
Page 23: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,

Automate Integrate to k8s Cluster ?

Page 24: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,
Page 25: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,
Page 26: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,
Page 27: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,
Page 28: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,

Jadi?Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service, Kita tidak lagi dipusingkan oleh limitasi server, sehingga proses bisnis berjalan dengan baik berapapun traffic yang datang.

Page 29: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,

Thank You!https://github.com/ilosaurus

Page 30: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,

What Is Serverless? by Michael Roberts and John ChapinPublished by O’Reilly Media, Inc.

Serverless Computing vs. Containers by Ankit Kumar (dzone.com)

Fn Project by Peter Jausovec (hackernoon.com)

Fn Project by fnproject team (medium.com)

Page 31: Computing (FaaS) to k8s Cluster using Terraform - OpenStack...to k8s Cluster ? Jadi? Serverless adalah tentang tidak diperlukannya manage server, semua tentang pemanfaatan service,

https://dev.to/jignesh_simform