HashiCorp’s Early Career Program: A Year in Review

HashiCorp’s Early Career Program: A Year in Review

HashiCorp’s first cohort of 29 student interns recently completed their 12-week virtual internships — and many have already accepted full-time positions at the company. In fact, the first iteration of HashiCorp’s Early Career program was so successful that we’re planning to significantly expand it for 2022.

The interns joined us in May 2021 from all over the US and Canada to support organizations across the company, from software engineering and customer success to design and marketing. Under the guidance of expert project leaders and peer mentors, the diverse group of interns took on public-facing projects and many had the opportunity to participate in product-certification programs to add to their portfolios.

HashiCorp

HashiCorp 2021 interns Emily Wong, Carlos Esteban, Milena Zlaticanin, and Rajas Nathak.

“From the start, I had the opportunity to work on real problems and implement features that our customers use daily.” — Milena Zlaticanin, Software Engineering Intern, from Northern Illinois University

“Given the flexibility of the role, I was able to explore the company’s various functions. From learning the marketing strategies to sitting in on sales calls and learning more about our sales workflow. I found it interesting to see how all the business components came together to drive the company forward.” — Rajas Nathak, Solutions Engineering Intern, from Texas Christian University

»Interns Helped Solve Real-World Issues

In tandem with helping to solve real-life infrastructure and security challenges, work on finance projects, address compensation issues, and participate in sales-development activities, the interns also had the chance to develop soft skills and learn more about business communications and professionalism, diversity and inclusion initiatives, and job-interviewing techniques. We provided weekly opportunities to keep the cohort connected even in a virtual environment.

“There were many fun events such as 1:1 coffee chats, Q&A sessions with our co-founders, intern game nights, and many more. Although HashiCorp is a remote company, I felt connected with my colleagues.” — Yongqi Kuang, Design Intern, from UC Davis

“Working at HashiCorp was such a memorable experience! The Early Career Program connected all the interns virtually through fun events, and I learned so much from my team!” — Emily Wong, Compensation Intern, from UC Santa Barbara

“I gained a deep appreciation for the sense of community at HashiCorp. Despite my teammates living hundreds of miles away, I always felt connected to them. I truly appreciated the culture of transparency and kindness I found around every corner.” — Joshua Lin, Customer Success Support Engineer Intern, from Bowdoin College

»From Intern to Full-Time Employee

We are so pleased with the results of our first cohort of interns, and are proud to report that approximately two-thirds of our initial intern cohort have accepted offers to join us full time after graduation.

“I’ll forever be grateful for HashiCorp seeing something in me and giving me the opportunity to learn!” — Carlos Esteban, Solutions Engineering Intern, from Southwestern University

“Although I was part of the company’s first internship team, the internship experience was truly one of a kind. I’m incredibly excited to be officially joining the team next year, and I’m looking forward to growing with the company.” — Yaseen Abdel-Rahman, Solutions Engineering Intern, from University of Texas, Dallas

»Join Us Next Year

As Summer 2021 fades in the rearview mirror, we’re already turning our attention to the next HashiCorp Early Career cohort,slated for Summer 2022. We plan to double the size of the program, with the goal of hiring more than 60 interns. The program will run for 12 weeks from May – September 2022 (dates are flexible with your school schedule). If you are a current junior expecting to graduate between December – June 2023, please read on to learn more about how to apply.

»Tips for Applying to the HashiCorp Early Career Program

You may be a good fit for our team if you are currently pursuing a Bachelor’s degree or equivalent training in the United States and plan to return to school following the completion of the Early Career program. In addition to role-specific requirements, we look for candidates with a problem-solver mentality with a focus on customer service and the ability to work collaboratively to understand priorities and business needs. We look forward to receiving your application.


Source: HashiCorp Blog

Announcing HashiCorp Waypoint 0.6

Announcing HashiCorp Waypoint 0.6

