Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

clarify expectations for cost estimation #629

Merged
merged 1 commit into from
Apr 3, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 45 additions & 31 deletions doc/source/cost.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,19 @@
.. _cost:

Estimating costs
================
Appendix: Projecting deployment costs
=====================================

.. important:: Clarification on cost projections

As a non-profit research project, Project Jupyter does not offer,
recommend, or sell cloud deployment services for JupyterHub.

The information in this section is offered as guidance as requested
by our users. We **caution** that costs can vary widely based
on providers selected and your use cases.

Factors influencing costs
-------------------------

Cost estimates depend highly on your deployment setup. Several factors that
significantly influence cost estimates, include:
Expand All @@ -11,7 +23,7 @@ significantly influence cost estimates, include:
- Usage patterns of users

Computational Resources
-----------------------
~~~~~~~~~~~~~~~~~~~~~~~

**Memory (RAM)** makes up the largest part of a cost estimate. More RAM means
that your users will be able to work with larger datasets with more
Expand All @@ -23,14 +35,37 @@ wiped after users finish their sessions. None of their changes will be saved.
This requires significantly fewer storage resources, and also results in faster
load times.

For an example of how costs scale with computational resources, see the
For an indicator of how costs scale with computational resources, see the
`Google Cloud pricing page <https://cloud.google.com/compute/pricing>`_.

Users
~~~~~

The number of users has a direct relationship to cost estimates. Since a
deployment may support different types of users (i.e. researchers, students,
instructors) with varying hardware and storage needs, take into account both the
type of users and the number per type.

User usage patterns
~~~~~~~~~~~~~~~~~~~

Another important factor is what usage pattern your users will have. Will they
all use the JupyterHub at once, such as during a large class workshop?
will users use JupyterHub at different times of day?

The usage patterns and peak load on the system have important implications for
the resources you need to provide. In the future JupyterHub will have
auto-scaling functionality, but currently it does not. This means that you need
to provision resources for the *maximum* expected number of users at one time.


Interactive Cost Estimator
--------------------------

We've put together a small notebook that can help you estimate your costs
for a JupyterHub instance. The button below will take you to an interactive
This small notebook may help you to make an initial planning estimate of costs
for your JupyterHub instance.

To use the estimator, the button below will take you to an interactive
notebook served with `Binder <https://mybinder.org>`_. Run the cells and
you'll be able to choose the computational requirements you have, as well as
draw a pattern of usage you expect over time. It will estimate the costs for
Expand All @@ -48,35 +83,14 @@ you.
<a target="_blank" href="http://mybinder.org/v2/gh/jupyterhub/zero-to-jupyterhub-k8s/master?filepath=doc/ntbk/draw_function.ipynb">
<button style="background-color: rgb(235, 119, 55); border: 1px solid; border-color: black; color: white; padding: 15px 32px; text-align: center; text-decoration: none; font-size: 16px; margin: 4px 2px; cursor: pointer; border-radius: 8px;">Launch the Cost Estimator</button></a>

For a description of how these costs are broken down, see below.

Users
-----

The number of users has a direct relationship to cost estimates. Since a
deployment may support different types of users (i.e. researchers, students,
instructors) with varying hardware and storage needs, take into account both the
type of users and the number per type.

User usage patterns
-------------------

Another important factor is what usage pattern your users will have. Will they
all use the JupyterHub at once, such as during a large class workshop?
will users use JupyterHub at different times of day?

The usage patterns and peak load on the system have important implications for
the resources you need to provide. In the future JupyterHub will have
auto-scaling functionality, but currently it does not. This means that you need
to provision resources for the *maximum* expected number of users at one time.


Examples
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we move this further to the top (or reference it from the beginning) when we have a few more examples. It probably provides the best examples/guidance on how to work out how much it might cost you. As the hard part is converting "N students in my semester long course" into "number of CPUs and RAM to have available". After that you "just " have to look up your cloud providers prices ;)

--------

Here are a few examples that describe the use cases and amount of resources
used by a particular JupyterHub implementation, and how much it might cost.
Your estimates will vary.
Here are a few examples that describe different use cases and the amount of
resources used by a particular JupyterHub implementation. There are many
factors that go into these estimates, and you should expect that your actual
costs may vary significantly under other conditions.

Data 8
~~~~~~
Expand Down
2 changes: 1 addition & 1 deletion doc/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -96,9 +96,9 @@ cloud-based deployments and tips for maintaining your deployment.
optimization
security
upgrading
cost
troubleshooting
advanced
cost

.. _community-resources:

Expand Down