Clean up the deployment models section
Project: http://git-wip-us.apache.org/repos/asf/samza/repo Commit: http://git-wip-us.apache.org/repos/asf/samza/commit/c21593bb Tree: http://git-wip-us.apache.org/repos/asf/samza/tree/c21593bb Diff: http://git-wip-us.apache.org/repos/asf/samza/diff/c21593bb Branch: refs/heads/master Commit: c21593bb466a40440e6211821e550e2ad9628d83 Parents: 796aa40 Author: Jagadish <jvenkatra...@linkedin.com> Authored: Wed Oct 24 15:18:04 2018 -0700 Committer: Jagadish <jvenkatra...@linkedin.com> Committed: Wed Oct 24 15:18:04 2018 -0700 ---------------------------------------------------------------------- .../versioned/deployment/deployment-model.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/samza/blob/c21593bb/docs/learn/documentation/versioned/deployment/deployment-model.md ---------------------------------------------------------------------- diff --git a/docs/learn/documentation/versioned/deployment/deployment-model.md b/docs/learn/documentation/versioned/deployment/deployment-model.md index 81de2eb..ba100da 100644 --- a/docs/learn/documentation/versioned/deployment/deployment-model.md +++ b/docs/learn/documentation/versioned/deployment/deployment-model.md @@ -1,6 +1,6 @@ --- layout: page -title: Deployment model +title: Deployment options --- <!-- Licensed to the Apache Software Foundation (ASF) under one or more @@ -20,22 +20,24 @@ title: Deployment model --> ### Overview -One unique thing about Samza is that it provides multiple ways to deploy an application. Each deployment model comes with its own benefits, so you have flexibility in choosing which model best fits your needs. Samza supports âwrite once, run anywhereâ, so application logic is the same regardless of where you choose to deploy your application. +A unique thing about Samza is that it provides multiple ways to run your applications. Each deployment model comes with its own benefits, so you have flexibility in choosing whichever fits your needs. Since Samza supports âWrite Once, Run Anywhereâ, your application logic does not change depending on where you deploy it. ### Running Samza on YARN -Samza integrates with Apache YARN for running stream-processing as a managed service. Samza leverages YARN for multi-tenancy, resource-management, isolation and deployment for your applications. In this mode, you write your Samza application and submit it to be scheduled on a YARN cluster. You also specify its resource requirements - the number of containers needed, number of cores and memory per-container. Samza then works with YARN to provision resources for your application and run it across a cluster of machines. It also handles failures of individual instances and restarts them. +Samza integrates with [Apache YARN](learn/documentation/{{site.version}}/deployment/yarn.html) for running stream-processing as a managed service. We leverage YARN for isolation, multi-tenancy, resource-management and deployment for your applications. In this mode, you write your Samza application and submit it to be scheduled on a YARN cluster. You also specify its resource requirement - the number of containers needed, number of cores and memory required per-container. Samza then works with YARN to provision resources for your application and run it across a cluster of machines. It also handles failures of individual instances and automatically restarts them. -When multiple applications share the same YARN cluster, they need to be isolated from each other. For this purpose, Samza works with YARN to enforce cpu and memory limits. Any application that uses more than its requested share of memory or cpu is terminated - thereby, enabling multi-tenancy. Just like you would for any YARN-based application, you can use YARN's web UI to manage your Samza jobs, view their logs etc. +When multiple applications share the same YARN cluster, they need to be isolated from each other. For this purpose, Samza works with YARN to enforce cpu and memory limits. Any application that uses more than its requested share of memory or cpu is automatically terminated - thereby, allowing multi-tenancy. Just like you would for any YARN-based application, you can use YARN's [web UI](/learn/documentation/{{site.version}}/deployment/yarn.html#application-master-ui) to manage your Samza jobs, view their logs etc. ### Running Samza in standalone mode -Often you want to embed Samza as a component in a larger application. To enable this, Samza supports a standalone mode of operation. In this mode, Samza can be used like a library within your application. This is very similar to Kafka Streams and offers greater control over the application life-cycle. You can increase capacity by spinning up multiple instances. The instances will dynamically coordinate among themselves to distribute work. If any instance fails, the tasks running on it will be re-assigned to the remaining ones. By default, Samza uses Zookeeper for coordination across instances. The coordination logic by itself is pluggable. +Often you want to embed and integrate Samza as a component within a larger application. To enable this, Samza supports a [standalone mode](learn/documentation/{{site.version}}/deployment/standalone.html) of deployment allowing greater control over your application's life-cycle. In this model, Samza can be used just like any library you import within your Java application. This is identical to using a [high-level Kafka consumer](https://kafka.apache.org/) to process your streams. -This mode allows you to run Samza with any cluster-manager of your choice - including Kubernetes, Marathon or on any hosting environment. You are free to control memory-limits, multi-tenancy for your application on your own - since Samza now acts as a light-weight library used by your application. +You can increase your application's capacity by spinning up multiple instances. These instances will then dynamically coordinate with each other and distribute work among themselves. If an instance fails for some reason, the tasks running on it will be re-assigned to the remaining ones. By default, Samza uses [Zookeeper](https://zookeeper.apache.org/) for coordination across individual instances. The coordination logic by itself is pluggable and hence, can integrate with other frameworks. + +This mode allows you to bring any cluster-manager or hosting-environment of your choice(eg: [Kubernetes](https://kubernetes.io/), [Marathon](https://mesosphere.github.io/marathon/)) to run your application. You are also free to control memory-limits, multi-tenancy on your own - since Samza is used as a light-weight library. ### Choosing a deployment model -A common question that we get asked is - "Where should I run my Samza application?". Here are some guidelines when choosing your deployment model. Since your application logic does not change, it is easy to port from one deployment model to the other. +A common question that we get asked is - "Should I use YARN or standalone?". Here are some guidelines when choosing your deployment model. Since your application logic does not change, it is quite easy to port from one to the other. * Would you like Samza to be embedded as a component of a larger application? * If so, then you should use standalone. @@ -45,4 +47,4 @@ A common question that we get asked is - "Where should I run my Samza applicatio * If so, then you should use standalone. * Would you like to run centrally-managed tools and dashboards? * If so, then you should use YARN. - * Note: You can still have tools and dashboards when using standalone, but you will need to run them yourself wherever your application is deployed. + * Note: You can still have tools and dashboards when using standalone, but you will need to run them yourself wherever your application is deployed. \ No newline at end of file