2023-03-09 10:30:02 -08:00
{{ define "main" }}
{{ $pageContext := . }}
< div class = "banner-image-confirmation flex justify-center items-center" >
< div class = "text-center py-8" >
2023-06-13 15:49:18 -07:00
< img src = "/images/pulumiup-2023/logo.svg" alt = "Pulumi UP, virtual, free" class = "mx-auto h-40" / >
< h3 class = "yellow-header-text" > June 15, 2023< / h3 >
< h4 > Thank you for registering< / h4 >
2023-03-09 10:30:02 -08:00
< / div >
< / div >
< section id = "templates" class = "container mx-auto my-16 text-center" >
< div class = " text-center mx-auto my-8" >
< h3 > Pulumi Templates for Common Use Cases< / h3 >
< p >
Pulumi templates are the fastest way to deploy infrastructure. Templates come with predefined infrastructure as code so you can get started instantly. Find some of
our templates below, and Happy Templating!
< / p >
< / div >
< div class = "container mx-auto" >
< div class = "flex flex-wrap items-stretch justify-center" >
{{ range $item := .Params.templates.items }}
< div class = "lg:w-1/3 md:w-1/2 w-full my-4" >
< div class = "card h-full relative bg-white pb-8 mx-4" >
< img class = "rounded h-40 mx-auto" src = "{{ $item.image }}" / >
< div class = "px-6 py-4" >
< h5 class = "mt-4" > {{ $item.heading }}< / h5 >
< p > {{ $item.description }}< / p >
< div class = "mt-8" >
< a href = "{{ $item.link }}" target = "_blank" style = "font-size: 0.9rem" class = "btn-secondary" > {{ $item.action }}< / a >
< / div >
< / div >
< / div >
< / div >
{{ end }}
< / div >
< / div >
< / section >
2023-06-08 17:10:58 -07:00
< section id = "workshops" style = "background: linear-gradient(180deg, #7BDEFF 0%, #DBF4E4 100%);" >
2023-03-09 10:30:02 -08:00
< div class = "container mx-auto py-16" >
< h2 class = "px-4 pb-8" > Workshops< / h2 >
< div class = "flex flex-wrap justify-center items-stretch" >
{{ range .Params.workshops }}
< div class = "w-full lg:w-1/2 p-3" >
< div class = "card bg-white p-6 text-black h-full" >
< h5 > {{ .title }}< / h5 >
< span class = "my-0 py-1 inline-block mr-3 text-gray-600" >
< i class = "fas fa-calendar mr-2" > < / i >
{{ .date }}
< / span >
< p > {{ .description }}< / p >
< div class = "my-8" >
< a href = "{{ .url }}" class = "btn-secondary" >
< span class = "text-violet-600" > Register Now → < / span >
< / a >
< / div >
< / div >
< / div >
{{ end }}
< / div >
< / div >
< / section >
< section id = "automation-features" class = "relative mt-12" >
< div class = "container mx-auto mb-16" >
< h2 class = "my-12 text-center" > Use Cases< / h2 >
< div class = "automation-scenarios-carousel-items" >
< span id = "self-service" class = "hidden" > < / span >
< span id = "saas" class = "hidden" > < / span >
< span id = "workflow" class = "hidden" > < / span >
< span id = "tooling" class = "hidden" > < / span >
< ul id = "automation-scenarios-carousel-headers" class = "automation-scenarios-carousel-headers" >
< li class = "" data-product-carousel-type = "self-service" >
< h6 class = "my-0 text-black" > < a href = "#self-service" class = "text-black" > Self-service infrastructure< / a > < / h6 >
< / li >
< li class = "" data-product-carousel-type = "saas" >
< h6 class = "my-0" > < a href = "#saas" class = "text-gray-500" > Single-tenant SaaS instances< / a > < / h6 >
< / li >
< li class = "" data-product-carousel-type = "workflow" >
< h6 class = "my-0" > < a href = "#workflow" class = "text-gray-500" > Workflow Orchestration< / a > < / h6 >
< / li >
< li class = "" data-product-carousel-type = "tooling" >
< h6 class = "my-0" > < a href = "#tooling" class = "text-gray-500" > Custom Infrastructure Tooling< / a > < / h6 >
< / li >
< / ul >
< ul class = "automation-scenarios-carousel-items-list" >
< li class = "w-full pb-3" data-product-carousel-type = "self-service" >
< h3 class = "lg:hidden text-center" > Self-service infrastructure< / h3 >
< div class = "flex flex-wrap" >
< div class = "w-full lg:w-2/3 py-3 px-6" >
< div class = "card p-6 bg-white" >
< h5 > Overview< / h5 >
< p >
Build developer portals and self-serve platforms that make it easier for your development teams to use cloud infrastructure. Infrastructure
and security teams can scale their best practices by creating declarative infrastructure and exposing it behind a REST, gRPC, or Custom
Resource API that developers and operators can easily consume, without needing to understand every underlying resource.
< / p >
< h5 > Examples< / h5 >
< div >
< p class = "font-bold" > Pulumipus’ Self-Service Web App Platform< / p >
< p >
This is a self-service interface for creating customized static sites, databases, virtual machines, and more. The code is open source
and available on
< a href = "https://github.com/komalali/self-service-platyform" target = "_blank" rel = "noreferrer noopener" class = "link" > GitHub< / a > .
< / p >
< / div >
< div >
< p class = "font-bold" > Python IaC in your Jupyter notebook< / p >
< p >
Use Pulumi’ s Python SDK with Automation API to create infrastructure interactively from a Jupyter notebook. Examples are available on
< a
href="https://github.com/pulumi/automation-api-examples/tree/main/python/pulumi_via_jupyter"
target="_blank"
rel="noreferrer noopener"
class="link"
>
GitHub< /a
>.
< / p >
< / div >
< / div >
< / div >
< div class = "w-full lg:w-1/3 lg:order-first py-3 px-6 lg:p-3" >
< div class = "card p-3 pb-8 relative bg-white" >
< div class = "w-2/3 mx-auto my-2 px-6" >
< a href = "{{ relref . " / case-studies / sans-institute " } } " class = "link" >
{{ partial "customer-logo.html" (dict "logo" "sans") }}
< / a >
< / div >
< p >
SANS Institute provides cybersecurity training and certification. It used Pulumi Automation API to build a self-service platform that
enables instructors to provision virtual learning environments using an automated process.
< / p >
< div class = "card-cta-btn text-center" >
< a href = "{{ relref . " / case-studies / sans-institute " } } " class = "btn-secondary" > Learn More< / a >
< / div >
< / div >
< / div >
< / div >
< / li >
< li class = "w-full pb-3 lg:hidden" data-product-carousel-type = "saas" >
< h3 class = "lg:hidden text-center mt-16" > Single-tenant SaaS instances< / h3 >
< div class = "flex flex-wrap" >
< div class = "w-full lg:w-2/3 py-3 px-6" >
< div class = "card p-6 bg-white" >
< h5 > Overview< / h5 >
< p >
Simplify the management of multi-instance SaaS architectures where you need single-tenant infrastructure for each customer. You can create
declarative infrastructure defined by your best practices and expose it behind a REST, gRPC, or Custom Resource API that can be consumed by
your applications.
< / p >
< h5 > Examples< / h5 >
< div >
< p class = "font-bold" > Infrastructure as RESTful resources< / p >
< p >
This example demonstrates how to run Automation API in an HTTP server to expose infrastructure as RESTful resources. The code is
available on GitHub in
< a
href="https://github.com/pulumi/automation-api-examples/blob/main/go/pulumi_over_http"
target="_blank"
rel="noreferrer noopener"
class="link"
>Go< /a
>,
< a
href="https://github.com/pulumi/automation-api-examples/blob/main/nodejs/pulumiOverHttp-ts"
target="_blank"
rel="noreferrer noopener"
class="link"
>Node.js< /a
>, and
< a
href="https://github.com/pulumi/automation-api-examples/blob/main/python/pulumi_over_http"
target="_blank"
rel="noreferrer noopener"
class="link"
>Python< /a
>.
< / p >
< / div >
< / div >
< / div >
< div class = "w-full lg:w-1/3 lg:order-first py-3 px-6 lg:p-3" >
< div class = "card p-3 pb-8 relative bg-white" >
< div class = "w-2/3 mx-auto my-2 px-6" >
{{ partial "customer-logo.html" (dict "logo" "cockroach-labs") }}
< / div >
< p >
Cockroach Labs provides the CockroachDB database-as-a-service. It uses Pulumi Automation API to manage Kubernetes clusters behind the scenes
on behalf of their customers.
< / p >
< / div >
< / div >
< / div >
< / li >
< li class = "w-full pb-3 lg:hidden" data-product-carousel-type = "workflow" >
< h3 class = "lg:hidden text-center mt-16" > Infrastructure Workflow Orchestration< / h3 >
< div class = "flex flex-wrap" >
< div class = "w-full lg:w-2/3 py-3 px-6" >
< div class = "card p-6 bg-white" >
< h5 > Overview< / h5 >
< p >
Manage complicated infrastructure tasks like database migrations, microservice deployments, schema migrations, and more. Distributed systems
and microservices incur a significant coordination burden, and dependencies across API boundaries are difficult to track and maintain. With
the Automation API, you can use a strongly typed, familiar programming environment to orchestrate multi-stack deployments, codify
dependencies, and enable safe incremental deployment.
< / p >
< h5 > Examples< / h5 >
< div >
< p class = "font-bold" > Database Migration< / p >
< p >
This example provisions an AWS Aurora SQL database and executes a database "migration" using the resulting connection info. The code is
available on GitHub in
< a
href="https://github.com/pulumi/automation-api-examples/blob/main/go/database_migration"
target="_blank"
rel="noreferrer noopener"
class="link"
>Go< /a
>,
< a
href="https://github.com/pulumi/automation-api-examples/blob/main/nodejs/databaseMigration-ts"
target="_blank"
rel="noreferrer noopener"
class="link"
>Node.js< /a
>,
< a
href="https://github.com/pulumi/automation-api-examples/blob/main/python/database_migration"
target="_blank"
rel="noreferrer noopener"
class="link"
>Python< /a
>, and
< a
href="https://github.com/pulumi/automation-api-examples/blob/main/dotnet/DatabaseMigration"
target="_blank"
rel="noreferrer noopener"
class="link"
>.NET< /a
>.
< / p >
< / div >
< div >
< p class = "font-bold" > Multi-Stack Orchestration< / p >
< p >
This example shows how to use Automation API to tame the complexity of multiple stacks with dependent stack outputs. The code is
available on
< a
href="https://github.com/pulumi/automation-api-examples/blob/main/go/multi_stack_orchestration"
target="_blank"
rel="noreferrer noopener"
class="link"
>GitHub< /a
>.
< / p >
< / div >
< / div >
< / div >
< div class = "w-full lg:order-first lg:w-1/3 py-3 px-6 lg:p-3" >
< div class = "card p-3 pb-8 relative bg-white" >
< div class = "w-2/3 mx-auto my-2 px-6" >
< a href = "{{ relref . " / case-studies / lemonade " } } " class = "link" >
{{ partial "customer-logo.html" (dict "logo" "lemonade") }}
< / a >
< / div >
< p >
The Automation API allowed Lemonade further automate its deployment process. For example: customizing runners for multi-step provisioning,
automating recovery for well-known errors like fixing state for interrupted jobs and managing approvals for sensitive operations like
deleting old resources.
< / p >
< div class = "card-cta-btn text-center" >
< a href = "{{ relref . " / case-studies / lemonade " } } " class = "btn-secondary" > Learn More< / a >
< / div >
< / div >
< / div >
< / div >
< / li >
< li class = "w-full pb-3 lg:hidden" data-product-carousel-type = "tooling" >
< h3 class = "lg:hidden text-center mt-16" > Custom Infrastructure Tooling< / h3 >
< div class = "flex flex-wrap" >
< div class = "w-full lg:w-2/3 py-3 px-6" >
< div class = "card p-6 bg-white" >
< h5 > Overview< / h5 >
< p >
Build user-friendly infrastructure tooling such as CLIs, higher-level frameworks, CI/CD workflows, and even desktop apps. Infrastructure
teams can use Automation API to build self-service tools for building, deploying, and managing infrastructure and offer the right levels of
complexity and customization for the tool’ s target audience.
< / p >
< h5 > Examples< / h5 >
< div >
< p class = "font-bold" > Ploy, a CLI in Go< / p >
< p >
Ploy is a Heroku-like interface for deploying Docker images to a Kubernetes cluster. Ploy combines Pulumi with a Go CLI using Promptui.
It is
< a href = "https://github.com/jaxxstorm/ploy" target = "_blank" rel = "noreferrer noopener" class = "link" > open source on GitHub< / a > .
< / p >
< / div >
< div >
< p class = "font-bold" > Pulumi GitHub Action for CI/CD< / p >
< p >
Pulumi’ s GitHub Action is powered by Automation API and it gives you complete control over Pulumi in your CI/CD workflows.
< a class = "link" href = "{{ relref . " / blog / supercharging-our-github-action-with-the-pulumi-automation-api " } } "
>Learn how it was created< /a
>
or see the
< a href = "https://github.com/pulumi/actions" target = "_blank" rel = "noreferrer noopener" class = "link" > code on GitHub< / a > .
< / p >
< / div >
< / div >
< / div >
< div class = "w-full lg:w-1/3 lg:order-first py-3 px-6 lg:p-3" >
< div class = "card p-3 pb-8 relative bg-white" >
< div class = "w-2/3 mx-auto my-2 px-6" >
< a href = "{{ relref . " / case-studies / mercedes-benz " } } " class = "link" >
{{ partial "customer-logo.html" (dict "logo" "mercedes-benz") }}
< / a >
< / div >
< p >
Automation API powers custom infrastructure platforms for organizations like Mercedes-Benz Research & Development North America. These
platforms empower their teams to stand up the cloud infrastructure that they need and when they need it.
< / p >
< div class = "card-cta-btn text-center" >
< a href = "{{ relref . " / case-studies / mercedes-benz " } } " class = "btn-secondary" > Learn More< / a >
< / div >
< / div >
< / div >
< / div >
< / li >
< / ul >
< / div >
< / div >
< / section >
{{ partial "virtual-communities" . }}
{{ partial "help-links" . }}
{{ end }}