PatrickJones, Author at Stark & Wayne https://www.starkandwayne.com/blog/author/patrickjones/ Cloud-Native Consultants Thu, 30 Sep 2021 15:48:37 +0000 en-US hourly 1 https://wordpress.org/?v=6.0.3 https://www.starkandwayne.com/wp-content/uploads/2021/04/cropped-SW_Logos__shield_blue_on_transparent_with_border-32x32.png PatrickJones, Author at Stark & Wayne https://www.starkandwayne.com/blog/author/patrickjones/ 32 32 Spring 2020 Internship: Projects Announcement https://www.starkandwayne.com/blog/spring-2020-internship-project-announcements/ Mon, 03 Feb 2020 15:15:00 +0000 https://www.starkandwayne.com//spring-2020-internship-project-announcements/

Today we kick off our Spring 2020 internship and are excited to begin talking about the projects that our team will possibly be working on! The goal of all of these project is to be self contained, scoped to the length of the semester, and fit into a larger open-source project.

Tweed GUI

Tweed is an on-demand service broker that allows users to deploy to both Kubernetes and BOSH for shared and dedicated and services, respectively. Tweed has a lot of information operators would like to keep track of, as well as operations that some may prefer to do graphically as opposed to command line.

For this project, the team will design and implement a web user interface to interact with the Tweed API to provide pertinent information about a given Tweed instance. This includes the catalog of available services, the number of instances deployed, and where they live.

Stretch goals: add support for the ability to provision, unbind, and deprovision service instances via the UI. Feel free to pick any framework you'd like (React, Ember.js, Angular).

This project is mostly software development.

Deliverables

  • Pull request to the Tweed repo with the new functionality and all relevant documentation and release notes.
  • A demo showcasing the new feature set.
  • A series of blog posts about the project itself, as well as your internship experience overall.

Tweed Stencil

The types of services that Tweed can deploy is determined by the stencils that have been produced by the community. Stencils are the mechanism in which Tweed can manage the lifecycle of service instances.

For this project, the team will select a data service (MongoDB , RabbitMQ, Clustered Postgres, Kafka, Hadoop, Cassandra, etc) and create a stencil to allow this service to be deployed by Tweed to both BOSH and Kubernetes. You will use GitHub actions as you CI/CD method for creating the images for your deployments.

This project is mostly operations and deployments.

Deliverables

  • The stencil implementation, available on GitHub.
  • A presentation (with live demonstration) showing off the new stencil.
  • A series of blog posts about the project itself, as well as your internship experience overall.

Fleet Service Broker

Tweed's on-demand nature can sometimes get in the way of rapid prototype and service procurement. Instead of always relying on just-in-time deployment of new services, some customers would like to be able to maintain a small pool, or "fleet" of provisioned service instances, backed by Tweed (or really, any OSB-compliant broker).

In addition to Tweed, it would be useful to be able to specify and maintain that a certain number of service instances be "at the ready" for developers to be able to bind their applications to instantly.

For this project, the team will design and implement an OSB-compliant service broker that consumes and re-exports an upstream open service broker's catalog, keeping a certain level of "service inventory" spun up and ready. Customers to this Fleet Broker will be given one of these idle instances, and the fleet broker will backfill inventory accordingly.

This project is both software developement and operations/deployments.

Deliverables

  • The Fleet Broker implementation, available on GitHub.
  • A presentation (with live demonstration) showing how it works.
  • A series of blog posts about the project itself, as well as your internship experience overall.

Tweed Catalog Management

Currently, Tweed's catalog is managed en suite by a single, monolithic configuration file. Operators wishing to make changes to the catalog must rewrite this YAML as a whole, and restart the broker daemon process.

This should be easier.

For this project, the team will design and implement new APIs and data storage backends for Tweed to allow it to field requests from operators (via an augmented tweed CLI) to add plans / services, and to edit or delete existing plans / services. This should make the following possible:

$ tweed upload-stencil tweed/redis
$ tweed add-service --stencil tweed/redis --name Redis
$ tweed add-plan --service Redis -c nodes=1 --name Standalone

This project is both software developement and operations/deployments.

Deliverables

  • Pull request with the new feature set against the Tweed in GitHub.
  • A demo showcasing the ability to upload a stencil, add a service, add a plan, and create a service instance from the plan.
  • A series of blog posts about the project itself, as well as your internship experience overall.

Multiple Platforms, Single Service Marketplace

As an organization's platforms grow in maturity they also grow in complexity. One growing challenge comes from managing on demand services deployed with marketplaces distributed across multiple Cloud Foundries and Kubernetes clusters.

For this project, the team will design and implement a piece of software that sits outside of these cloud platforms and interacts with multiple service marketplaces to allow developers and operators to bind/manage on demand services via a single interface.

