Path: blob/master/src/packages/next/pages/pricing/onprem.tsx
5961 views
/*1* This file is part of CoCalc: Copyright © 2022 Sagemath, Inc.2* License: MS-RSL – see LICENSE.md for details3*/45import { Alert, Button, Divider, Layout, List } from "antd";6import { ReactNode, type JSX } from "react";78import { Icon, IconName } from "@cocalc/frontend/components/icon";9import getSupportUrl from "@cocalc/frontend/support/url";10import { money } from "@cocalc/util/licenses/purchase/utils";11import { COLORS } from "@cocalc/util/theme";1213import Footer from "components/landing/footer";14import Head from "components/landing/head";15import Header from "components/landing/header";16import PricingItem, { Line } from "components/landing/pricing-item";17import { Paragraph, Text, Title } from "components/misc";18import A from "components/misc/A";1920import { MAX_WIDTH } from "lib/config";21import { Customize } from "lib/customize";22import withCustomize from "lib/with-customize";2324const PUBLISH_PRICE = false;2526const CM = <Icon name="check" />;2728const INF = "∞";29interface Item {30title: string;31icon: IconName;32individuals: string;33price: number | null;34academic?: ReactNode;35extra?: number;36prod?: string;37}3839const data: Item[] = [40{41title: "Small Business",42icon: "experiment",43individuals: "≤ 25",44price: 10000,45},46{47title: "Large Organization",48icon: "home",49individuals: "> 25",50price: null,51prod: "≥1",52},53{54title: "University",55icon: "graduation-cap",56individuals: "≤ 150",57price: 6000,58academic: CM,59},60];6162export default function OnPrem({ customize }) {63const { siteName } = customize;64return (65<Customize value={customize}>66<Head title={`${siteName} – On-Premises Offerings`} />67<Layout>68<Header page="pricing" subPage="onprem" />69<Layout.Content70style={{71backgroundColor: "white",72}}73>74<Body />75<Footer />76</Layout.Content>77</Layout>78</Customize>79);80}8182function Body() {83const contactURL = getSupportUrl({84subject: "Purchase CoCalc OnPrem",85type: "chat",86url: "",87});8889function renderContactButton(90text: string | ReactNode = "Contact Us",91): JSX.Element {92return (93<Button size="large" href={contactURL} type="primary" block>94{text}95</Button>96);97}9899function renderContact(): JSX.Element {100return (101<Alert102type="info"103banner={true}104showIcon={false}105style={{106textAlign: "center",107padding: "30px",108marginTop: "30px",109marginBottom: "30px",110borderRadius: "10px",111}}112message={113<>114<Paragraph strong style={{ fontSize: "150%" }}>115Ready to bring CoCalc to your organization?{" "}116<A href={contactURL} external>117Let's get in contact!118</A>119</Paragraph>120<Paragraph>121Every enterprise deployment is unique. We'll work with you to122understand your specific requirements, from user scale and123security needs to integration with existing systems.124</Paragraph>125<Paragraph>126<Text strong>We offer flexible licensing options</Text>, including127volume discounts for large organizations, academic discounts for128educational institutions, multi-year agreements, and comprehensive129support packages. Plus, we provide a{" "}130<Text strong>free evaluation period</Text> to ensure CoCalc OnPrem131meets your needs before you commit.132</Paragraph>133{renderContactButton()}134</>135}136/>137);138}139140function renderPriceInfo(): JSX.Element {141if (PUBLISH_PRICE) {142return (143<>144<Title level={3}>Purchasing CoCalc OnPrem</Title>145<List146grid={{ gutter: 30, column: 3, xs: 1, sm: 1 }}147dataSource={data}148renderItem={({149price,150individuals,151icon,152title,153academic,154prod,155}) => {156return (157<PricingItem title={title} icon={icon}>158<Line amount={individuals} desc={"Monthly Active Users¹"} />159<Line amount={prod ?? 1} desc="Production Deployment" />160<Line amount={1} desc="Test Deployment" />161<Line amount={INF} desc="Number of Projects" />162<Line amount={INF} desc="Project Collaborators" />163<Line amount={INF} desc="Cluster Resources²" />164<Line amount={CM} desc="Help for Initial Setup" />165<Line amount={CM} desc="Premium Support" />166<Divider />167<Line168amount={CM}169desc="Collaborative Jupyter, LaTeX, SageMath, R, ..."170/>171<Line amount={CM} desc="Custom Software Environments" />172<Line amount={CM} desc="Regular Software Upgrades" />173<Line amount={CM} desc="Flexible LLM integration³" />174<Line amount={CM} desc="GPU Support" />175<Line amount={CM} desc="SAML SSO" />176177<br />178<div179style={{180textAlign: "center",181}}182>183{typeof price === "number"184? renderContactButton(185<span186style={{187fontWeight: "bold",188fontSize: "18pt",189color: COLORS.GRAY_DD,190padding: "10px",191}}192>193{money(price, true)}194<span style={{ color: COLORS.GRAY }}>/year</span>195</span>,196)197: renderContactButton()}198</div>199{academic ? (200<>201<Divider />202<Line203amount={academic}204desc={<Text strong>Academic discount</Text>}205/>206</>207) : undefined}208</PricingItem>209);210}}211/>212{renderContact()}213<Paragraph214style={{215marginTop: "100px",216borderTop: `1px solid ${COLORS.GRAY_L}`,217color: COLORS.GRAY,218}}219>220¹ "Monthly Active Users" is defined as the maximum count of distinct221"Active Users" during any calendar month, who actually use CoCalc.222<br />² There are no limitations on the number of CPU cores, Memory223or Virtual Machines your instance of CoCalc OnPrem can make use of224in your cluster.225<br />³ Configure CoCalc OnPrem to use your own internal LLM server226for increased privacy.227</Paragraph>228</>229);230} else {231return <>{renderContact()}</>;232}233}234235function cloud(): JSX.Element {236return (237<>238{/* <Title level={2}>239CoCalc OnPrem <Icon name="network-wired" style={{ float: "right" }} />240</Title> */}241242<Paragraph>243<Text strong>244<A href="https://onprem.cocalc.com/">CoCalc OnPrem</A>{" "}245</Text>{" "}246brings the power of collaborative scientific computing to your247organization's infrastructure. Keep your data secure, maintain full248control over your environment, and provide your teams with the same249cutting-edge tools used by leading research institutions and250enterprises worldwide.251</Paragraph>252253{/* IMPORTANT: keep the NASA text snippet exactly as it is -- https://github.com/sagemathinc/cocalc/issues/8545 */}254<Paragraph>255Our software is used by NASA's Space Science and Mission Operations256organization.257</Paragraph>258259<Title level={3}>Why Choose CoCalc OnPrem?</Title>260<Paragraph>Deploy CoCalc on your own systems and gain:</Paragraph>261262<ul>263<li>264<Text strong>Complete data sovereignty and security</Text> - Your265research data never leaves your infrastructure, ensuring compliance266with regulatory requirements and protecting sensitive intellectual267property.268</li>269<li>270<Text strong>Seamless IT integration</Text> - Works with your271existing authentication systems (SAML SSO), network policies, and272security frameworks.273</li>274<li>275<Text strong>Customizable environments</Text> - Tailor software276stacks and computing resources to match your specific research277workflows and organizational needs.278</li>279<li>280<Text strong>Expert deployment and support</Text> - Our team281provides comprehensive guidance through setup, configuration, and282ongoing management.283</li>284<li>285<Text strong>Scalable performance</Text> - Handle growing teams and286computational demands without compromising on collaboration or287security.288</li>289</ul>290291<Paragraph>292Experience the cutting-edge capabilities of CoCalc within your own293secure ecosystem, providing your team or institution with a tailored,294high-performance platform for scientific computing, mathematics, and295data science collaboration.296</Paragraph>297298<Title level={3}>Complete Research Environment</Title>299<ul>300<li>301<Text strong>Accelerated Research</Text> - Reduce time-to-insight302with collaborative tools that streamline scientific workflows303</li>304<li>305<Text strong>Interactive Computing</Text> - Jupyter notebooks for306Python, R, SageMath, and Octave307</li>308<li>309<Text strong>Collaboration</Text> - Real-time editing of LaTeX,310Markdown, and code files, as well as integrated chatrooms and task311lists312</li>313<li>314<Text strong>Linux Terminals</Text> - Use any CLI tool to maximize315flexibility or conduct advanced computing tasks316</li>317<li>318<Text strong>Custom Software</Text> - Flexible environments319supporting your specific research needs320</li>321</ul>322323<Paragraph>324All tools work seamlessly together, enabling your researchers to focus325on discovery rather than technical setup.326</Paragraph>327328<Title level={3}>Enterprise Benefits</Title>329<ul>330<li>331<Text strong>Cost Efficiency</Text> - Reduce dependency on external332SaaS/cloud services and unify several tools in one place333</li>334<li>335<Text strong>Regulatory Compliance</Text> - Meet stringent data336residency and security requirements337</li>338</ul>339340{renderPriceInfo()}341342<Title level={3}>Technical Requirements</Title>343<Paragraph>344CoCalc OnPrem requires a modern infrastructure setup. Our team will345work with your IT department to ensure smooth deployment:346</Paragraph>347<Paragraph>348<ul>349<li>350<Text strong>Kubernetes</Text> - A modern container management351system for scalable deployment: starting at just a single VM up to352dozens of heterogeneous nodes.353</li>354<li>355<Text strong>Domain and SSL certificate</Text> - Secure access356configuration for your users.357</li>358<li>359<Text strong>Database infrastructure</Text> - PostgreSQL for360application data storage.361</li>362<li>363<Text strong>Shared storage system</Text> - Network file system364for collaborative project data.365</li>366<li>367<Text strong>IT support resources</Text> - Your internal team or368our experts to manage the deployment.369</li>370</ul>371</Paragraph>372373<Paragraph>374Read more about how to deploy mand manage CoCalc Onprem in its{" "}375<A href="https://onprem.cocalc.com/">online documentation</A>.376</Paragraph>377</>378);379}380381return (382<div383style={{384maxWidth: MAX_WIDTH,385margin: "15px auto",386padding: "15px",387backgroundColor: "white",388}}389>390<Title level={1} style={{ textAlign: "center" }}>391<Icon name="server" style={{ marginRight: "30px" }} /> CoCalc392On-Premises393</Title>394395<div>{cloud()}</div>396</div>397);398}399400export async function getServerSideProps(context) {401return await withCustomize({ context });402}403404405