From d3a720ae3df63e2f668d9d68849093f4814c1356 Mon Sep 17 00:00:00 2001 From: Amanda Tan Date: Thu, 23 Sep 2021 22:07:04 -0700 Subject: [PATCH] Added more notebooks --- .ipynb_checkpoints/intro-checkpoint.md | 33 ++ .../content/01_intro_to_cloud.doctree | Bin 4542 -> 0 bytes ...actices.doctree => best_practices.doctree} | Bin 2348 -> 2345 bytes ...ud_right.doctree => class_program.doctree} | Bin 2531 -> 2316 bytes ...analysis.doctree => cost_analysis.doctree} | Bin 2362 -> 2359 bytes .../content/data_management_plan.doctree | Bin 0 -> 2391 bytes .../content/example_workflows.doctree | Bin 0 -> 2360 bytes .../.doctrees/content/intro_to_cloud.doctree | Bin 0 -> 9562 bytes .../content/is_the_cloud_right.doctree | Bin 0 -> 8092 bytes ...penscience.doctree => openscience.doctree} | Bin 2381 -> 2378 bytes .../content/where_to_find_funds.doctree | Bin 0 -> 2374 bytes _build/.doctrees/content/which_cloud.doctree | Bin 0 -> 2358 bytes _build/.doctrees/environment.pickle | Bin 41424 -> 48281 bytes _build/.doctrees/intro.doctree | Bin 5615 -> 10750 bytes _build/html/.buildinfo | 2 +- .../_sources/content/01_intro_to_cloud.ipynb | 50 --- ...t_practices.ipynb => best_practices.ipynb} | 0 ..._cloud_right.ipynb => class_program.ipynb} | 12 +- ...ost_analysis.ipynb => cost_analysis.ipynb} | 0 .../content/data_management_plan.ipynb | 12 +- .../_sources/content/example_workflows.ipynb} | 14 +- .../_sources/content/intro_to_cloud.ipynb | 46 +++ .../_sources/content/is_the_cloud_right.ipynb | 49 +++ ...04_openscience.ipynb => openscience.ipynb} | 0 .../content/where_to_find_funds.ipynb | 41 +++ .../html/_sources/content/which_cloud.ipynb | 41 +++ _build/html/_sources/intro.md | 29 +- ...est_practices.html => best_practices.html} | 69 ++-- ...he_cloud_right.html => class_program.html} | 82 +++-- ..._cost_analysis.html => cost_analysis.html} | 71 ++-- _build/html/content/data_management_plan.html | 327 +++++++++++++++++ _build/html/content/example_workflows.html | 327 +++++++++++++++++ ...ntro_to_cloud.html => intro_to_cloud.html} | 84 +++-- _build/html/content/is_the_cloud_right.html | 337 ++++++++++++++++++ .../{04_openscience.html => openscience.html} | 79 ++-- _build/html/content/where_to_find_funds.html | 327 +++++++++++++++++ _build/html/content/which_cloud.html | 327 +++++++++++++++++ _build/html/genindex.html | 59 ++- _build/html/intro.html | 98 +++-- _build/html/markdown.html | 61 +++- _build/html/objects.inv | Bin 428 -> 550 bytes _build/html/search.html | 59 ++- _build/html/searchindex.js | 2 +- .../content/01_intro_to_cloud.ipynb | 50 --- .../content/01_intro_to_cloud.py | 20 -- .../content/02_is_the_cloud_right.py | 8 - ...t_practices.ipynb => best_practices.ipynb} | 0 ...05_best_practices.py => best_practices.py} | 0 .../content/class_program.ipynb | 41 +++ .../jupyter_execute/content/class_program.py | 10 + ...ost_analysis.ipynb => cost_analysis.ipynb} | 0 .../{03_cost_analysis.py => cost_analysis.py} | 0 .../content/data_management_plan.ipynb | 41 +++ .../content/data_management_plan.py | 10 + .../content/example_workflows.ipynb | 41 +++ .../content/example_workflows.py | 10 + .../content/intro_to_cloud.ipynb | 46 +++ .../jupyter_execute/content/intro_to_cloud.py | 17 + .../content/is_the_cloud_right.ipynb | 49 +++ .../content/is_the_cloud_right.py | 20 ++ ...04_openscience.ipynb => openscience.ipynb} | 0 .../{04_openscience.py => openscience.py} | 0 .../content/where_to_find_funds.ipynb | 41 +++ .../content/where_to_find_funds.py | 10 + .../jupyter_execute/content/which_cloud.ipynb | 41 +++ _build/jupyter_execute/content/which_cloud.py | 10 + _config.yml | 3 +- _toc.yml | 24 +- ....ipynb => best_practices-checkpoint.ipynb} | 0 .../class_program-checkpoint.ipynb | 41 +++ ...t.ipynb => cost_analysis-checkpoint.ipynb} | 0 ... => data_management_plan-checkpoint.ipynb} | 0 .../example_workflows-checkpoint.ipynb | 41 +++ .../intro_to_cloud-checkpoint.ipynb | 46 +++ ...nb => is_the_cloud_right-checkpoint.ipynb} | 0 ...int.ipynb => openscience-checkpoint.ipynb} | 0 .../where_to_find_funds-checkpoint.ipynb | 6 + .../which_cloud-checkpoint.ipynb | 41 +++ content/01_intro_to_cloud.ipynb | 50 --- ...t_practices.ipynb => best_practices.ipynb} | 0 content/class_program.ipynb | 41 +++ ...ost_analysis.ipynb => cost_analysis.ipynb} | 0 content/data_management_plan.ipynb | 41 +++ content/example_workflows.ipynb | 41 +++ content/intro_to_cloud.ipynb | 46 +++ content/is_the_cloud_right.ipynb | 49 +++ ...04_openscience.ipynb => openscience.ipynb} | 0 content/where_to_find_funds.ipynb | 41 +++ content/which_cloud.ipynb | 41 +++ intro.md | 29 +- 90 files changed, 3245 insertions(+), 439 deletions(-) create mode 100644 .ipynb_checkpoints/intro-checkpoint.md delete mode 100644 _build/.doctrees/content/01_intro_to_cloud.doctree rename _build/.doctrees/content/{05_best_practices.doctree => best_practices.doctree} (86%) rename _build/.doctrees/content/{02_is_the_cloud_right.doctree => class_program.doctree} (66%) rename _build/.doctrees/content/{03_cost_analysis.doctree => cost_analysis.doctree} (86%) create mode 100644 _build/.doctrees/content/data_management_plan.doctree create mode 100644 _build/.doctrees/content/example_workflows.doctree create mode 100644 _build/.doctrees/content/intro_to_cloud.doctree create mode 100644 _build/.doctrees/content/is_the_cloud_right.doctree rename _build/.doctrees/content/{04_openscience.doctree => openscience.doctree} (86%) create mode 100644 _build/.doctrees/content/where_to_find_funds.doctree create mode 100644 _build/.doctrees/content/which_cloud.doctree delete mode 100644 _build/html/_sources/content/01_intro_to_cloud.ipynb rename _build/html/_sources/content/{05_best_practices.ipynb => best_practices.ipynb} (100%) rename _build/html/_sources/content/{02_is_the_cloud_right.ipynb => class_program.ipynb} (75%) rename _build/html/_sources/content/{03_cost_analysis.ipynb => cost_analysis.ipynb} (100%) rename content/02_is_the_cloud_right.ipynb => _build/html/_sources/content/data_management_plan.ipynb (75%) rename _build/{jupyter_execute/content/02_is_the_cloud_right.ipynb => html/_sources/content/example_workflows.ipynb} (75%) create mode 100644 _build/html/_sources/content/intro_to_cloud.ipynb create mode 100644 _build/html/_sources/content/is_the_cloud_right.ipynb rename _build/html/_sources/content/{04_openscience.ipynb => openscience.ipynb} (100%) create mode 100644 _build/html/_sources/content/where_to_find_funds.ipynb create mode 100644 _build/html/_sources/content/which_cloud.ipynb rename _build/html/content/{05_best_practices.html => best_practices.html} (85%) rename _build/html/content/{02_is_the_cloud_right.html => class_program.html} (85%) rename _build/html/content/{03_cost_analysis.html => cost_analysis.html} (85%) create mode 100644 _build/html/content/data_management_plan.html create mode 100644 _build/html/content/example_workflows.html rename _build/html/content/{01_intro_to_cloud.html => intro_to_cloud.html} (73%) create mode 100644 _build/html/content/is_the_cloud_right.html rename _build/html/content/{04_openscience.html => openscience.html} (85%) create mode 100644 _build/html/content/where_to_find_funds.html create mode 100644 _build/html/content/which_cloud.html delete mode 100644 _build/jupyter_execute/content/01_intro_to_cloud.ipynb delete mode 100644 _build/jupyter_execute/content/01_intro_to_cloud.py delete mode 100644 _build/jupyter_execute/content/02_is_the_cloud_right.py rename _build/jupyter_execute/content/{05_best_practices.ipynb => best_practices.ipynb} (100%) rename _build/jupyter_execute/content/{05_best_practices.py => best_practices.py} (100%) create mode 100644 _build/jupyter_execute/content/class_program.ipynb create mode 100644 _build/jupyter_execute/content/class_program.py rename _build/jupyter_execute/content/{03_cost_analysis.ipynb => cost_analysis.ipynb} (100%) rename _build/jupyter_execute/content/{03_cost_analysis.py => cost_analysis.py} (100%) create mode 100644 _build/jupyter_execute/content/data_management_plan.ipynb create mode 100644 _build/jupyter_execute/content/data_management_plan.py create mode 100644 _build/jupyter_execute/content/example_workflows.ipynb create mode 100644 _build/jupyter_execute/content/example_workflows.py create mode 100644 _build/jupyter_execute/content/intro_to_cloud.ipynb create mode 100644 _build/jupyter_execute/content/intro_to_cloud.py create mode 100644 _build/jupyter_execute/content/is_the_cloud_right.ipynb create mode 100644 _build/jupyter_execute/content/is_the_cloud_right.py rename _build/jupyter_execute/content/{04_openscience.ipynb => openscience.ipynb} (100%) rename _build/jupyter_execute/content/{04_openscience.py => openscience.py} (100%) create mode 100644 _build/jupyter_execute/content/where_to_find_funds.ipynb create mode 100644 _build/jupyter_execute/content/where_to_find_funds.py create mode 100644 _build/jupyter_execute/content/which_cloud.ipynb create mode 100644 _build/jupyter_execute/content/which_cloud.py rename content/.ipynb_checkpoints/{05_best_practices-checkpoint.ipynb => best_practices-checkpoint.ipynb} (100%) create mode 100644 content/.ipynb_checkpoints/class_program-checkpoint.ipynb rename content/.ipynb_checkpoints/{03_cost_analysis-checkpoint.ipynb => cost_analysis-checkpoint.ipynb} (100%) rename content/.ipynb_checkpoints/{01_intro_to_cloud-checkpoint.ipynb => data_management_plan-checkpoint.ipynb} (100%) create mode 100644 content/.ipynb_checkpoints/example_workflows-checkpoint.ipynb create mode 100644 content/.ipynb_checkpoints/intro_to_cloud-checkpoint.ipynb rename content/.ipynb_checkpoints/{02_is_the_cloud_right-checkpoint.ipynb => is_the_cloud_right-checkpoint.ipynb} (100%) rename content/.ipynb_checkpoints/{04_openscience-checkpoint.ipynb => openscience-checkpoint.ipynb} (100%) create mode 100644 content/.ipynb_checkpoints/where_to_find_funds-checkpoint.ipynb create mode 100644 content/.ipynb_checkpoints/which_cloud-checkpoint.ipynb delete mode 100644 content/01_intro_to_cloud.ipynb rename content/{05_best_practices.ipynb => best_practices.ipynb} (100%) create mode 100644 content/class_program.ipynb rename content/{03_cost_analysis.ipynb => cost_analysis.ipynb} (100%) create mode 100644 content/data_management_plan.ipynb create mode 100644 content/example_workflows.ipynb create mode 100644 content/intro_to_cloud.ipynb create mode 100644 content/is_the_cloud_right.ipynb rename content/{04_openscience.ipynb => openscience.ipynb} (100%) create mode 100644 content/where_to_find_funds.ipynb create mode 100644 content/which_cloud.ipynb diff --git a/.ipynb_checkpoints/intro-checkpoint.md b/.ipynb_checkpoints/intro-checkpoint.md new file mode 100644 index 0000000..cc00c5c --- /dev/null +++ b/.ipynb_checkpoints/intro-checkpoint.md @@ -0,0 +1,33 @@ + +# A Primer to Cloud Computing for Research + +This online "book" aims to enable pathways to adoption of cloud computing for research. You will discover how the public cloud can foster innovation, accelerate scientific discovery and learn about best practices for leveraging the cloud. + +As a researcher or research facilitator, there are three main considerations in utilizing the cloud for scientific workflows: + +**(1) How do I know if my research belongs in the cloud?** + +**(2) Which cloud provider and which services should I utilize?** + +**(3) How do I estimate costs and resources needed for porting my work to the cloud?** + +Whether you are new to the cloud journey or are a seasoned cyberinfrastructure professional looking to communicate and address common concerns faced by researchers, this guide is intended to help you make an informed decision on whether a research workflow belongs in the public cloud, and to demystify some of the more obscure features around cloud adoption. + + +## Cloud Adoption Framework + +```{attention} +Cloud computing is a utility. You pay for the resources that you use! + +``` + +The CLASS Cloud Adoption Framework is a series of documentation, best practices, tutorials, workflows and cloud adoption pathways built by researchers and research and data (RCD) professionals ***for*** researchers and RCD professionals. + +## Issues +Please contact class@internet2.edu with issues or questions + + +Content for this site was put together by the Research Engagement team at Internet2. [Find out more here](https://internet2.edu/community/research-engagement/internet2-research-engagement-team/)! + + + diff --git a/_build/.doctrees/content/01_intro_to_cloud.doctree b/_build/.doctrees/content/01_intro_to_cloud.doctree deleted file mode 100644 index 26e903be9a6d1c23b11c432ba8464a2c5932d8e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4542 zcmeHL&2AjW5hg_~$))%&%RWdl8blJ45_eYt0>d!igTN$)L5mV3Co&8e)Rd^NK>`vdr(lYOv&)oxdJ*Y8)=Reat0=YI}X zs(*gZ7EDtNC&C85ndrF8MDD_m;p89TRXFx-!>_F_O)P?6!HHO^G%+F%UkATS z$DK-TcXEHjir6WgH`irLuFH+D!?A4pmQyYjb6fuOv)mb-l+_*PG&@UmnXogR6=0hW z*+3iiTv)+PECcZYo10&V5$X4qx4#dSJy7VjUoSW;a6ulFeeSoob4K+`2M>_NYbvp1 z-A0^pYeB^CR?f5f*Je@{vqhiBmqrZeOzAfqAJSHkd;VssauJ>!e&E-q-h0~nn-#|P zc*gUDJD&IcJn^>ey?pxoy!ZSs&z|{}Q+8)hNDBlD#KV|^p#5BB_{cmVDl`XQNi<^V3C!nQw3B@b<7EGw#&YdSQ01e zCcI{nW?T_>_C&=-TRm{>`0;n85hthYamK&XIo9>}OVMX9gt=0&u-JV0;-qrIr&wi;7v7QB$XiNC+hNd9>mZ(j6 z`ZY%OEfV#v?8;TSCLdhLlM6g8@*dt3`97X4hR+c`zr*Jbcq`>JkPW|f2mLL5UC_+)L-aZt>Q>Lo2To)55(qd4iR7?7((ARaDp^{?-8z_{{OB5ff zfI3G3w%~+1RTrNciL>gc@`2&j89c+Nh96Jr%`d1xlNrCD4v5JoZx_q=mSc&IM`e6C z-|^JV(9gocx2{#MJG#cIdtIHC@a zb|J0>z05fH!-3W=*G|lBp0D~HYL4?Vi$>Hh1Wtly|=irbkpyX0Ty18@J|YZg5OCw+ESz=+?`;3 z10#&TZA7e15+$M#c>*yC$hh$9NVx%QggaCc73kd5D9Clc%S*K2Gm^idfT*3M%!;T% z9lTl*kXpjzJSB#E6$P%%EyaFDDy%3I9gQ-=)4muL+6rp+o0}CxVi#R0t7?4iMTxT1 zn8T2XmK)P-kPrPfjIqFf)fa>5&g57$P$`U~sjU!2RCS{;xUzSfD18pm1Z>ZwbA|o5 z*So&H?iOPwb>7ux*h|D!4<~Ie_&aoiIMR*Ci40zL@aiV$o!>wD6Wp?E2Jw;@qRhnH zn~HH-V}w+~4Jt9xWhq3o9q$AGR1eQL{e7S*i<-o0)Q>O}AiQtn6Q)z@@9fg&~(jWYq$gct#4Zm5J0puM}r0@~|*Di824xy|d<_8c2R5*;) z@J&J!>njwh1!_Ijf(&khX0cA_$3P7F1`+GuGM3+1-zI_^7f|L^knx3;@8kO$xo!Q< ze5k71JF!9;BJto@Qz)IL=V~?QDfKxhkAP);oi@?0j=r-*Y)-cqIJT!!t4oIq{81K- zqdI(Nnb%}z#cv_mV_i~027fEY6b#4022}fvvkCo282^2EPKm`0atMDYu&6V&z$WJx e$hR7D6|${_%FrZZ=}GkagDjd44*9F>cmEH>7Rj3c diff --git a/_build/.doctrees/content/05_best_practices.doctree b/_build/.doctrees/content/best_practices.doctree similarity index 86% rename from _build/.doctrees/content/05_best_practices.doctree rename to _build/.doctrees/content/best_practices.doctree index 72ce601710d4304baf2eea06493c063324e5ff6b..dec84f369ec6a11219e017561fcd9b27b77afe66 100644 GIT binary patch delta 24 gcmZ1@v{Hzrfpx0fMiw_lMxV*vj24^Q7?-gF09e2V{Qv*} delta 28 kcmZ1}v_^=ffpx0lMiw_lM*qp)j26rWrtzDb8JDpG0CKbk#{d8T diff --git a/_build/.doctrees/content/02_is_the_cloud_right.doctree b/_build/.doctrees/content/class_program.doctree similarity index 66% rename from _build/.doctrees/content/02_is_the_cloud_right.doctree rename to _build/.doctrees/content/class_program.doctree index 5613181cac075ee4744b26e852569185eda52149..843a2b32ac99759d58d029b418b4812076d0e331 100644 GIT binary patch delta 211 zcmaDX+#|%&z&e$2B1^GT24@dzNoGk->XgY-G#jVXPSMCYd;+1Ab@5vF27Cy;2iN(e71rS|&nFW=3NmDYUGk8jq5;J5# zCdDrJiZkSZwBF`UjwnU|&q_^` delta 428 zcmaKo!Ak-`6vms@O_WY`%0!lsP-|6$pn^#76hW6d1+uKOlW)LXWoNeXAQoNcBEC-j z7kTQ~f6=`^qf4^`QgrC>&0%=&d%y2f8=sq*2mASBmJ!_w4DbTCW;C+2;S&do4(LUxLf?V?`FT(NtpcmA85y*-i3`3X6kHd`JSp0@OirDrVb zd^C=F2-~op^imEU`u*P=ux5@GQ>c=@>S*m~m9=)esO&o)NI+#BG@JTOVvedzhmmBF zY#1}q@F``3DT{r{1m!HEtS)Z*sPfd00v@E_ISo-Kp}*u)1^%bL{7-+2cXG5!_~OfYv5FmN3zdufkje4LfI#O$ NKxu-|Uc6?n$u|bJoecm0 diff --git a/_build/.doctrees/content/03_cost_analysis.doctree b/_build/.doctrees/content/cost_analysis.doctree similarity index 86% rename from _build/.doctrees/content/03_cost_analysis.doctree rename to _build/.doctrees/content/cost_analysis.doctree index f1410f4b1c328558f9673b65ace8a05f68e216fe..79a66a6379c13e88078957731a3344ea2ca3ce0d 100644 GIT binary patch delta 24 gcmdlbv|Wg$fpx0RMixItM(@eNj24^w7}u}^09@_|L;wH) delta 28 kcmdlkv`dJkfpx0>MixItM!(6yj26rW#_^lG8P~7_0C%_u3;+NC diff --git a/_build/.doctrees/content/data_management_plan.doctree b/_build/.doctrees/content/data_management_plan.doctree new file mode 100644 index 0000000000000000000000000000000000000000..3234e406befc8265948aaa66a26d0a2c91f2ca8b GIT binary patch literal 2391 zcmai0OK%%D5KiJqvTRF!r0FG&VHABN4XkZ|9*W)yrza;);k3=EAh=6PB)m&*NvL0&rOCi;KLK#z@3fE1$=L{@4C}s7pr92fklY6zPK4 zuTtu_sB=c9l|z%UsSU|&Y+#V()LJO<-BYw^zBXA^E`^k4mxfQHP2~rU&f-xJyZ(MI z6%VftzVZD9Ko`kxmK&SUf+~jQRPv$))Fy9VUz{ZuKmYPNIeq!ln>Qz?+VCXP%Aw38 z8WT9RNRTq8Y9h-Ul?L%h?4Sp6h{DAY3O$O(CrjfK1X+cRiemu&#lrGmsITJ-VL7v*>)+kF&}|#7T?Ax!+l6YMjpfrsd8_ zH3QG~JK{`DjQ|V2|2xeqT)={PV)xt+XIw=(XcHiyZ*CneN(kFc8iLrD5Vu;fGC8D? z(;12P7Eh6`hq}y7@CQ?^ozjl49G>0vqsUrS6=XiurU=lCE$C8`Oc#-t79k%s8lKlo zwd7hlK^E*m#@3;w6Ph=?)W(sVU-3Mg-Sb<5=AGE{`+P2em7}h*3!|RzF`ia4q#IvT zqkt7G45tM&LuY8lV^iUSA4^qMj&PM}2CLwQm7AXYaAGCC57!R~H%1#Gz{s2%;2cZM zT=2WPa_dogb(G*A-#WP!LcI0kCg`$&h3nz^!7Wd}7aOoZNdTW54Fx{})n^rm54aiR zd)O`hf#I1pj4)nu#gImV8Rxza0#DH+;E;@z7)v=1qVLDFa+)kv{+mm7kPS~D`0d9!!MB`*nj;+UhX?sq3@Qi{}(*#1~JSK1$wbvg&%h*h_TWO+ZndWej#%Yb+ zF1ef5X@o0sq!>Dyg8$5kaJK0mgG~kL2CFNd*fL)4NB?25hDf`Z{um{ zL`>bDy-|+NiI6jq;};ygpX*5P9a~Tg)1MV)*TVBbEjJ>`bw*nRA7_GMOmM%=OyS1j z^1)^`msN>k;)_+kL+z}81W9xz)f88~82*E}4s4aK+wJipU! z3o3JhSJd$OG5O#(xVj4GRq8jJHGsJTi=<)_ymrJi=aldX(#j}`|*rHKZwfaTRayN>xWU{Zc2dlE{NynRvh8)MC@2UTD_{;dz4A6 zp_m>K8%-RigXOwdrTKl%4f(E#h#IwRSpKi;uNvT-?JCZ^vp+ z?)WVXd#0;6%E51EI?n+tdcd|HoVNN;X#Rb;0ORq`0A>i!yTzVq5_U7crrz$<^_6Y0 WxQ5z^jZdQAn-*mCaw1+;I{6nfq`de5 literal 0 HcmV?d00001 diff --git a/_build/.doctrees/content/example_workflows.doctree b/_build/.doctrees/content/example_workflows.doctree new file mode 100644 index 0000000000000000000000000000000000000000..4f736597a3febec4eab18743969e73ee1cbcfb64 GIT binary patch literal 2360 zcmZ`)NpBlB6i(tuvb@Mkn&uEEFp4fo14#|gL(yB|_ENV_kuEs}1T~~Y)*Nz5axCc( zpgjag0N%p>-+r7KjU@v$Ab9xr){ozN@9)mP!~U)6FC4f+NWB38|RnI=+r!kkq|YZq(TK9M8Nox-}Oa(G|VdQS?K{ zORxCaO?YsoOvz4vgm=xCr>~5?oGLSSv9Y-O8(*YM{$KHJtdc~Od!buUq~)VHDkn7T zQ17jrlpbZJGPWdhDdk?KsB;kFyQ67de{Hj}xIRp1c4_%E>6D@8=`3AEaS-k*sd@bQ z_>0h8LGoh!yW`f4X-+kxp6c=U4TNs|>cz|R@yj26c`-iw>APQl9iAD>$C=R{X^#1V z=7r*9zN&g8i>01K@lfoc0C9q>#badoAWJ9>|Ey6Ow)&BZQvmx(t8&_?oUW^U3YE`M zhj=1(#8ad$z7)?8V@uo?TkCOF&O~F;mMESjmtDqiJT=B^@ zF1;WtvLIq((69%^TV5FJiQ-pW#q&F1M^M!sJK=~gB(U<-mu{uh2_42K=3HS;kX zn9^^0=~P}~cy#0Dh70j33~Hy>39L*{HZN{ihQm~V14;t;C=?XKzM^_o(isQb4Cgx- z9^szlnX!y8UU1D2MuHg^p^NsIqDH_W87a_(auG#03~1>MxfX>x5{%ksWnPe$bwITe zNOYLhR3(Q8l?2dgm)`zbR5)HTLl$}B(;;6J#&NQ4Sy3eOF5Ma+h*BY zb%S^o_E3xi|7kS=L77I4Or@&F%%I=}K}{TelvVZaCCP*$bRu>*72X%_+wpilpO1>A z7e1eF$YuSAZ@~kfyKMn9qkca zcj%Vd(*+T7CKP_)=v`$Jz4u&B(M*4p=v@cPd)2u<5@j;lAowT~6m5d{t$PYDmWB_3 z^<`NgnY5CsMbq^9dyvFrQcv;JtL8sW!3;iVU%K~7%iQ@T%6OZwKB=%g`Uw^8~dOwpGLn%Bw z){@jtE4@0+bxEy<ng4s)gs*!KK}c()Z-PqxF-7-~8; Rt;BFR&B^-XB)rPW=s!BOv8Mn4 literal 0 HcmV?d00001 diff --git a/_build/.doctrees/content/intro_to_cloud.doctree b/_build/.doctrees/content/intro_to_cloud.doctree new file mode 100644 index 0000000000000000000000000000000000000000..c4df001ddadfc20be74b6d1d76ace5e02b749691 GIT binary patch literal 9562 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 literal 0 HcmV?d00001 diff --git a/_build/.doctrees/content/is_the_cloud_right.doctree b/_build/.doctrees/content/is_the_cloud_right.doctree new file mode 100644 index 0000000000000000000000000000000000000000..d07087e7c093120381d6d16d8d3d4a5bb71bb34c GIT binary patch literal 8092 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 H_B#Ipt0Kd! literal 0 HcmV?d00001 diff --git a/_build/.doctrees/content/04_openscience.doctree b/_build/.doctrees/content/openscience.doctree similarity index 86% rename from _build/.doctrees/content/04_openscience.doctree rename to _build/.doctrees/content/openscience.doctree index 4e810a67ff376650b8d7a7cf32a2e05d03666637..350518a25f312bbb3b6b86208d3e8fad9ec2ed9f 100644 GIT binary patch delta 24 gcmX>rbV`V&fpx0=MwSRhM$gHyj24?`Fm7cB0Ahd#q5uE@ delta 28 kcmX>lbXJI^fpx0WMwSRhMxV*Cj26rWCh?o6GHzuD0DgT4YXATM diff --git a/_build/.doctrees/content/where_to_find_funds.doctree b/_build/.doctrees/content/where_to_find_funds.doctree new file mode 100644 index 0000000000000000000000000000000000000000..75e2a1910a4c2a3223a0a499316353cf56639cf2 GIT binary patch literal 2374 zcmaJ@NpBlB6i(tuvb@MknjR7-5Q;8I14#|gL(!fJw>{LY)22(%LqJeNN@P7lPPtgp zAwYWwkN~`e{lEPFg4=H0xGj3zpW;*i) zS1!JbkN=6U;-kn!URMY++h~GcWwP*eB@u~PCHcq#HtMX*!DHAl%NS z;_=7hPeOYM%+I6WEH`#U3#u4(RE@rAfV86*&z_%+o`3t(v(f1fU;pyU;8Ytv%CvGQ zb2Jm&aN;zXNX5tmc-WyV7it{EeX)lY#0lya4^ij6bPBWv3qUl;5?X^l8?>nC1LF_Y ztoq5SUs?69tUiR*$LL2q5ldANNaFyxAfEc>oO$J{Kti<=p<{{z6 zXhQ^um~#W1Q>mGY;Xr%08KqT4iQ&PulWQTwi_oisUKOx(J=r|C<{1uC0~RO=;FF`F z81{3jrk+kY;AW6-VU>hChG*I^!g$FQLmCNYoQF2XWP%<6hh(J0G|G7t?a-qhBXgw+ zw@252JPCVf#)AK}+J~S_V}?o3>vhvBc}dU{Hh{{ie)p1QOp!Vf zJM@KfrTua=n$2dza^ZwlLv5xb#xF;(w4)gACXW;`c@W17pzMI^HuQs!KKmT7^voo? zmL_Sg(wr>QIIXeDC3ll5jc`Sd6kSKh;6HOBo^6K*U{gU>gS9H3*fL%3+wgu>ja1l& zsdJDvVZ^}VUA!bK5mR?)7s}B&5ppVW{DPymbDikDXA6p9`paW>Ej;g3axIcvXS6}^ zK_)211ovCd6mBdn9|G?SU!s`wKvmC9GwW|b5}ipk!BsDZ|2VA!>&KgRhrAebhIw2d zm*CtX+Fh(udO>(WWlr#D8eY92Z^9N=m+{<>!*;y}Fn3@PHo63_9dXo5Io1l+^AQq( z6%MZ^uwm(Wd4)x_p{<`Fs1a?l655IVc)g(SBxU_Ao{FIj-K21f5@5ZG;_0~+5Ak;> z_H5W+zpBc6Ka*HPDLo?Anlw&JySmJEO>Kwbabd++=d0VVOy9evTv>NFB6gQqE2ra) z_*jd^r9FK2daUN;M%clyXWFMxj$t>`c@ALF1GatVw9&sq^RMG`FdqK{V21FjTkM%S i;cDhL)VnKnb!9s&t)XUO(~}quCk0u*oP?Jj5B~$m@wMXs literal 0 HcmV?d00001 diff --git a/_build/.doctrees/content/which_cloud.doctree b/_build/.doctrees/content/which_cloud.doctree new file mode 100644 index 0000000000000000000000000000000000000000..ddecf9291f5428c59e6a5aed05db48875bbc6504 GIT binary patch literal 2358 zcmaJ?&u`l{6mFZ^juXfE(RC=$vx&L<`C0Vg^SO6p9+wA`}cTwtN!!5wiHq=CX_Ly8Mnc2GM!Zg zS1x=C&;AMT!c#vqbZ&KJG9LUbXk%y1Rn20xDKPUd#f+7B$xoYbl_7d_DzgSSBp zea}gk^OYO_;8bXBrJ5a`=DK1>FO9yGj2jzTle@q3MNH*?G~b6hO~kq9`z1wUE{Odq zrGAS#XJlGA6c!8Fkj%!U2U$+7g%IC8MT_QZlU3#QA*I=c;nS#7`GKRecooF1zne?N z!*2&)`~DJ?Uy?s8a!zPL6{C)-MVKn^UD{>>90S&etmMP4No$y9MVkY zLS}+wvGj>7uT&buLoq_?;t=_Y$H?zN)*^ILtDTe`LR1_9)h||cj%uBwRh=)P^A&0k zPsNsahP1^u;uujj#BH&$8focGv=&`?;y4=L_T#KF5nR%ieeOp~Ne#)l-?ZF0G!r!1 z?|3mab+Ih?{+~3jfc27CV)xt+XIybZoi+gnfXA()MTx_96NbR|1&&+ou`)SMJ5FaL zwkX~rTn~AftKbi&T05m3U%5QH?RO$6RaKD1RGT6|GPYnwNitnTu3NZ#*hqNJYYCZ4 z7hBU11rb|=PB1dO)W(sVU-CSh-SJz3=H0R9_xVBsD@R>rmr6a~V?3>92sfTnqkt7O z45tMoLuY8lV^QIQA4^qMj&PM}2Cd+Sm7AV?e_|!R57#dVH%1#GK)#$C;2cxUT=2WP za_e4twU^)@-MG2oLcHWovf*I$&kI|T-M!+E%DKUX^5k%jQY2`Gz7Wq38jM`yUQId{zK(!V~ zOqWqKj}CWh37}Or_WoK_T3#_t7DeRK9$%E&aYl@k=Xu7I9J*ql4L%gPs%GN zw3=u$OBlaQplOrf??;R1FL%nTPrm&Qu#C+#yAdWzuEQKI!#J(6x+Qnh zI*f2dju1mfQ}CZT5zaRKBe1C;-C%X;6I;gie)ON$*+_*Q7%K;9BSs7?-p0$(9Wix# z_DVUrAVSVWjvqLBH`kHgBU?}m(_a;4*TV8%eQu5<*BNaQe3S`_F+qQunL@|n@*%Lk zs7fRgAEf%3X=nW-NTM^TrfBtY_z&VbuvNOQx5tZ=GtA=^VhPS2yxqq_r5A)3ROSSa zq~Z0u@xgC!bs5g9)NeLx0CNWxNyQ|1?TDjh#<5ngoc9q3tZ;ZGfenjK$~!EoHEHwg zKn!ow?$D3y$BPB|APSpr@mx%-A4Y+@DgoBJAfBIF@fiOnVr2c!YO8ANolIg4#qjXh zNa8px^_nzSC5;}EN5hI#=Uw+})z5ASJMH0`$Kf(+ZFI2aA8XOLxQFlG^wr+n@>>}8 zOjmJ~gWt|{o afNeiGZRMX({QK|xp&vMmE+ literal 0 HcmV?d00001 diff --git a/_build/.doctrees/environment.pickle b/_build/.doctrees/environment.pickle index 1c352c473f2dd3f97bc55ba7d81cacc89d89ecfe..137754edf518122543509e6c0d2d8001fd8c36da 100644 GIT binary patch literal 48281 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 literal 41424 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 diff --git a/_build/.doctrees/intro.doctree b/_build/.doctrees/intro.doctree index 67835673ffbd1cd87d6fc648a39a187c713cf004..55a816bec42c418491222d9c0ee98e2c321b38c4 100644 GIT binary patch literal 10750 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 delta 1103 zcmb7@-%Aux6vv&}_Q!-uTJ5^7gPUotKer!-Jq204C`_gZ>SE*Ubn(o#&Mdn#+9HvG ziNZW}Z_rCGJp|E9w$x)U{RRC1dk(2c%jzMhhwR>QXA%;kfji8c?>XOlKKIA3;mr>J zy#Myv!4>~Au0C{O2IXfoG)o{jL7>L=0ws~3=X-sSfHnw27jWRS(g-5gNCKi0#10v5 zr2;WpD(;NotKrUC&Vp9xfc62tY~sUD!+immq<)w1qgVruM?ylNET(WzWR-_3-dEQx z1l?e%zwQpl!yJAeHF;RXll68rEKpCOoH2JR7Grum)-AZP6dsRVjKUbK!v@2A=`JNpXqT)syz(Fe4&)pBqOt8dt$6D+SLe-sLRO7} zDJ!~?Ef%zb(_7e6dt@Vr^n$7(T}4zw@PXE6f?P#KMxZYQAN#lH1M7BZP%&XvDHaHP z%2ZMfJ}<-O5`0;PuLBkEZOMXEtBdf{N-N%pbx!Gbg&kCAq~j1B4xD52|9m^w{-m5n z6fc)oR8v#w-YgP@F=XPjL*-BR2hOsciTBau_@I|eNe=Hy;(}!MQ`uv|RgqBBt{}|C z1EE(UjJIOVH4f$Y0M8V59RsC>rWT$b;Ytsi@A^)`2n=PCv@+Al%56bcrjc39Q3`f5 XMkGg+EQqq-A?R}QAXU1b80CHggVB-a diff --git a/_build/html/.buildinfo b/_build/html/.buildinfo index 47cfe14..72c849d 100644 --- a/_build/html/.buildinfo +++ b/_build/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 04c13d88eea40c9fbb10e7c5003b91b1 +config: 6526d3c866653ffeb0150924af4e4d0d tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/_build/html/_sources/content/01_intro_to_cloud.ipynb b/_build/html/_sources/content/01_intro_to_cloud.ipynb deleted file mode 100644 index 1ec4fdc..0000000 --- a/_build/html/_sources/content/01_intro_to_cloud.ipynb +++ /dev/null @@ -1,50 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "90e130db", - "metadata": {}, - "source": [ - "## Introduction to Cloud Computing for Research\n", - "\n", - "Cloud computing is an on-demand computing resource that is scalable and follows a pay-as-you-go model. Instead of a singular data center or super-computing center, large cloud providers have data centers spanning multiple locations. The largest cloud computing providers are Microsoft (Azure), Amazon (Amazon Web Services, AWS) and Google (Google Cloud Platform, GCP). Together, they are often referred to as \"public\" or \"commercial\" cloud providers. \n", - "\n", - "\n", - "For researchers, it is often helpful to be aware of these five key components related to cloud computing infrastructure: \n", - "\n", - "\n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ba7ffb3b", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.5" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/_build/html/_sources/content/05_best_practices.ipynb b/_build/html/_sources/content/best_practices.ipynb similarity index 100% rename from _build/html/_sources/content/05_best_practices.ipynb rename to _build/html/_sources/content/best_practices.ipynb diff --git a/_build/html/_sources/content/02_is_the_cloud_right.ipynb b/_build/html/_sources/content/class_program.ipynb similarity index 75% rename from _build/html/_sources/content/02_is_the_cloud_right.ipynb rename to _build/html/_sources/content/class_program.ipynb index 636e894..a532972 100644 --- a/_build/html/_sources/content/02_is_the_cloud_right.ipynb +++ b/_build/html/_sources/content/class_program.ipynb @@ -2,18 +2,18 @@ "cells": [ { "cell_type": "markdown", - "id": "1b6fcbc0", + "id": "6bf4ef2d", "metadata": {}, "source": [ - "### Is the cloud right for me?\n", - "\n", - "" + "# CLASS Program" ] }, { - "cell_type": "markdown", - "id": "5e11c0b5", + "cell_type": "code", + "execution_count": null, + "id": "523e395b", "metadata": {}, + "outputs": [], "source": [] } ], diff --git a/_build/html/_sources/content/03_cost_analysis.ipynb b/_build/html/_sources/content/cost_analysis.ipynb similarity index 100% rename from _build/html/_sources/content/03_cost_analysis.ipynb rename to _build/html/_sources/content/cost_analysis.ipynb diff --git a/content/02_is_the_cloud_right.ipynb b/_build/html/_sources/content/data_management_plan.ipynb similarity index 75% rename from content/02_is_the_cloud_right.ipynb rename to _build/html/_sources/content/data_management_plan.ipynb index 636e894..0287c89 100644 --- a/content/02_is_the_cloud_right.ipynb +++ b/_build/html/_sources/content/data_management_plan.ipynb @@ -2,18 +2,18 @@ "cells": [ { "cell_type": "markdown", - "id": "1b6fcbc0", + "id": "3070d4d2", "metadata": {}, "source": [ - "### Is the cloud right for me?\n", - "\n", - "" + "# Data Management Considerations" ] }, { - "cell_type": "markdown", - "id": "5e11c0b5", + "cell_type": "code", + "execution_count": null, + "id": "8dde2cb9", "metadata": {}, + "outputs": [], "source": [] } ], diff --git a/_build/jupyter_execute/content/02_is_the_cloud_right.ipynb b/_build/html/_sources/content/example_workflows.ipynb similarity index 75% rename from _build/jupyter_execute/content/02_is_the_cloud_right.ipynb rename to _build/html/_sources/content/example_workflows.ipynb index 31ee83a..c5cc162 100644 --- a/_build/jupyter_execute/content/02_is_the_cloud_right.ipynb +++ b/_build/html/_sources/content/example_workflows.ipynb @@ -2,18 +2,18 @@ "cells": [ { "cell_type": "markdown", - "id": "1b6fcbc0", + "id": "da5b9cad", "metadata": {}, "source": [ - "### Is the cloud right for me?\n", - "\n", - "" + "# Cloud Journey Workflows" ] }, { - "cell_type": "markdown", - "id": "5e11c0b5", + "cell_type": "code", + "execution_count": null, + "id": "7ac2d50e", "metadata": {}, + "outputs": [], "source": [] } ], @@ -38,4 +38,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/_build/html/_sources/content/intro_to_cloud.ipynb b/_build/html/_sources/content/intro_to_cloud.ipynb new file mode 100644 index 0000000..30fb926 --- /dev/null +++ b/_build/html/_sources/content/intro_to_cloud.ipynb @@ -0,0 +1,46 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "90e130db", + "metadata": {}, + "source": [ + "# Cloud Computing for Research\n", + "\n", + "Cloud computing is an on-demand computing resource that is scalable and follows a pay-as-you-go model. Instead of a singular data center or super-computing center, large cloud providers have data centers spanning multiple locations. The largest cloud computing providers are [Microsoft (Azure)](https://azure.microsoft.com/), [Amazon (Amazon Web Services, AWS)](https://aws.amazon.com/) and [Google (Google Cloud Platform, GCP)](https://cloud.google.com/). Together, they are often referred to as **\"public\"** or **\"commercial\"** cloud providers. \n", + "\n", + "\n", + "For researchers, it is often helpful to be aware of these five key components related to cloud computing infrastructure: \n", + "\n", + "
\n", + "\n", + "In contrast to buying your own desktop or laptop computer, a cluster of machines, or with buying external storage devices (such as a RAID, redundant array of independent disks), cloud computing allows you to provision computing and storage on machines that only available to you through an intermediated interface (such as a web-browser or through ssh). \n", + "\n", + "In some sense, cloud computing is akin to computing resources that would you obtain through institutional high-perfomance computing clusters or the National Science Foundation (NSF)-funded platforms such as [XSEDE](https://www.xsede.org/). However, the fundamental difference is that the commercial cloud follows a pay-as-you-go model as opposed to a funding allocation model which you need to apply and be approved for. Commercial cloud providers are also frequently inventing, updating and improving their catalog of services; some researchers may find that the services offered on the commercial cloud can help accelerate their scientific workflows especially when dealing with big data. \n", + "\n", + "We will explore more about the services offered by the public cloud vendors in the next few chapters. " + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_build/html/_sources/content/is_the_cloud_right.ipynb b/_build/html/_sources/content/is_the_cloud_right.ipynb new file mode 100644 index 0000000..724337b --- /dev/null +++ b/_build/html/_sources/content/is_the_cloud_right.ipynb @@ -0,0 +1,49 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "1b6fcbc0", + "metadata": {}, + "source": [ + "### Is the Cloud Right for Me?\n", + "\n", + "Now that you have an idea of what cloud computing is, the question that is most pertinent to researchers is whether or not you ***should*** move your work to the cloud. The following chart outlines some questions to ask: \n", + "\n", + "
\n", + "\n", + "Many researchers move to the commercial cloud simply because their local compute resources (local HPC clusters, or departmental clusters) are insufficient to deal with the volume of data and type of computation. With the cloud, there is no wait time to obtain the computing resources you need. With sufficient funds, you may be able to obtain a near infinite number of CPUs, RAM and GPUs. \n", + "\n", + "```{note}\n", + "Scalable computing is the ability to obtain more computers(horizontal scaling) and/or to obtain more powerful computers(vertical scaling)\n", + "```\n", + "\n", + "Other factors that will play in your decision to move to the cloud include knowing where common large datasets are hosted. The core idea in working on the cloud involves a paradigm shift: researchers should no longer bring their data to the compute (i.e. downloading data) but should instead bring their compute to the data! If you think about it, why spend hours on end to download data and find a place to store it when you can work directly with the data? \n", + "\n", + "If your collaborators are already working in the cloud i.e. hosting data on the cloud or building cloud-based workflows, it would also make sense for you to bring your work to the cloud. Go here for more on Open Science and Collaboration. \n", + "\n", + "In the next chapter, we will discuss the million dollar question: \"But which cloud provider should I choose?!\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_build/html/_sources/content/04_openscience.ipynb b/_build/html/_sources/content/openscience.ipynb similarity index 100% rename from _build/html/_sources/content/04_openscience.ipynb rename to _build/html/_sources/content/openscience.ipynb diff --git a/_build/html/_sources/content/where_to_find_funds.ipynb b/_build/html/_sources/content/where_to_find_funds.ipynb new file mode 100644 index 0000000..dc32041 --- /dev/null +++ b/_build/html/_sources/content/where_to_find_funds.ipynb @@ -0,0 +1,41 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "a71a9499", + "metadata": {}, + "source": [ + "# Funding Your Cloud Journey" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "57bc18a6", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_build/html/_sources/content/which_cloud.ipynb b/_build/html/_sources/content/which_cloud.ipynb new file mode 100644 index 0000000..970d252 --- /dev/null +++ b/_build/html/_sources/content/which_cloud.ipynb @@ -0,0 +1,41 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "dbc2e7e6", + "metadata": {}, + "source": [ + "# Choosing Cloud Providers" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7ff14b2c", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_build/html/_sources/intro.md b/_build/html/_sources/intro.md index c587344..cc00c5c 100644 --- a/_build/html/_sources/intro.md +++ b/_build/html/_sources/intro.md @@ -1,20 +1,33 @@ -#### Overview +# A Primer to Cloud Computing for Research + This online "book" aims to enable pathways to adoption of cloud computing for research. You will discover how the public cloud can foster innovation, accelerate scientific discovery and learn about best practices for leveraging the cloud. +As a researcher or research facilitator, there are three main considerations in utilizing the cloud for scientific workflows: -#### Issues -Please contact class@internet2.edu with issues or questions +**(1) How do I know if my research belongs in the cloud?** -Content for this site was put together by the Research Engagement team at Internet2. [Find out more here](https://internet2.edu/community/research-engagement/internet2-research-engagement-team/)! +**(2) Which cloud provider and which services should I utilize?** +**(3) How do I estimate costs and resources needed for porting my work to the cloud?** - +Whether you are new to the cloud journey or are a seasoned cyberinfrastructure professional looking to communicate and address common concerns faced by researchers, this guide is intended to help you make an informed decision on whether a research workflow belongs in the public cloud, and to demystify some of the more obscure features around cloud adoption. -```python -``` +## Cloud Adoption Framework -```python +```{attention} +Cloud computing is a utility. You pay for the resources that you use! ``` + +The CLASS Cloud Adoption Framework is a series of documentation, best practices, tutorials, workflows and cloud adoption pathways built by researchers and research and data (RCD) professionals ***for*** researchers and RCD professionals. + +## Issues +Please contact class@internet2.edu with issues or questions + + +Content for this site was put together by the Research Engagement team at Internet2. [Find out more here](https://internet2.edu/community/research-engagement/internet2-research-engagement-team/)! + + + diff --git a/_build/html/content/05_best_practices.html b/_build/html/content/best_practices.html similarity index 85% rename from _build/html/content/05_best_practices.html rename to _build/html/content/best_practices.html index 7528d8b..48fbe4f 100644 --- a/_build/html/content/05_best_practices.html +++ b/_build/html/content/best_practices.html @@ -53,7 +53,8 @@ - + + @@ -83,27 +84,35 @@

Internet2 Cloud Learning And Skills Sessio @@ -176,7 +202,7 @@

Internet2 Cloud Learning And Skills Sessio - @@ -196,7 +222,7 @@

Internet2 Cloud Learning And Skills Sessio data-toggle="tooltip" data-placement="left" title="Source repository">repository @@ -217,7 +243,7 @@

Internet2 Cloud Learning And Skills Sessio aria-label="Launch interactive content"> diff --git a/_build/html/content/02_is_the_cloud_right.html b/_build/html/content/class_program.html similarity index 85% rename from _build/html/content/02_is_the_cloud_right.html rename to _build/html/content/class_program.html index 72f5477..416c3a0 100644 --- a/_build/html/content/02_is_the_cloud_right.html +++ b/_build/html/content/class_program.html @@ -5,7 +5,7 @@ - Is the cloud right for me? — Internet2 Cloud Learning And Skills Sessions + CLASS Program — Internet2 Cloud Learning And Skills Sessions @@ -53,8 +53,7 @@ - - + @@ -84,27 +83,35 @@

Internet2 Cloud Learning And Skills Sessio @@ -177,7 +201,7 @@

Internet2 Cloud Learning And Skills Sessio - @@ -197,7 +221,7 @@

Internet2 Cloud Learning And Skills Sessio data-toggle="tooltip" data-placement="left" title="Source repository">repository @@ -218,7 +242,7 @@

Internet2 Cloud Learning And Skills Sessio aria-label="Launch interactive content"> + +
+
+ +
+ +
+

Is the Cloud Right for Me?

+

Now that you have an idea of what cloud computing is, the question that is most pertinent to researchers is whether or not you should move your work to the cloud. The following chart outlines some questions to ask:

+

../_images/acceleratescience.svg

+

Many researchers move to the commercial cloud simply because their local compute resources (local HPC clusters, or departmental clusters) are insufficient to deal with the volume of data and type of computation. With the cloud, there is no wait time to obtain the computing resources you need. With sufficient funds, you may be able to obtain a near infinite number of CPUs, RAM and GPUs.

+
+

Note

+

Scalable computing is the ability to obtain more computers(horizontal scaling) and/or to obtain more powerful computers(vertical scaling)

+
+

Other factors that will play in your decision to move to the cloud include knowing where common large datasets are hosted. The core idea in working on the cloud involves a paradigm shift: researchers should no longer bring their data to the compute (i.e. downloading data) but should instead bring their compute to the data! If you think about it, why spend hours on end to download data and find a place to store it when you can work directly with the data?

+

If your collaborators are already working in the cloud i.e. hosting data on the cloud or building cloud-based workflows, it would also make sense for you to bring your work to the cloud. Go here for more on Open Science and Collaboration.

+

In the next chapter, we will discuss the million dollar question: “But which cloud provider should I choose?!”

+
+ + + + +
+ + + + +
+
+
+
+

+ + By Internet2 Research Engagement
+ + © Copyright 2021.
+

+
+
+ + + + + + + + + + + \ No newline at end of file diff --git a/_build/html/content/04_openscience.html b/_build/html/content/openscience.html similarity index 85% rename from _build/html/content/04_openscience.html rename to _build/html/content/openscience.html index 954ba5e..9b61190 100644 --- a/_build/html/content/04_openscience.html +++ b/_build/html/content/openscience.html @@ -53,8 +53,8 @@ - - + + @@ -84,27 +84,35 @@

Internet2 Cloud Learning And Skills Sessio @@ -177,7 +202,7 @@

Internet2 Cloud Learning And Skills Sessio - @@ -197,7 +222,7 @@

Internet2 Cloud Learning And Skills Sessio data-toggle="tooltip" data-placement="left" title="Source repository">repository @@ -218,7 +243,7 @@

Internet2 Cloud Learning And Skills Sessio aria-label="Launch interactive content"> diff --git a/_build/html/content/where_to_find_funds.html b/_build/html/content/where_to_find_funds.html new file mode 100644 index 0000000..d59f6b3 --- /dev/null +++ b/_build/html/content/where_to_find_funds.html @@ -0,0 +1,327 @@ + + + + + + + + Funding Your Cloud Journey — Internet2 Cloud Learning And Skills Sessions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + +
+ +
+
+ +
+ + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+
+
+ +
+ +
+

Funding Your Cloud Journey

+
+ + + + +
+ + + + +
+
+
+
+

+ + By Internet2 Research Engagement
+ + © Copyright 2021.
+

+
+
+
+ + +
+
+ + + + + + \ No newline at end of file diff --git a/_build/html/content/which_cloud.html b/_build/html/content/which_cloud.html new file mode 100644 index 0000000..858807a --- /dev/null +++ b/_build/html/content/which_cloud.html @@ -0,0 +1,327 @@ + + + + + + + + Choosing Cloud Providers — Internet2 Cloud Learning And Skills Sessions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + +
+ +
+
+ +
+ + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+
+
+ +
+ +
+

Choosing Cloud Providers

+
+ + + + +
+ + + + +
+
+
+
+

+ + By Internet2 Research Engagement
+ + © Copyright 2021.
+

+
+
+
+ + +
+
+ + + + + + \ No newline at end of file diff --git a/_build/html/genindex.html b/_build/html/genindex.html index 4e745a7..59a1d21 100644 --- a/_build/html/genindex.html +++ b/_build/html/genindex.html @@ -82,27 +82,35 @@

Internet2 Cloud Learning And Skills Sessio diff --git a/_build/html/intro.html b/_build/html/intro.html index 055d990..b3d0ede 100644 --- a/_build/html/intro.html +++ b/_build/html/intro.html @@ -5,7 +5,7 @@ - Overview — Internet2 Cloud Learning And Skills Sessions + A Primer to Cloud Computing for Research — Internet2 Cloud Learning And Skills Sessions @@ -53,7 +53,7 @@ - + @@ -83,27 +83,35 @@

Internet2 Cloud Learning And Skills Sessio @@ -222,17 +247,15 @@

Internet2 Cloud Learning And Skills Sessio