This project is both software development and operations/deployments.

Deliverables

  • Repo with the full feature set and documentation in GitHub.
  • A demo showcasing the ability to see services deployed to all platforms, have apps deployed on one platform bind to services on another.
  • A series of blog posts about the project itself, as well as your internship experience overall.

The post Spring 2020 Internship: Projects Announcement appeared first on Stark & Wayne.

]]>

Today we kick off our Spring 2020 internship and are excited to begin talking about the projects that our team will possibly be working on! The goal of all of these project is to be self contained, scoped to the length of the semester, and fit into a larger open-source project.

Tweed GUI

Tweed is an on-demand service broker that allows users to deploy to both Kubernetes and BOSH for shared and dedicated and services, respectively. Tweed has a lot of information operators would like to keep track of, as well as operations that some may prefer to do graphically as opposed to command line.

For this project, the team will design and implement a web user interface to interact with the Tweed API to provide pertinent information about a given Tweed instance. This includes the catalog of available services, the number of instances deployed, and where they live.

Stretch goals: add support for the ability to provision, unbind, and deprovision service instances via the UI. Feel free to pick any framework you'd like (React, Ember.js, Angular).

This project is mostly software development.

Deliverables

  • Pull request to the Tweed repo with the new functionality and all relevant documentation and release notes.
  • A demo showcasing the new feature set.
  • A series of blog posts about the project itself, as well as your internship experience overall.

Tweed Stencil

The types of services that Tweed can deploy is determined by the stencils that have been produced by the community. Stencils are the mechanism in which Tweed can manage the lifecycle of service instances.

For this project, the team will select a data service (MongoDB , RabbitMQ, Clustered Postgres, Kafka, Hadoop, Cassandra, etc) and create a stencil to allow this service to be deployed by Tweed to both BOSH and Kubernetes. You will use GitHub actions as you CI/CD method for creating the images for your deployments.

This project is mostly operations and deployments.

Deliverables

  • The stencil implementation, available on GitHub.
  • A presentation (with live demonstration) showing off the new stencil.
  • A series of blog posts about the project itself, as well as your internship experience overall.

Fleet Service Broker

Tweed's on-demand nature can sometimes get in the way of rapid prototype and service procurement. Instead of always relying on just-in-time deployment of new services, some customers would like to be able to maintain a small pool, or "fleet" of provisioned service instances, backed by Tweed (or really, any OSB-compliant broker).

In addition to Tweed, it would be useful to be able to specify and maintain that a certain number of service instances be "at the ready" for developers to be able to bind their applications to instantly.

For this project, the team will design and implement an OSB-compliant service broker that consumes and re-exports an upstream open service broker's catalog, keeping a certain level of "service inventory" spun up and ready. Customers to this Fleet Broker will be given one of these idle instances, and the fleet broker will backfill inventory accordingly.

This project is both software developement and operations/deployments.

Deliverables

  • The Fleet Broker implementation, available on GitHub.
  • A presentation (with live demonstration) showing how it works.
  • A series of blog posts about the project itself, as well as your internship experience overall.

Tweed Catalog Management

Currently, Tweed's catalog is managed en suite by a single, monolithic configuration file. Operators wishing to make changes to the catalog must rewrite this YAML as a whole, and restart the broker daemon process.

This should be easier.

For this project, the team will design and implement new APIs and data storage backends for Tweed to allow it to field requests from operators (via an augmented tweed CLI) to add plans / services, and to edit or delete existing plans / services. This should make the following possible:

$ tweed upload-stencil tweed/redis
$ tweed add-service --stencil tweed/redis --name Redis
$ tweed add-plan --service Redis -c nodes=1 --name Standalone

This project is both software developement and operations/deployments.

Deliverables

  • Pull request with the new feature set against the Tweed in GitHub.
  • A demo showcasing the ability to upload a stencil, add a service, add a plan, and create a service instance from the plan.
  • A series of blog posts about the project itself, as well as your internship experience overall.

Multiple Platforms, Single Service Marketplace

As an organization's platforms grow in maturity they also grow in complexity. One growing challenge comes from managing on demand services deployed with marketplaces distributed across multiple Cloud Foundries and Kubernetes clusters.

For this project, the team will design and implement a piece of software that sits outside of these cloud platforms and interacts with multiple service marketplaces to allow developers and operators to bind/manage on demand services via a single interface.

This project is both software development and operations/deployments.

Deliverables

  • Repo with the full feature set and documentation in GitHub.
  • A demo showcasing the ability to see services deployed to all platforms, have apps deployed on one platform bind to services on another.
  • A series of blog posts about the project itself, as well as your internship experience overall.

