blob: 09034df0d4094999ba9d2c3484f80bb0f04aca3d [file] [log] [blame]
(window.webpackJsonp=window.webpackJsonp||[]).push([[68],{135:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return a})),t.d(n,"metadata",(function(){return s})),t.d(n,"toc",(function(){return c})),t.d(n,"default",(function(){return l}));var r=t(3),i=t(7),o=(t(0),t(194)),a={title:"Implementation Notes"},s={unversionedId:"designDocs/implementation-notes",id:"version-0.6.0/designDocs/implementation-notes",isDocsHomePage:!1,title:"Implementation Notes",description:"\x3c!--",source:"@site/versioned_docs/version-0.6.0/designDocs/implementation-notes.md",slug:"/designDocs/implementation-notes",permalink:"/docs/designDocs/implementation-notes",editUrl:"https://github.com/apache/submarine/edit/master/website/versioned_docs/version-0.6.0/designDocs/implementation-notes.md",version:"0.6.0",sidebar:"docs",previous:{title:"Architecture and Requirment",permalink:"/docs/designDocs/architecture-and-requirements"},next:{title:"Environments Implementation",permalink:"/docs/designDocs/environments-implementation"}},c=[],m={toc:c};function l(e){var n=e.components,t=Object(i.a)(e,["components"]);return Object(o.b)("wrapper",Object(r.a)({},m,t,{components:n,mdxType:"MDXLayout"}),Object(o.b)("p",null,"Before digging into details of implementations, you should read ",Object(o.b)("a",{parentName:"p",href:"/docs/designDocs/architecture-and-requirements"},"architecture-and-requirements")," first to understand overall requirements and architecture."),Object(o.b)("p",null,"Here're sub topics of Submarine implementations:"),Object(o.b)("ul",null,Object(o.b)("li",{parentName:"ul"},Object(o.b)("a",{parentName:"li",href:"/docs/designDocs/storage-implementation"},"Submarine Storage"),": How to store metadata, logs, metrics, etc. of Submarine."),Object(o.b)("li",{parentName:"ul"},Object(o.b)("a",{parentName:"li",href:"/docs/designDocs/environments-implementation"},"Submarine Environment"),": How environments created, managed, stored in Submarine. "),Object(o.b)("li",{parentName:"ul"},Object(o.b)("a",{parentName:"li",href:"/docs/designDocs/experiment-implementation"},"Submarine Experiment"),": How experiments managed, stored, and how the predefined experiment template works."),Object(o.b)("li",{parentName:"ul"},Object(o.b)("a",{parentName:"li",href:"/docs/designDocs/notebook-implementation"},"Submarine Notebook"),": How experiments managed, stored, and how the predefined experiment template works."),Object(o.b)("li",{parentName:"ul"},Object(o.b)("a",{parentName:"li",href:"/docs/designDocs/submarine-server/architecture"},"Submarine Server"),": How Submarine server is designed, architecture, implementation notes, etc.")),Object(o.b)("p",null,"Working-in-progress designs, Below are designs which are working-in-progress, we will move them to the upper section once design & review is finished: "),Object(o.b)("ul",null,Object(o.b)("li",{parentName:"ul"},Object(o.b)("a",{parentName:"li",href:"/docs/designDocs/wip-designs/submarine-clusterServer"},"Submarine HA Design"),": How Submarine HA can be achieved, using RAFT, etc."),Object(o.b)("li",{parentName:"ul"},Object(o.b)("a",{parentName:"li",href:"/docs/designDocs/wip-designs/submarine-launcher"},"Submarine services deployment module:")," How to deploy submarine services to k8s, YARN or cloud. ")))}l.isMDXComponent=!0},194:function(e,n,t){"use strict";t.d(n,"a",(function(){return p})),t.d(n,"b",(function(){return b}));var r=t(0),i=t.n(r);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function s(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function c(e,n){if(null==e)return{};var t,r,i=function(e,n){if(null==e)return{};var t,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var m=i.a.createContext({}),l=function(e){var n=i.a.useContext(m),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},p=function(e){var n=l(e.components);return i.a.createElement(m.Provider,{value:n},e.children)},u={inlineCode:"code",wrapper:function(e){var n=e.children;return i.a.createElement(i.a.Fragment,{},n)}},d=i.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,a=e.parentName,m=c(e,["components","mdxType","originalType","parentName"]),p=l(t),d=r,b=p["".concat(a,".").concat(d)]||p[d]||u[d]||o;return t?i.a.createElement(b,s(s({ref:n},m),{},{components:t})):i.a.createElement(b,s({ref:n},m))}));function b(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,a=new Array(o);a[0]=d;var s={};for(var c in n)hasOwnProperty.call(n,c)&&(s[c]=n[c]);s.originalType=e,s.mdxType="string"==typeof e?e:r,a[1]=s;for(var m=2;m<o;m++)a[m]=t[m];return i.a.createElement.apply(null,a)}return i.a.createElement.apply(null,t)}d.displayName="MDXCreateElement"}}]);