338 lines
20 KiB
HTML
338 lines
20 KiB
HTML
{{ define "hero" }}
|
||
{{ partial "hero" (dict "title" .Params.hero.title) }}
|
||
{{ end }}
|
||
|
||
{{ define "main" }}
|
||
{{ $pageContext := . }}
|
||
|
||
|
||
<section id="overview" class="my-16">
|
||
<div class="flex flex-wrap container mx-auto">
|
||
<div class="w-full order-last lg:mt-0 lg:order-first lg:w-1/2 px-5">
|
||
<h2>Universal Infrastructure as Code for AWS</h2>
|
||
<p class="mr-4">{{ .Params.hero.description | markdownify }}</p>
|
||
<div>
|
||
<div class="flex justify-start items-start mt-8">
|
||
<div class="flex flex-col lg:flex-row items-start">
|
||
<a class="btn-primary mr-4" href="/docs/clouds/aws/get-started/">Get Started</a>
|
||
<a class="btn-secondary" href="/resources#upcoming">Watch a Workshop</a>
|
||
</div>
|
||
<img class="w-32 mr-4" src="/images/partners/aws-devops-badge.png" alt="AWS Devops Badge" />
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="w-full order-first lg:order-last mt-8 lg:mt-0 lg:w-1/2 lg:mt-0">
|
||
<div class="rounded shadow-md" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
|
||
<iframe
|
||
src="//www.youtube.com/embed/M8PEXcFh_aQ?rel=0"
|
||
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;"
|
||
allowfullscreen=""
|
||
title="Pulumi + AWS: Universal Infrastructure as Code"
|
||
srcdoc="<style>*{padding:0;margin:0;overflow:hidden}html,body{height:100%}img{position:absolute;width:100%;top:0;bottom:0;margin:auto}</style><a href=https://www.youtube.com/embed/M8PEXcFh_aQ?autoplay=1><img src='/images/partners/kube-interview-thumbnail.jpg' alt='Pulumi + AWS: Universal Infrastructure as Code'></a>"
|
||
></iframe>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<div class="container mx-auto carousel-always-visible mb-24">
|
||
<section class="w-full text-center">
|
||
<div>
|
||
<div>
|
||
<div class="inline-block bg-blue-100 border-4 border-blue-200 rounded-full p-3" style="fill: #4387c7;">
|
||
{{ partial "superpower-icon.html" (dict "type" "architecture") }}
|
||
</div>
|
||
</div>
|
||
<h2>Build</h2>
|
||
</div>
|
||
<h4 class="w-10/12 mx-auto mt-0">Use familiar software practices and tools to build cloud infrastructure.</h4>
|
||
<p class="text-center w-full p-5 lg:w-1/2 lg:p-0 mx-auto">
|
||
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of familiar programming languages and
|
||
tools.
|
||
</p>
|
||
<div class="flex flex-col xl:flex-row xl:mt-12">
|
||
<div class="w-full p-5 xl:p-0 xl:w-1/2">
|
||
<div class="carousel-item opacity-1 transition-all-200 text-xs shadow-xl">
|
||
{{ partial "home/ide" . }}
|
||
</div>
|
||
</div>
|
||
|
||
<div class="w-full xl:w-1/2 text-left px-10">
|
||
<h5>IDE Autocomplete</h5>
|
||
<p>
|
||
With Pulumi, you can use your preferred IDE and productivity features like autocompletion so that you author infrastructure code faster and with more
|
||
accuracy.
|
||
</p>
|
||
|
||
<h5>Native Testing Frameworks</h5>
|
||
<p>
|
||
Use your favorite programming languages and popular testing frameworks to validate your infrastructure and applications through their entire lifecycle.
|
||
Pulumi can also mock cloud resources for you so that you can perform offline testing that’s faster and cheaper.
|
||
</p>
|
||
|
||
<h5>Sharing and Reuse</h5>
|
||
<p>
|
||
Sharing and reusing your infrastructure code is available right out of the box with <a href="/product/packages/">Pulumi Packages</a>. You
|
||
can use your preferred programming language's native package managers to share and distribute infrastructure code within your organization. Or, browse
|
||
publicly available packages in <a href="/registry/">Pulumi Registry</a>.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="w-full text-center mt-16">
|
||
<div>
|
||
<div>
|
||
<div class="inline-block bg-blue-100 border-4 border-blue-200 rounded-full p-3" style="fill: #4387c7;">
|
||
{{ partial "superpower-icon.html" (dict "type" "provisioning") }}
|
||
</div>
|
||
</div>
|
||
<h2>Deploy</h2>
|
||
</div>
|
||
<h4 class="w-10/12 mx-auto mt-0">Increase automation and collaboration to ship faster.</h4>
|
||
<p class="text-center w-full p-5 lg:w-1/2 lg:p-0 mx-auto">
|
||
Getting an application into production can be an overwhelming process. Pulumi empowers you and your team to work together to reduce obstacles and increase
|
||
collaboration across your entire software delivery pipeline.
|
||
</p>
|
||
<div class="flex flex-col xl:flex-row xl:mt-12">
|
||
<div class="w-full p-5 lg:p-0 xl:w-1/2">
|
||
<div class="carousel-item opacity-1 transition-all-200 text-xs shadow-xl">
|
||
{{ partial "home/cli" . }}
|
||
</div>
|
||
</div>
|
||
|
||
<div class="w-full xl:w-1/2 text-left px-10 flex flex-col justify-center">
|
||
<h5>Full Coverage of AWS</h5>
|
||
<p>
|
||
You can deploy the entire breadth of AWS services with Pulumi’s AWS Classic Provider and Native Provider SDKs. The newly released AWS Native Provider
|
||
(Preview) uses the AWS Cloud Control API to provide direct integration with AWS resource models and same-day updates for newly released AWS features.
|
||
</p>
|
||
|
||
<h5>Architect for self-service</h5>
|
||
<p>
|
||
Pulumi's unique approach to <a href="/what-is/what-is-infrastructure-as-code/">Infrastructure as Code</a>
|
||
allows you to build self-service infrastructure platforms. You can abstract away complexity for your teammates, allowing folks to focus on what's important.
|
||
</p>
|
||
|
||
<h5>Continuous delivery for infrastructure</h5>
|
||
<p>
|
||
Pulumi gives you the power to continuously test and deliver your cloud infrastructure by
|
||
<a href="/docs/using-pulumi/continuous-delivery/">integrating</a> with your favorite CI/CD platforms. By automating your testing and
|
||
delivery you can focus more on delivering value to your customers.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="w-full text-center mt-16">
|
||
<div>
|
||
<div>
|
||
<div class="inline-block bg-blue-100 border-4 border-blue-200 rounded-full p-3" style="fill: #4387c7;">
|
||
{{ partial "superpower-icon.html" (dict "type" "testing") }}
|
||
</div>
|
||
</div>
|
||
<h2>Manage</h2>
|
||
</div>
|
||
<h4 class="w-10/12 mx-auto mt-0">Gain full auditability and visibility into all your environments to tame complexity and put security first.</h4>
|
||
<p class="text-center w-full p-5 lg:w-1/2 lg:p-0 mx-auto">
|
||
Manage cloud infrastructure with dashboards that provide visibility into your infrastructure and any changes,
|
||
<a href="/docs/pulumi-cloud/organizations#organization-roles">role-based access controls</a>, and
|
||
<a href="/docs/using-pulumi/crossguard/">Policy as Code</a> enforcement across your organization.
|
||
</p>
|
||
<div class="flex flex-col xl:flex-row xl:mt-12">
|
||
<div class="w-full p-5 lg:p-0 xl:w-1/2">
|
||
<div class="carousel-item opacity-1 transition-all-200 text-xs shadow-xl">
|
||
<img src="/images/home/pulumi-console.svg" alt="Pulumi Service" />
|
||
</div>
|
||
</div>
|
||
|
||
<div class="w-full xl:w-1/2 text-left px-10">
|
||
<h5>Secrets management made easy</h5>
|
||
<p>
|
||
Pulumi provides you with any easy way to ensure secrets are kept safe during the entire software development lifecycle. You can have Pulumi manage your
|
||
<a href="/docs/concepts/secrets/">secrets</a> for you or bring your own secrets management provider.
|
||
</p>
|
||
|
||
<h5>Keep your workflows secure</h5>
|
||
<p>
|
||
Enable <a href="/docs/using-pulumi/crossguard/">Policy as Code</a> within your organization so that you can define guardrails for your
|
||
infrastructure, ensuring engineers are following best practices and putting security first. This helps you prevent mistakes before they occur and respond
|
||
rapidly to any incidents.
|
||
</p>
|
||
|
||
<h5>Clear visibility across AWS resources</h5>
|
||
<p>
|
||
The Pulumi Service gives you full visibility into your cloud infrastructure’s current and past states. See every resource running in each stack with deep
|
||
links to the AWS Console, actions performed by team members, Git-like diffs for infrastructure changes, and much more.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
|
||
<!-- Customer logos -->
|
||
<section class="my-16 px-4">
|
||
<h3 class="mt-12 mb-8 text-center">Trusted by top engineering teams</h3>
|
||
<div class="container mx-auto">
|
||
<div class="lg:flex items-center justify-center my-4">
|
||
<a data-track="customer-logo" href="https://www.snowflake.com/" target="_blank" rel="noreferrer noopener">
|
||
<img class="mx-auto my-8 md:my-0 lg:mx-8 h-12 mx-8" src="/logos/customers/snowflake-logo.svg" alt="Snowflake" title="Snowflake" />
|
||
</a>
|
||
<a data-track="customer-logo" href="https://www.tableau.com/" target="_blank" rel="noreferrer noopener">
|
||
<img class="mx-auto my-8 md:my-0 lg:mx-8 h-12 mx-8" src="/logos/customers/tableau_logo.png" alt="Tableau Software" title="Tableau Software" />
|
||
</a>
|
||
<a data-track="customer-logo" href="https://www.mbusa.com/" target="_blank" rel="noreferrer noopener">
|
||
<img
|
||
class="mx-auto my-8 lg:my-2 lg:mx-8 h-12 mx-8"
|
||
src="/logos/customers/mercedes-benz-RDNA_logo.png"
|
||
title="Mercedes-Benz Research and Development"
|
||
alt="Mercedes-Benz Research and Development"
|
||
/>
|
||
</a>
|
||
<a data-track="customer-logo" href="https://www.mindbodyonline.com/" target="_blank" rel="noreferrer noopener">
|
||
<img class="mx-auto my-8 lg:my-2 lg:mx-8 h-6 mx-8" src="/logos/customers/mindbody_logo.svg" alt="MindBody" title="MindBody" />
|
||
</a>
|
||
<a data-track="customer-logo" href="https://www.nih.gov/" target="_blank" rel="noreferrer noopener">
|
||
<img class="mx-auto my-8 lg:my-2 lg:mx-8 h-10 mx-8" src="/logos/customers/nih.png" alt="National Institutes of Health" title="National Institutes of Health" />
|
||
</a>
|
||
</div>
|
||
</div>
|
||
<p class="text-blue-500 text-center font-bold mt-10">
|
||
<a class="link" data-track="logos-case-study" href="/case-studies/">Read our customer use cases</a> →
|
||
</p>
|
||
</section>
|
||
|
||
<!-- Automation API -->
|
||
<section id="automation-api" class="container mx-auto mb-12 px-8 lg:px-0">
|
||
<div class="flex flex-col lg:flex-row">
|
||
<div class="w-full lg:w-5/12 px-8">
|
||
<h3>Programmatic Infrastructure as Code</h3>
|
||
<p>
|
||
Pulumi <a href="/automation/">Automation API</a> exposes the full power of infrastructure as code through a programmatic interface, instead of
|
||
through CLI commands. Automation API lets you use the Pulumi engine as an SDK, enabling you to create software that can create, update, configure, and destroy
|
||
infrastructure dynamically. This enables you to build custom cloud interfaces that are tailored to your team, organization, or customers.
|
||
</p>
|
||
{{ partial "sparkle-arrow-cta" (dict "url" "/blog/automation-api" "text" "Learn More About Automation API" "textColor" "grey" "textAlign" "left") }}
|
||
</div>
|
||
|
||
<div class="w-full mt-8 lg:mt-0 lg:w-7/12">
|
||
<img class="shadow-xl rounded" src="https://www.pulumi.com/uploads/content/blog/automation-api/http.gif" alt="Pulumi over HTTP" />
|
||
<!-- {{ partial "code" (dict "code" .Params.automation_api_code "lang" "js" "mode" "dark" "chrome" true) }} -->
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- AWSX -->
|
||
<section id="awsx" class="container mx-auto mt-32 mb-12 px-8 lg:px-0">
|
||
<div class="flex flex-col lg:flex-row">
|
||
<div class="w-full order-last mt-8 lg:mt-0 lg:order-first lg:w-1/2">
|
||
<pulumi-chooser type="language" options="typescript,python,go,csharp,java,yaml">
|
||
<pulumi-choosable type="language" class="highlight" value="typescript">
|
||
{{ partial "code" (dict "code" .Params.awsx.ts "lang" "ts") }}
|
||
</pulumi-choosable>
|
||
|
||
<pulumi-choosable type="language" class="highlight" value="python">
|
||
{{ partial "code" (dict "code" .Params.awsx.py "lang" "go") }}
|
||
</pulumi-choosable>
|
||
|
||
<pulumi-choosable type="language" class="highlight" value="go">
|
||
{{ partial "code" (dict "code" .Params.awsx.go "lang" "go") }}
|
||
</pulumi-choosable>
|
||
|
||
<pulumi-choosable type="language" class="highlight" value="csharp">
|
||
{{ partial "code" (dict "code" .Params.awsx.csharp "lang" "csharp") }}
|
||
</pulumi-choosable>
|
||
|
||
<pulumi-choosable type="language" class="highlight" value="java">
|
||
{{ partial "code" (dict "code" .Params.awsx.java "lang" "java") }}
|
||
</pulumi-choosable>
|
||
|
||
<pulumi-choosable type="language" class="highlight" value="yaml">
|
||
{{ partial "code" (dict "code" .Params.awsx.yaml "lang" "yaml") }}
|
||
</pulumi-choosable>
|
||
</pulumi-chooser>
|
||
</div>
|
||
|
||
<div class="w-full order-first lg:order-last lg:w-1/2 px-8">
|
||
<h3>Use Well-Architected Practices</h3>
|
||
<p class="mt-0">
|
||
Pulumi Crosswalk for AWS is a collection of libraries that use automatic well-architected best practices to make common infrastructure-as-code tasks in AWS
|
||
easier and more secure. Secure and cost-conscious defaults are chosen so that simple programs automatically use best practices for the underlying
|
||
infrastructure, enabling better productivity with confidence.
|
||
</p>
|
||
|
||
<h5>Deploy CDK Constructs with Pulumi</h5>
|
||
<p>
|
||
You can deploy any AWS CDK construct from within a Pulumi deployment. If you're already using AWS CDK, you can now use Pulumi to orchestrate deployments instead
|
||
of CloudFormation. This gives you [improved deployment speed](/case-studies/panther-labs/#proving-pulumis-advantages/) and integration with all features of
|
||
Pulumi (like [Policy as Code](/docs/using-pulumi/crossguard/), [Audit Logs](/docs/pulumi-cloud/audit-logs/), Secrets, and much more).
|
||
</p>
|
||
|
||
<h5>Application and Infrastructure Together</h5>
|
||
<p>
|
||
Crosswalk enables you to blur the lines between application and infrastructure code enabling you to author an entire full-stack application in one program. With
|
||
support for inline Lambda functions and ease-of-use helper functions, building robust applications on AWS has never been easier.
|
||
</p>
|
||
{{ partial "sparkle-arrow-cta" (dict "url" "/docs/clouds/aws/guides/" "text" "Learn More About Crosswalk" "textColor" "grey" "textAlign" "left") }}
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- Start AWS re:Invent takeover content -->
|
||
<section id="workshops" class="container mx-auto text-center mb-12 mt-24">
|
||
<h2 class="mb-16">Watch a workshop</h2>
|
||
<ul class="flex flex-col px-0 lg:flex-row list-none text-left items-center">
|
||
{{ $webinars := (where $.Site.Pages "Type" "webinars") }}
|
||
|
||
{{ $reInventWorkshops := slice }}
|
||
{{ range $webinars }}
|
||
{{ if eq .Params.title "Building a Kubernetes Platform in Amazon EKS with Pulumi" }}
|
||
{{ $reInventWorkshops = $reInventWorkshops | append . }}
|
||
{{ else if eq .Params.title "Deploying Microservices with Pulumi and AWS Lambda" }}
|
||
{{ $reInventWorkshops = $reInventWorkshops | append . }}
|
||
{{ else if eq .Params.url_slug "introduction-to-pulumi" }}
|
||
{{ $reInventWorkshops = $reInventWorkshops | append . }}
|
||
{{ end }}
|
||
{{ end }}
|
||
|
||
{{ range $reInventWorkshops }}
|
||
{{ $link := printf "/resources/%s" .Params.url_slug }}
|
||
|
||
{{ $displayDate := "" }}
|
||
{{ if .Params.multiple }}
|
||
{{ $displayDate = dateFormat "January 2, 2006" (index (.Params.multiple) 0).datetime }}
|
||
{{ else }}
|
||
{{ $displayDate = dateFormat "January 2, 2006" .Params.main.sortable_date }}
|
||
{{ end }}
|
||
|
||
{{ $tileOptions := (dict "pageContext" $pageContext "external" false "filters" "" "link" $link "icon" "users" "description" .Params.meta_desc "displayDate" $displayDate "data" . ) }}
|
||
{{ partial "content-tile.html" $tileOptions }}
|
||
{{ end }}
|
||
</ul>
|
||
</section>
|
||
|
||
<section id="get-started" class="container mx-auto my-32">
|
||
<h2 class="text-center">Get Started</h2>
|
||
|
||
<div class="flex">
|
||
<div class="w-1/2 p-8">
|
||
<div class="shadow-2xl bg-violet-600 px-16 pt-4 pb-12 rounded">
|
||
<h4 class="text-white">Get started now</h4>
|
||
<p class="mb-16 text-white">Deploy your first app in just five minutes. Follow our tutorials for AWS, Azure, Google Cloud, Kubernetes, and more.</p>
|
||
<a href="/docs/clouds/aws/get-started/" class="btn-secondary">Get Started</a>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="w-1/2 p-8">
|
||
<div class="shadow-2xl px-16 pt-4 pb-12 rounded">
|
||
<h4>Migrating from other tools</h4>
|
||
<p class="mb-12">Transition to Pulumi with converter tools for Terraform, AWS CloudFormation, Azure Resource Manager, and Kubernetes.</p>
|
||
<a href="/docs/using-pulumi/adopting-pulumi/" class="btn-secondary">Explore Convertor Tools</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
{{ partial "hand-raise-section" . }}
|
||
{{ end }}
|