The post Spring 2020 Internship: Projects Announcement appeared first on Stark & Wayne.

]]>
Stark & Wayne Internship Program Spring 2020 Kick-Off https://www.starkandwayne.com/blog/spring-2020-internship/ Fri, 24 Jan 2020 16:13:01 +0000 https://www.starkandwayne.com//spring-2020-internship/

We're excited to announce the launch our next internship journey this upcoming spring semester! We started this new internship program last summer with the goal of bringing in a group of upperclassmen students and enabling them in dev/ops culture, agile methodologies, and cloud technology.

The Format

Like previous internships, there are four interns joining our team part-time (20 hours) through the spring semester. The interns will own their project for the entire lifecycle from inception and planning, through implementation and testing. The project is run with an agile philosophy using daily stand-ups, weekly demos, two-week sprints, and a backlog. One of the end goals is to teach how software is built in modern companies and teach how to thrive in an agile environment.

Pick Your Project

Last summer, the interns successfully picked the project they would work on for the length of the internship. This allows the internship to be flexible and adapt to the group's experience and interests. We are providing five choices in the roadmap for our existing open-source projects (Tweed, SHIELD, Genesis, Safe).

Here is an example project from last summer:

The Kubernetes container orchestration system relies on a single persistent data store for its metadata and configuration needs: etcd. This distributed key-value store is vital to the proper operation of Kubernetes and, assuming identical replacement hardware / component configuration, the data in etcd is all that an operator needs to resurrect a dead cluster.

Design and build a SHIELD Data Protection Plugin for backing up the data in etcd, and restoring data to etcd from those archives. This plugin must work within the existing contract SHIELD has for "target" plugins. To enable this effort, you will need to be able to deploy and validate both Kubernetes and SHIELD. We will provide you hardware for both.

This project is split fairly even between development and operations work. SHIELD plugins are virtually all written in Go.

The goal of the five projects is to lie on the spectrum of purely software development, to mostly operations, with most lying somewhere in the middle.

Want In?

Although we've finished selecting our candidates for the Spring 2020 semester, we'll be looking for students for our next internship which will be Summer 2020. If you're interested please email your résumé and a small blurb about why you are interested to internships@starkandwayne.com. We look forward to hearing from you!

What's Next?

We're excited to share this journey with you over the next few months! Be sure to check out our followup blog about the projects available this semester as well as posts from the interns talking about the project, implementation, and overall experience.

The post Stark & Wayne Internship Program Spring 2020 Kick-Off appeared first on Stark & Wayne.

]]>

We're excited to announce the launch our next internship journey this upcoming spring semester! We started this new internship program last summer with the goal of bringing in a group of upperclassmen students and enabling them in dev/ops culture, agile methodologies, and cloud technology.

The Format

Like previous internships, there are four interns joining our team part-time (20 hours) through the spring semester. The interns will own their project for the entire lifecycle from inception and planning, through implementation and testing. The project is run with an agile philosophy using daily stand-ups, weekly demos, two-week sprints, and a backlog. One of the end goals is to teach how software is built in modern companies and teach how to thrive in an agile environment.

Pick Your Project

Last summer, the interns successfully picked the project they would work on for the length of the internship. This allows the internship to be flexible and adapt to the group's experience and interests. We are providing five choices in the roadmap for our existing open-source projects (Tweed, SHIELD, Genesis, Safe).

Here is an example project from last summer:

The Kubernetes container orchestration system relies on a single persistent data store for its metadata and configuration needs: etcd. This distributed key-value store is vital to the proper operation of Kubernetes and, assuming identical replacement hardware / component configuration, the data in etcd is all that an operator needs to resurrect a dead cluster.

Design and build a SHIELD Data Protection Plugin for backing up the data in etcd, and restoring data to etcd from those archives. This plugin must work within the existing contract SHIELD has for "target" plugins. To enable this effort, you will need to be able to deploy and validate both Kubernetes and SHIELD. We will provide you hardware for both.

This project is split fairly even between development and operations work. SHIELD plugins are virtually all written in Go.

The goal of the five projects is to lie on the spectrum of purely software development, to mostly operations, with most lying somewhere in the middle.

Want In?

Although we've finished selecting our candidates for the Spring 2020 semester, we'll be looking for students for our next internship which will be Summer 2020. If you're interested please email your résumé and a small blurb about why you are interested to internships@starkandwayne.com. We look forward to hearing from you!

What's Next?

We're excited to share this journey with you over the next few months! Be sure to check out our followup blog about the projects available this semester as well as posts from the interns talking about the project, implementation, and overall experience.

The post Stark & Wayne Internship Program Spring 2020 Kick-Off appeared first on Stark & Wayne.

]]>