github.com/Ilhicas/nomad@v1.0.4-0.20210304152020-e86851182bc3/website/pages/home/index.jsx (about)

     1  import FeaturesList from 'components/features-list'
     2  import HomepageHero from 'components/homepage-hero'
     3  import CaseStudyCarousel from 'components/case-study-carousel'
     4  import UseCases from '@hashicorp/react-use-cases'
     5  import MiniCTA from 'components/mini-cta'
     6  import LearnNomad from 'components/learn-nomad'
     7  import CallToAction from '@hashicorp/react-call-to-action'
     8  import ComparisonCallouts from 'components/comparison-callouts'
     9  import TextSplitWithLogoGrid from '@hashicorp/react-text-split-with-logo-grid'
    10  import Link from 'next/link'
    11  
    12  export default function Homepage() {
    13    // Test comment to see if Vercel picks up this commit
    14    return (
    15      <div id="p-home">
    16        <HomepageHero
    17          title="Workload Orchestration Made Easy"
    18          description="A simple and flexible workload orchestrator to deploy and manage containers and non-containerized applications across on-prem and clouds at scale."
    19          links={[
    20            {
    21              text: 'Download',
    22              url: '/downloads',
    23              type: 'download',
    24            },
    25            {
    26              text: 'Get Started',
    27              url: 'https://learn.hashicorp.com/nomad',
    28              type: 'outbound',
    29            },
    30          ]}
    31        />
    32  
    33        <FeaturesList
    34          title="Why Nomad?"
    35          items={[
    36            {
    37              title: 'Simple and Lightweight',
    38              content:
    39                'Single binary that integrates into existing infrastructure. Easy to operate on-prem or in the cloud with minimal overhead.',
    40              icon: require('./img/why-nomad/simple-and-lightweight.svg'),
    41            },
    42            {
    43              title: 'Flexible Workload Support',
    44              content:
    45                'Orchestrate applications of any type - not just containers. First class support for Docker, Windows, Java, VMs, and more.',
    46              icon: require('./img/why-nomad/flexible-workload-support.svg'),
    47            },
    48            {
    49              title: 'Modernize Legacy Applications without Rewrite',
    50              content:
    51                'Bring orchestration benefits to existing services. Achieve zero downtime deployments, improved resilience, higher resource utilization, and more without containerization.',
    52              icon: require('./img/why-nomad/modernize-legacy-applications.svg'),
    53            },
    54            {
    55              title: 'Easy Federation at Scale',
    56              content:
    57                'Single command for multi-region, multi-cloud federation. Deploy applications globally to any region using Nomad as a single unified control plane.',
    58              icon: require('./img/why-nomad/federation.svg'),
    59            },
    60            {
    61              title: 'Deploy and Scale with Ease',
    62              content:
    63                'Deploy to bare metal with the same ease as in cloud environments. Scale globally without complexity. Read <a href="https://www.hashicorp.com/c2m">the 2 Million Container Challenge</a>.',
    64              icon: require('./img/why-nomad/servers.svg'),
    65            },
    66            {
    67              title: 'Native Integrations with Terraform, Consul, and Vault',
    68              content:
    69                'Nomad integrates seamlessly with Terraform, Consul and Vault for provisioning, service networking, and secrets management.',
    70              icon: require('./img/why-nomad/native-integration.svg'),
    71            },
    72          ]}
    73        />
    74  
    75        <ComparisonCallouts
    76          heading="Nomad vs. Kubernetes"
    77          details={
    78            <p>
    79              Choose an orchestrator based on how it fits into your project. Find
    80              out{' '}
    81              <Link href="/docs/nomad-vs-kubernetes">
    82                <a>Nomad’s unique strengths relative to Kubernetes.</a>
    83              </Link>
    84            </p>
    85          }
    86          items={[
    87            {
    88              title: 'Alternative to Kubernetes',
    89              description: 'Deploy and scale containers without complexity',
    90              imageUrl: require('./img/nomad-vs-kubernetes/alternative.svg?url'),
    91              link: {
    92                url: '/docs/nomad-vs-kubernetes/alternative',
    93                text: 'Learn more',
    94                type: 'inbound',
    95              },
    96            },
    97            {
    98              title: 'Supplement to Kubernetes',
    99              description: 'Implement a multi-orchestrator pattern',
   100              imageUrl: require('./img/nomad-vs-kubernetes/supplement.svg?url'),
   101              link: {
   102                url: '/docs/nomad-vs-kubernetes/supplement',
   103                text: 'Learn more',
   104                type: 'inbound',
   105              },
   106            },
   107          ]}
   108        />
   109  
   110        <CaseStudyCarousel
   111          title="Trusted by startups and the world’s largest organizations"
   112          caseStudies={[
   113            {
   114              quote:
   115                'We deployed a dynamic task scheduling system with Nomad. It helped us improve the availability of distributed services across more than 200 edge cities worldwide.',
   116              caseStudyURL:
   117                'https://blog.cloudflare.com/how-we-use-hashicorp-nomad/',
   118              person: {
   119                firstName: 'Thomas',
   120                lastName: 'Lefebvre',
   121                photo:
   122                  'https://www.datocms-assets.com/2885/1591836195-tlefebvrephoto.jpg',
   123                title: 'Tech Lead, SRE',
   124              },
   125              company: {
   126                name: 'Cloudflare',
   127                logo:
   128                  'https://www.datocms-assets.com/2885/1522194205-cf-logo-h-rgb.png',
   129              },
   130            },
   131            {
   132              quote:
   133                'We’ve really streamlined our data operations with Nomad and freed up our time to work on more high-impact tasks. Once we launch new microservices, they just work.',
   134              caseStudyURL:
   135                'https://www.hashicorp.com/blog/nomad-community-story-navi-capital',
   136              person: {
   137                firstName: 'Carlos',
   138                lastName: 'Domingues',
   139                photo:
   140                  'https://www.datocms-assets.com/2885/1590508642-carlos.png',
   141                title: 'IT Infrastructure Lead',
   142              },
   143              company: {
   144                name: 'Navi Capital',
   145                logo:
   146                  'https://www.datocms-assets.com/2885/1590509560-navi-logo.png',
   147              },
   148            },
   149            {
   150              quote:
   151                'Kubernetes is the 800-pound gorilla of container orchestration, coming with a price tag. So we looked into alternatives - and fell in love with Nomad.',
   152              caseStudyURL:
   153                'https://endler.dev/2019/maybe-you-dont-need-kubernetes/',
   154              person: {
   155                firstName: 'Matthias',
   156                lastName: 'Endler',
   157                photo:
   158                  'https://www.datocms-assets.com/2885/1582163422-matthias-endler.png',
   159                title: 'Backend Engineer',
   160              },
   161              company: {
   162                name: 'Trivago',
   163                logo:
   164                  'https://www.datocms-assets.com/2885/1582162145-trivago.svg',
   165              },
   166            },
   167            {
   168              quote:
   169                'We have people who are first-time system administrators deploying applications. There is a guy on our team who worked in IT help desk for 8 years - just today he upgraded an entire cluster himself.',
   170              caseStudyURL: 'https://www.hashicorp.com/case-studies/roblox/',
   171              person: {
   172                firstName: 'Rob',
   173                lastName: 'Cameron',
   174                photo:
   175                  'https://www.datocms-assets.com/2885/1582180216-rob-cameron.jpeg',
   176                title: 'Technical Director of Infrastructure',
   177              },
   178              company: {
   179                name: 'Roblox',
   180                logo:
   181                  'https://www.datocms-assets.com/2885/1582180369-roblox-color.svg',
   182              },
   183            },
   184            {
   185              quote:
   186                'Our customers’ jobs are changing constantly. It’s challenging to dynamically predict demand, what types of jobs, and the resource requirements. We found that Nomad excelled in this area.',
   187              caseStudyURL:
   188                'https://www.hashicorp.com/resources/nomad-vault-circleci-security-scheduling',
   189              person: {
   190                firstName: 'Rob',
   191                lastName: 'Zuber',
   192                photo:
   193                  'https://www.datocms-assets.com/2885/1582180618-rob-zuber.jpeg',
   194                title: 'CTO',
   195              },
   196              company: {
   197                name: 'CircleCI',
   198                logo:
   199                  'https://www.datocms-assets.com/2885/1582180745-circleci-logo.svg',
   200              },
   201            },
   202            {
   203              quote:
   204                'Adopting Nomad did not require us to change our packaging format — we could continue to package Python in Docker and build binaries for the rest of our applications.',
   205              caseStudyURL:
   206                'https://medium.com/@copyconstruct/schedulers-kubernetes-and-nomad-b0f2e14a896',
   207              person: {
   208                firstName: 'Cindy',
   209                lastName: 'Sridharan',
   210                photo:
   211                  'https://www.datocms-assets.com/2885/1582181517-cindy-sridharan.png',
   212                title: 'Engineer',
   213              },
   214              company: {
   215                name: 'imgix',
   216                logo: 'https://www.datocms-assets.com/2885/1582181250-imgix.svg',
   217              },
   218            },
   219            {
   220              quote:
   221                "I know many teams doing incredible work with Kubernetes but I also have heard horror stories about what happens when it doesn't go well. We attribute our systems' stability to the simplicity and elegance of Nomad.",
   222              caseStudyURL:
   223                'https://www.hashicorp.com/resources/betterhelp-s-hashicorp-nomad-use-case/',
   224              person: {
   225                firstName: 'Michael',
   226                lastName: 'Aldridge',
   227                photo:
   228                  'https://www.datocms-assets.com/2885/1592925323-1587510032-michael-alridge.jpeg',
   229                title: 'Staff Systems Engineer',
   230              },
   231              company: {
   232                name: 'BetterHelp',
   233                logo:
   234                  'https://www.datocms-assets.com/2885/1592925329-betterhelp-logo.png',
   235              },
   236            },
   237            {
   238              quote:
   239                "Nomad gives us a unified control plane, enabling hardware and driver rollouts using vendor's drivers - be it a centrifuge, incubator, or mass spectrometer.",
   240              caseStudyURL:
   241                'https://thenewstack.io/applying-workload-orchestration-to-experimental-biology/',
   242              person: {
   243                firstName: 'Dhasharath',
   244                lastName: 'Shrivathsa',
   245                photo:
   246                  'https://www.datocms-assets.com/2885/1594233068-dharsharathshrivathsa.jpg',
   247                title: 'CEO',
   248              },
   249              company: {
   250                name: 'Radix',
   251                logo:
   252                  'https://www.datocms-assets.com/2885/1594233325-radix-logo-1.svg',
   253              },
   254            },
   255            {
   256              quote:
   257                'Nomad has proven itself to be highly scalable, and we’re excited to scale our business alongside it.',
   258              caseStudyURL:
   259                'https://www.hashicorp.com/blog/how-nomad-powers-a-google-backed-indoor-farming-startup-to-disrupt-agtech/',
   260              person: {
   261                firstName: 'John',
   262                lastName: 'Spencer',
   263                photo:
   264                  'https://www.datocms-assets.com/2885/1594236857-johnspencer.jpeg',
   265                title: 'Senior Site Reliability Engineer',
   266              },
   267              company: {
   268                name: 'Bowery',
   269                logo:
   270                  'https://www.datocms-assets.com/2885/1594242826-bowery-logo-2.png',
   271              },
   272            },
   273          ]}
   274          featuredLogos={[
   275            {
   276              companyName: 'Trivago',
   277              url:
   278                'https://www.datocms-assets.com/2885/1582162317-trivago-monochromatic.svg',
   279            },
   280            {
   281              companyName: 'Roblox',
   282              url:
   283                'https://www.datocms-assets.com/2885/1582180373-roblox-monochrome.svg',
   284            },
   285            {
   286              companyName: 'CircleCI',
   287              url:
   288                'https://www.datocms-assets.com/2885/1582180745-circleci-logo.svg',
   289            },
   290            {
   291              companyName: 'SAP Ariba',
   292              url:
   293                'https://www.datocms-assets.com/2885/1580419436-logosap-ariba.svg',
   294            },
   295            {
   296              companyName: 'Pandora',
   297              url:
   298                'https://www.datocms-assets.com/2885/1523044075-pandora-black.svg',
   299            },
   300            {
   301              companyName: 'Citadel',
   302              url:
   303                'https://www.datocms-assets.com/2885/1582323352-logocitadelwhite-knockout.svg',
   304            },
   305            {
   306              companyName: 'Jet',
   307              url: 'https://www.datocms-assets.com/2885/1522341143-jet-black.svg',
   308            },
   309            {
   310              companyName: 'Deluxe',
   311              url:
   312                'https://www.datocms-assets.com/2885/1582323254-deluxe-logo.svg',
   313            },
   314            {
   315              companyName: 'Radix',
   316              url:
   317                'https://www.datocms-assets.com/2885/1594233325-radix-logo-1.svg',
   318            },
   319          ]}
   320        />
   321  
   322        <MiniCTA
   323          title="Are you using Nomad in production?"
   324          link={{
   325            text: 'Share your success story and receive special Nomad swag.',
   326            url: 'https://forms.gle/rdaLSuMGpvbomgYk9',
   327            type: 'outbound',
   328          }}
   329        />
   330  
   331        <div className="use-cases g-grid-container">
   332          <h2 className="g-type-display-2">Use Cases</h2>
   333          <UseCases
   334            theme="nomad"
   335            items={[
   336              {
   337                title: 'Simple Container Orchestration',
   338                description:
   339                  'Deploy, manage, and scale enterprise containers in production with ease.',
   340                image: {
   341                  alt: null,
   342                  format: 'png',
   343                  url: require('./img/use-cases/simple-container-orchestration.svg'),
   344                },
   345                link: {
   346                  external: false,
   347                  title: 'Learn more',
   348                  url: '/use-cases/simple-container-orchestration',
   349                },
   350              },
   351              {
   352                title: 'Non Containerized Application Orchestration',
   353                description:
   354                  'Modernize non-containerized applications without rewrite.',
   355                image: {
   356                  alt: null,
   357                  format: 'png',
   358                  url: require('./img/use-cases/non-containerized-application-orchestration.svg'),
   359                },
   360                link: {
   361                  external: false,
   362                  title: 'Learn more',
   363                  url: '/use-cases/non-containerized-application-orchestration',
   364                },
   365              },
   366              {
   367                title: 'Automated Service Networking with Consul',
   368                description:
   369                  'Service discovery and service mesh with HashiCorp Consul to ensure secure service-to-service communication.',
   370                image: {
   371                  alt: null,
   372                  format: 'png',
   373                  url: require('./img/use-cases/automated-service-networking-with-consul.svg'),
   374                },
   375                link: {
   376                  external: false,
   377                  title: 'Learn more',
   378                  url: '/use-cases/automated-service-networking-with-consul',
   379                },
   380              },
   381            ]}
   382          />
   383        </div>
   384  
   385        <LearnNomad
   386          items={[
   387            {
   388              title: 'Getting Started',
   389              category: 'Step-by-Step Guides',
   390              time: '24 mins',
   391              link: 'https://learn.hashicorp.com/collections/nomad/get-started',
   392              image: require('./img/learn-nomad/cap.svg'),
   393            },
   394            {
   395              title: 'Deploy and Manage Nomad Jobs',
   396              category: 'Step-by-Step Guides',
   397              time: '36 mins',
   398              link: 'https://learn.hashicorp.com/collections/nomad/manage-jobs',
   399              image: require('./img/learn-nomad/cubes.svg'),
   400            },
   401          ]}
   402        />
   403  
   404        <TextSplitWithLogoGrid
   405          textSplit={{
   406            brand: 'nomad',
   407            heading: 'Nomad Ecosystem',
   408            content:
   409              'Enable end-to-end automation for your application deployment.',
   410            linkStyle: 'links',
   411            links: [
   412              {
   413                text: 'Explore the Nomad Ecosystem',
   414                url: '/docs/ecosystem',
   415                type: 'inbound',
   416              },
   417            ],
   418          }}
   419          logoGrid={[
   420            {
   421              url: require('./img/partner-logos/consul.svg?url'),
   422              alt: 'Consul',
   423              linkUrl: '/docs/integrations/consul-integration',
   424            },
   425            {
   426              url: require('./img/partner-logos/vault.svg?url'),
   427              alt: 'Vault',
   428              linkUrl: '/docs/integrations/vault-integration',
   429            },
   430            {
   431              slug: 'gitlab',
   432              linkUrl:
   433                'https://www.hashicorp.com/resources/nomad-ci-cd-developer-workflows-and-integrations',
   434            },
   435            {
   436              url: require('./img/partner-logos/csi.svg?url'),
   437              alt: 'Container Storage interface',
   438              linkUrl: '/docs/internals/plugins/csi',
   439            },
   440            {
   441              url: require('./img/partner-logos/cni.svg?url'),
   442              alt: 'Container Network interface',
   443              linkUrl: '/docs/integrations/consul-connect#cni-plugins',
   444            },
   445            {
   446              url: require('./img/partner-logos/nvidia.svg?url'),
   447              alt: 'NVIDIA',
   448              linkUrl:
   449                'https://www.hashicorp.com/resources/running-gpu-accelerated-applications-on-nomad',
   450            },
   451            {
   452              url: require('./img/partner-logos/datadog.svg?url'),
   453              alt: 'Datadog',
   454              linkUrl: 'https://docs.datadoghq.com/integrations/nomad/',
   455            },
   456            {
   457              url: require('./img/partner-logos/jfrog.svg?url'),
   458              alt: 'JFrog Artifactory',
   459              linkUrl:
   460                'https://jfrog.com/blog/cluster-management-made-simple-with-jfrog-artifactory-and-hashicorp-nomad/',
   461            },
   462            {
   463              url: require('./img/partner-logos/prometheus.svg?url'),
   464              alt: 'Prometheus',
   465              linkUrl:
   466                'https://learn.hashicorp.com/tutorials/nomad/dynamic-application-sizing?in=nomad/nomad-1-0#start-prometheus',
   467            },
   468          ]}
   469        />
   470  
   471        <CallToAction
   472          variant="compact"
   473          heading="Ready to get started?"
   474          content="Nomad Open Source addresses the technical complexity of managing a mixed type of workloads in production at scale by providing a simple and flexible workload orchestrator across distributed infrastructure and clouds."
   475          brand="nomad"
   476          links={[
   477            {
   478              text: 'Explore HashiCorp Learn',
   479              type: 'outbound',
   480              url: 'https://learn.hashicorp.com/nomad',
   481            },
   482            {
   483              text: 'Explore Documentation',
   484              type: 'inbound',
   485              url: '/docs',
   486            },
   487          ]}
   488        />
   489      </div>
   490    )
   491  }