| title | Welcome! |
|---|---|
| weight | 1 |
Welcome to Tech Squawks, a website for learning cloud computing technologies and design patterns. This website is a work in progress, so check back frequently for new tutorials and updates!
The aim of this website is to present cloud-computing concepts using small, self-contained code examples. To achieve this, infrastructure and services are managed with Pulumi, which allows cloud resources to be defined using programming languages such as Typescript, Javascript, Python, and Go.
For instance, the below example demonstrates developing and deploying a serverless AWS app in multiple languages. The {{% button icon="rocket" %}}Deploy{{% /button %}} button will create the initial empty stack in the user's Pulumi account and provide instructions for provisioning the project.
{{< tabs groupId="code" >}} {{< tab name="Typescript" >}} {{< tabs >}} {{% tab name="Provision" %}}
pulumi up -y
{{% /tab %}} {{% tab name="Teardown" %}}
pulumi destroy -y
{{% /tab %}} {{< /tabs >}} {{< tabs >}} {{% tab name="index.ts" %}}
{{% include file="assets\homepage\ts\index.ts" %}}{{% /tab %}} {{< /tabs >}} {{% button href="https://app.pulumi.com/new?template=https://github.com/MichaelStott/tech-squawks/tree/main/code/homepage/ts" icon="rocket" %}}Deploy{{% /button %}} {{% button href="https://github.com/MichaelStott/tech-squawks/tree/main/code/homepage/ts" icon="code" %}}Repository{{% /button %}} {{% button href="https://github.com/MichaelStott/tech-squawks/issues/new/choose" icon="bug" %}}Report Issue{{% /button %}} {{< /tab >}} {{< tab name="Javascript" >}} {{< tabs >}} {{% tab name="Provision" %}}
pulumi up -y
{{% /tab %}} {{% tab name="Teardown" %}}
pulumi destroy -y
{{% /tab %}} {{< /tabs >}} {{< tabs >}} {{% tab name="index.js" %}}
{{% include file="assets\homepage\js\index.js" %}}{{% /tab %}} {{< /tabs >}} {{% button href="https://app.pulumi.com/new?template=https://github.com/MichaelStott/tech-squawks/tree/main/code/homepage/js" icon="rocket" %}}Deploy{{% /button %}} {{% button href="https://github.com/MichaelStott/tech-squawks/tree/main/code/homepage/js" icon="code" %}}Repository{{% /button %}} {{% button href="https://github.com/MichaelStott/tech-squawks/issues/new/choose" icon="bug" %}}Report Issue{{% /button %}} {{< /tab >}} {{< tab name="Python" >}} {{< tabs >}} {{% tab name="Provision" %}}
pulumi up -y
{{% /tab %}} {{% tab name="Teardown" %}}
pulumi destroy -y
{{% /tab %}} {{< /tabs >}} {{< tabs >}} {{% tab name="main.py" %}}
{{% include file="assets\homepage\py\__main__.py" %}}{{% /tab %}} {{% tab name="lambda.py" %}}
{{% include file="assets\homepage\py\lambda.py" %}}{{% /tab %}} {{% tab name="lambda_util.py" %}}
{{% include file="assets\homepage\py\lambda_util.py" %}}{{% /tab %}} {{< /tabs >}} {{% button href="https://app.pulumi.com/new?template=https://github.com/MichaelStott/tech-squawks/tree/main/code/homepage/py" icon="rocket" %}}Deploy{{% /button %}} {{% button href="https://github.com/MichaelStott/tech-squawks/tree/main/code/homepage/py" icon="code" %}}Repository{{% /button %}} {{% button href="https://github.com/MichaelStott/tech-squawks/issues/new/choose" icon="bug" %}}Report Issue{{% /button %}} {{< /tab >}} {{< tab name="Go" >}} {{< tabs >}} {{% tab name="Provision" %}}
pulumi up -y
{{% /tab %}} {{% tab name="Teardown" %}}
pulumi destroy -y
{{% /tab %}} {{< /tabs >}} {{< tabs >}} {{% tab name="main.go" %}}
{{% include file="assets\homepage\go\main.go" %}}{{% /tab %}} {{% tab name="handler.go" %}}
{{% include file="assets\homepage\go\handler\handler.go" %}}{{% /tab %}} {{% tab name="lambda_util.go" %}}
{{% include file="assets\homepage\go\lambda_util.go" %}}{{% /tab %}} {{< /tabs >}} {{% button href="https://app.pulumi.com/new?template=https://github.com/MichaelStott/tech-squawks/tree/main/code/homepage/go" icon="rocket" %}}Deploy{{% /button %}} {{% button href="https://github.com/MichaelStott/tech-squawks/tree/main/code/homepage/go" icon="code" %}}Repository{{% /button %}} {{% button href="https://github.com/MichaelStott/tech-squawks/issues/new/choose" icon="bug" %}}Report Issue{{% /button %}} {{< /tab >}} {{< /tabs >}} Stack Outputs
Outputs:
invoke_arn: "ServerlessExample-93b31c3"
url : "https://pu00gu5pmg.execute-api.us-east-1.amazonaws.com"
The exported URL will display the following image in your web browser:
In an effort to make these tutorials accessible to those without cloud access and minimize costs, examples are designed to support local execution, using technologies such as LocalStack, Cloud Code, Kind, etc., whenever possible.
While any specific certification preparation is beyond the scope of this website, flashcards are included at the end of each section for additional study and review.
Before continuing, readers should be:
- Experienced with Typescript, Javascript, Python, or Go
- Comfortable with shell/bash scripting
- Familiar with basic computer networking concepts
For setting up your development environment, see the [Getting Started]({{< ref "getting_started" >}}) section.