We are pleased to announce the general availability of HashiCorp Waypoint 0.6. Waypoint is an application deployment tool that aims to deliver a PaaS-like experience for Kubernetes, ECS, and other platforms. Kubernetes is one of the world’s most popular deployment platforms, but there’s still too much work to go from an empty Kubernetes cluster to production-ready application deployments.

In this release, we’ve shipped a Helm-based installation method to install Waypoint with familiar tools in a couple of commands. We now support Helm as an application deployment option to make adopting Waypoint easier in existing environments.

For our YAML-free deployment options, we now support horizontal pod auto-scaling, sidecars, and Kubernetes Ingress. The result of all this work is that whether you’re writing a new application or optimizing an existing one, you can get up and running with Waypoint quickly, and it feels great on Kubernetes.

Here are some of the significant features in this release:

  • Helm-based server install: The Waypoint server can now be installed into Kubernetes clusters using an official Helm chart. Installations on other platforms remain unchanged.
  • Docker builds in Kubernetes: Waypoint can now build Docker images directly in Kubernetes pods, enabling a secure, self-hosted remote Docker build environment.
  • Helm-based application deployment: You can now deploy your applications from Helm charts. If you already use Helm, this lets you adopt Waypoint with almost no additional work.
  • Kubernetes resources in the UI: The Kubernetes resources created for a deployment (by Waypoint, Helm, or any other plugin) are now listed in the UI along with their health status.
  • Kubernetes auto-scaling deployments: Allow users to configure an autoscaler in Kubernetes with Waypoint and its deployments when using a metrics server.
  • Kubernetes Ingress for releases: Waypoint will support releasing deployments using an ingress controller and configuring an ingress resource for your deployments.

This release includes many additional new features, workflow enhancements, general improvements, and bug fixes. The Waypoint 0.6 changelog contains a detailed list of all changes in this release.

»Helm-Based Server Install

Waypoint 0.6 comes with a new, official Helm chart to help facilitate a Kubernetes-native way to install the Waypoint server. The Waypoint Helm chart also allows for external implementations like Terraform, using the Helm provider, to install and configure Waypoint into your Kubernetes cluster.

Helm provides a direct experience to install Waypoint on Kubernetes:

$ helm repo add hashicorp https://helm.releases.hashicorp.com
"hashicorp" has been added to your repositories

$ helm install waypoint hashicorp/waypoint

Once the installation has been completed and Waypoint server is up and running, you can log in and set up your local CLI with an authentication token. From the same machine that ran the helm install, run the following command to perform an initial login to the newly installed Waypoint server:

$ waypoint login -from-kubernetes

You can then run waypoint ui to open the web UI. Please see the Installing Waypoint for Kubernetes documentation for more details.

»Docker Builds in Kubernetes Pods

Waypoint now integrates with Kaniko to support building Docker images directly within unprivileged Kubernetes pods and enable remote Docker builds within a trusted environment. When paired with our GitOps workflow, this allows an entire build-to-deploy lifecycle powered by Waypoint.

Waypoint

Waypoint previously required a privileged execution environment that could be difficult to configure within hosted Kubernetes providers. Now, Waypoint works out of the box with all major Kubernetes providers. This requires no additional configuration and automatically happens for Waypoint build operations triggered by Git or the -remote flag.

We also added a guide to using Waypoint with externally built images. Many people adopting Waypoint already have a workflow to build container images, such as through CI. In this scenario, Waypoint doesn’t need to build the image, but it still needs to know the name of the resulting image so it can be used for deployment. This guide explains how to integrate externally built images into a Waypoint workflow.

»Helm-Based Application Deployment

Waypoint now supports deploying applications using Helm. If you already use Helm or prefer to use Helm, this is the perfect option for deploying to Kubernetes with Waypoint. For people adopting Waypoint with existing applications, this is a great way to get started with Waypoint without feeling like you’re going “all-in.”

Configuring Waypoint to deploy with Helm only requires a few lines of configuration:

app "my-app" {
  deploy {
    use "helm" {
      name  = "my-app"
      chart = "${path.app}/helm"

      set {
        name  = "image.repository"
        value = artifact.image
      }

      set {
        name  = "image.tag"
        value = artifact.tag
      }
    }
  }
}

One big benefit of using Helm with Waypoint is access to dynamic information such as the artifact image and tag, as noted above. This artifact may come from a Waypoint run build step or an externally built image.

Another benefit of Helm is that it enables you to use any available Kubernetes resource since you can write any YAML resource description you want. While Waypoint provides an opinionated Kubernetes plugin that allows deployments without YAML and minimal configuration, this plugin comes at the cost of not supporting every feature of Kubernetes. Having access to Helm provides an additional first-class option.

And, you can always use different deployment plugins for other applications. One application may use Helm, another may use our opinionated Kubernetes plugin, and another may not be on Kubernetes at all. But within the Waypoint workflow, it is all uniform.

»Resource Listing in the UI

The Waypoint web UI now shows a listing of all of the platform resources created by a deployment and release. This works with all deployment plugins. All resources created will be shown in the listing, regardless of which instantiation method is used in Kubernetes

Waypoint

This allows users of Waypoint to quickly diagnose any issues. A common scenario we found in earlier versions of Waypoint was that the Waypoint deployment succeeded, but a configuration error caused the deployed application to be broken. For example, an environment variable to connect to the database might be missing. Now, users can see that while the Waypoint deployment succeeded, the launched resources may still have errors they need to resolve.

Future versions of Waypoint will continue to add additional functionality to the resource listing, such as the ability to view more details, see diffs between deployment versions, notify on status changes, and more.

»Kubernetes Auto-Scaling Deployments

In earlier versions of Waypoint, only a single pod was generated when using the opinionated Kubernetes plugin. With 0.6, Waypoint gains the ability to scale an application horizontally (increase or decrease the number of pods) by setting values for min_replicas and max_replicas fields within the autoscale stanza in a Waypoint configuration file.

A basic use case of this feature can be implemented as follows:

app “my-app” {
  build { ... }

  deploy {
    use “kubernetes” {
      cpu {
        request = "250m"
        limit   = "500m"
      }

      autoscale {
        min_replicas = 2
        max_replicas = 5
        cpu_percent  = 75
      }

    }
  }

  release { ... }
}

As you can see, configuring horizontal pod autoscaling required only about eight lines of configuration. This highlights a huge benefit of using our opinionated Kubernetes plugin: for typical applications such as web services, you can avoid writing hundreds of lines of YAML and focus on just getting your application deployed.

If you require more flexibility and configuration, we always support Helm and kubectl apply as first-class deployment plugins, but you have to manually configure features such as pod autoscaling.

»Kubernetes Ingress for Releases

Waypoint now has an additional way to configure and release your deployments in Kubernetes when using our opinionated Kubernetes deployment plugin. Users can now create an ingress resource for a release.

Unlike the other options Waypoint supports for release, an ingress resource can be configured to match certain inbound traffic that should be routed through the ingress controller to an application’s deployment. The ingress resource will use an existing ingress controller for routing traffic per release, rather than spinning up an additional load balancer, which may cost extra money and take longer to initialize.

Configuring an ingress resource for a release is as simple as defining an ingress stanza:

app “my-microservice” {
  build { ... }

  deploy {
    use "kubernetes" {
      probe_path = "/"
    }
  }

  release {
    use "kubernetes" {
      ingress "http" {
        path_type = "Prefix"
        path      = "/"
      }
    }
  }
}

»What’s Next for Waypoint?

There are many more features and improvements in Waypoint 0.6, but they are too numerous to detail in this post. For a complete listing of changes in Waypoint 0.6, please see the CHANGELOG.

One of our primary focuses is improving workflows around multiple environments (staging, production, etc.) in future releases. Working with various environments using Kubernetes today is a very manual and error-prone process. We hope that we can bring significant automation and opinionated workflows to streamline this process better.

We hope you enjoy Waypoint 0.6!

»Next Steps


Source: HashiCorp Blog