Project Sputnik Profile Tool: Dell commits engineering resources, Docker joins the cause and we want your input!


Sputnik_Sticker_FinalWhen we first introduced Project Sputnik over a year ago we talked about two community projects: the profile tool and the cloud launcher.  We garnered a fair amount of attention and made some progress but unfortunately not as much as I would have liked.  I am very happy to report therefore that recently we have put together an intrepid group of developers and architects within Dell to pick up the profile tool charge.

While we’ve had a few false starts in the past, besides the addition of committed Dell resources, there are a couple of other things that set this time apart: 1) we are starting from an internal use case and 2) we are working with and leveraging some of the work of Docker.

And just like when project Sputnik originally kicked off, we want to get your input and feedback on the Profile Tool and its direction (see a few paragraphs down for what specifically we are looking to you all for).

Internal need

Scratching your own itch is a key component to any self-respecting open source project. Read on to see where ours came in. A group within the Enstratius team, which we acquired back in the Spring, is switching to Sputniks (Dell XPS 13 developer edition) as their primary laptop. One thing that team member John Vincent was tasked with doing was getting these new systems set up quickly for the team. He was looking for a way to automate the process when his boss suggested he check out what we were hoping to do with the profile tool.  John liked what he saw so much that he joined the team.

Besides this representation from the Enstratius team, the Sputnik team also includes members from Dell Services’ office of the CTO and the Dell Cloud Services development and architecture team.

Working with the Docker crew

DockerRather than re-inventing the wheel, and to help provide perspective, we are now working with the folks from Docker.  They will be giving us their feedback, helping with integration and creating a Go profile.

As their CEO Ben Golub said, “The Dell team has delivered real benefits for the developer community through Project Sputnik and we expect same from the profile tool. We’re committed to working with their team to provide the best possible integration with Docker so those benefits continue to grow.”

Profile tool: Some details and a quick POC

The idea behind the profile tool is to enable a developer to quickly set up an environment without cluttering up their system.  This applies whether it is a “clean” computer for a new hire or a new project for an existing team member where the developer needs to use a new language or tool-chain.

A profile is basically a collection of simple YAML files, stored in a pre-determined directory structure, which specify one or more of the following:

  • Language:  a programming language e.g. Python, Ruby, JavaScript
  • Framework:  a language-specific software platform which simplifies the programming task (e.g. Django, Rails, Node.js)
  • Library:  an additional software component, such jinja2 or numpy for Python
  • Service: a software service used by the project, such as a database or message queue

To use a profile, it is downloaded to the developer’s machine, and an isolated environment (Linux container) is automatically created using Docker if it is part of the profile.

Input from the community

Here is the Profile Tool repository on Github and to give you a feel for how the profile tool might work, here is a quick POC (note that these actions aren’t actually being executed. We’re just logging them as if we were).

We would love to get your input. Some of the different ways you can contribute are as follows:

  • Open issues on this repository with suggestions on proposed definition syntax
  • Fork the repository and propose your own definition for a language
  • Share this initiative with your respective communities
  • Offer insight into how your community or company can use this
  • Be honest and tell us what works and what doesn’t

While almost everything is open to modification, we have a few small requirements.

  • The definition format MUST be YAML. YAML was chosen because it allows the appropriate data structures, is both human- and machine-readable and allows comments
  • Respect the goals of minimalism and composition defined above
  • This is based on Ubuntu 12.04 amd64 (for now) as the primary use case is for inclusion in the Sputnik laptop

We will be soliciting feedback for the next three weeks so please get us your thoughts by December 3.

What about the cloud tool?

We haven’t forgotten about the cloud tool, which allows you to deploy your applications to the cloud.  While you can currently use Linux containers and JuJu to get your apps into the clouds, we are working on a version that will provide even greater automation.  This will be phase II after we get the profile tool a bit further along, stay tuned!

But wait, there’s more…

If you’re interested in Project Sputnik you’ll want to watch this blog which will be bringing some more news in the not too distant future. 🙂

Extra-credit reading

Pau for now…

8 Responses to Project Sputnik Profile Tool: Dell commits engineering resources, Docker joins the cause and we want your input!

  1. […] project captain Barton George, Dell web vertical sector director, blogged it was all systems go following false […]

    Like

  2. C. F. Howlett says:

    So, Mr. Barton:

    You clearly gradudated from the “Tease ’em till they scream” school of marketing with top honors. I’ve been watching and waiting for definitive information on the Sputnik upgrade for quite some time now.

    As it happens, my Dell Inspiron 1545 (vintage 2009) is looking quite ragged and beat up. I had all but ordered a replacement MacBook when I noticed that, seemingly, a replacement Sputnik was in the works. I also noted with great interest that Dell’s new M3800 matches or exceeds the specs on my not-yet ordered Mac.

    I’m not a developer, I’m a teacher and part-time media creator. I would absolutely order a M3800 that just worked with UbuntuStudio out-of-the-box as the XPS 13 worked.

    Allow me the liberty of presenting a visual plea/demand/suggestion.

    https://www.dropbox.com/sh/ycc5r4ftar5bgws/1dNCV20la5

    See? I’ve already got visuals for it! Now if Dell and Ubuntu will kindly do their parts …

    Thanks for reading and for a great project. I am

    … anxiously awaiting an update in Beijing.

    Like

    • @C. F. Howlett

      Thanks for your input and your awesome visuals! I have passed your feedback along to the M3800 team who I’ve been working with. Stay tuned for an update very very soon 🙂

      Like

  3. […] that drifted from PCs to Macs but probably hate the whole iOS walled garden. Earlier this week, Dell said it is working with Docker to improve the Project Sputnik […]

    Like

  4. […] devel­op­ers that drifted from PCs to Macs but prob­a­bly hate the whole iOS walled gar­den. Dell also said it is work­ing with Docker to improve the Project Sput­nik […]

    Like

  5. […] web developers that drifted from PCs to Macs but probably hate the whole iOS walled garden. Dell also said it is working with Docker to improve the Project Sputnik […]

    Like

  6. […] web developers that drifted from PCs to Macs but probably hate the whole iOS walled garden. Dell also said it is working with Docker to improve the Project Sputnik […]

    Like

  7. […] nears its first birthday — and is also adding new members. Project leader Barton George recently announced that the company has assembled “an intrepid group of developers and architects within […]

    Like

Leave a comment