Davidstrauss (talk | contribs) |
Davidstrauss (talk | contribs) |
||
Line 141: | Line 141: | ||
* Anticipating outages / becoming aware of outages before they happen or as soon as possible in order to mitigate them. | * Anticipating outages / becoming aware of outages before they happen or as soon as possible in order to mitigate them. | ||
* Seamless migrations/upgrades of my applications. | * Seamless migrations/upgrades of my applications. | ||
* | * Deploy projects to PaaS, multiple cloud providers, and even bare-metal | ||
(Perhaps not relevant to Server) | (Perhaps not relevant to Server) |
Revision as of 18:04, 13 December 2013
Discussion
Personas
- ‘application developer’ could be one right? someone who wants to build server applications
- ‘home/small business’ where they are constrained to one server/limited resources?
- ‘enterprise datacenter’ where they want to roll out many server instances and automate.
- A mid-level Microsoft administrator who does not have time for a steep learning curve.
Primary Personas
Persona #1: SysAdmin MacGuyver
Sandra Summers
Senior System Administrator; New Amsterdam Historical Society
"We're a small organization and we have limited resources... we just can't order new hardware for every new service request we get."
Profile | SysAdmin MacGyver |
---|---|
Age | 36 |
Location | Brooklyn, New York, USA |
Technical Level | Advanced |
Years Experience | 15 |
Primary Tools | ? Not sure. Thinking about things like puppet, nagios, splunk, etc. |
Referrals | Learns about new tech from team members, USENIX mailing lists, blogs |
Motivation
- Keep IT team within budget.
- Minimize late-night phone calls.
Goals
- Clean, secure, and manageable deployment of multiple server applications to a single server.
- Unified management of server resources.
- Ability to understand resource usage across server inventory to identify underutilized resources.
- Ability to easily deploy apps to underutilized resources.
Frustrations
- Home-grown scripts for deploying apps that have been around forever that have mysterious voodoo power. Difficult to reproduce application deployments consistently.
- Proliferation of various management console interfaces to have to manage.
Work Description
< description of a typical work day goes here. >
Persona #2: DevOps
Joe Franklin
Ruby on Rails Freelancer; Joe, Inc.
"I want to build amazing, easy-to-deploy server applications for my clients."
Profile | DevOps |
---|---|
Age | 27 |
Location | San Francisco, California |
Technical Level | Journeyman |
Years Experience | 7 |
Primary Tools | Uses a MacBook Pro as his workstation. Uses Ruby on Rails and Github. |
Referrals | RubyWeekly, Ruby Insider, engadget, lifehacker, ... (?) |
Motivation
- Use the latest and best technology to solve interesting problems.
- Produce high-quality applications that excite my clients and build a great reputation for it.
- Grow my business and gain key clients.
Goals
- Agility
- Rapid recovery / rebuild of servers when they go down.
- Anticipating outages / becoming aware of outages before they happen or as soon as possible in order to mitigate them.
- Seamless migrations/upgrades of my applications.
- Deploy projects to PaaS, multiple cloud providers, and even bare-metal
(Perhaps not relevant to Server)
- Balance multiple ongoing development projects at the same time.
Frustrations
- Platform bugs that casue me to spend cycles porting my code forward. It's time-consuming and uninteresting work.
- Cloud providers that change their APIs in an incompatible way with little notice! Having to develop new connectors for production servers with only a few days' notice is not cool.
- Spending cycles packaging code up for an endless array of platforms - it's time-consuming and uninteresting work.
- Building software on a platform so old it doesn't have the python or ruby library I need and not being able to pull it in from out-of-stream.
- Being forced to build on top of or connect together poorly or undocumented platforms, and/or use weak platform APIs
- Frameworks configured by default to require a lot of customization. I want to start running right away instead of getting bogged down in that kind of detail.
Work Description
< description of a typical work day goes here. >
Persona #3: Traditional App Developer
George Simpson
Principal Application Developer, Defense Contractor
"Critical bugs could seriously injure real people, or worse. We have a strict regimen behind our development process to minimize risk."
Profile | Traditional Developer |
---|---|
Age | 43 |
Location | Washington, DC |
Technical Level | Master |
Years Experience | 22 |
Primary Tools | Uses a Thinkpad as his workstation. (need more on server development tools) |
Referrals | ACM? IEEE? USENIX? LISA? |
Motivation
- Keep the people interfacing with my software safe.
Goals
- Stability and predictability
- Minimize risk; vet every code change before it gets in and causes potential problems.
Frustrations
- Bureacracy - although I understand why it's in place, it takes the effort of moving a mountain to move a molehill in this codebase.
- Hardware vendors not supporting hardware for as long as we need to run it in the field.
Work Description
< description of a typical work day goes here. >
Persona #4: Junior Enterprise SysAdmin
Andy Grant
Junior System Administrator; MegaBank, Inc.
"Automation is critical to managing a rollout to a server environment this large."
Profile | Junior Enterprise SysAdmin |
---|---|
Age | 24 |
Location | Jersey City, NJ |
Technical Level | Apprentice |
Years Experience | 2 |
Primary Tools | bash, ssh, mutt, ? |
Referrals | ? |
Motivation
- Avoiding screwups - I want to get noticed at my company and build a good reputation.
- Learn and become a better sysadmin.
Goals
- I manage the email infrastructure; my goal is 95% uptime this year.
- Minimize unplanned outages.
- <ugh what automation goals might he have with mail infra?>
Frustrations
- Bureacracy - I work at a large company, and it's really hard to make change happen here.
- Spending cycles porting code to an endless array of platforms – it’s time-consuming and uninteresting work
- Spammers - gunking up the works. One of the things that sucks about working on mail infrastructure.
- End-user interaction - it's hard to walk people through tasks on the phone, and we have a heterogeneous environment so I'm not always quite sure what mail client they are using.
Work Description
< description of a typical work day goes here. >
Persona #5: Decision-Maker
Priya Moore
CTO, Cloud Startup
"In this competitive startup market, we need to be fast, efficient, and use technologies that attract developers to the company."
Profile | Decision-Maker |
---|---|
Age | 31 |
Location | San Francisco, California |
Technical Level | Advanced |
Years Experience | 12 |
Primary Tools | Uses a ThinkPad with Linux or MacBook Air, a tablet for meetings, and supports developers using their choice of hardware and OS |
Referrals | TED, Twitter, Google+, Reddit, TechCrunch, GigaOm, Hacker News, Mailing Lists, Strata, Wired, Big Data newsletters, blogs (especially ones from Facebook, Twitter, and similar industry-leading engineering departments), other industry conferences |
Motivation
- Building a great company around great technology
Goals
- Communicate the organization's technology vision to the world
- Interface with upstream projects to see where technology is headed and influence the direction
- Establish good, key metrics to encourage work in the right direction
Frustrations
- Needing to get a minimum viable product (MVP) shipping
- Security models
- Linking services together across machines
- Playing office network admin in addition to CTO
- Tension between choosing respected, traditional choices and things that will give the company an edge.
- Integrating developer tools, QA needs, and production needs
- Cloud versus bare-metal economics and overhead
- Proprietary versus FOSS/in-house service options
Work Description
- General executive meetings (short daily ones, longer weekly ones, and occasional retreats)
- Coordinating with VP Engineering on weekly- to roadmap-level planning
- Preparing internal communication materials for sales, marketing, support, and the general company presentations
- Blogging, writing articles, and participating in online discussions
- Coding and code reviews
- Planning hackfests to improve FOSS projects, meet external developers for recruitment, and learn about projects
- Attending community meetups
- Vetting candidates and participating in interviewing
- Preparing responses to security questionnaires from potential clients
Secondary Personas
Persona #6: Server Role Creator
Edward Bryant
System Administrator
"..."
Profile | Fedora Server Contributor |
---|---|
Age | ---- |
Location | ---- |
Technical Level | ---- |
Years Experience | ---- |
Primary Tools | ? Not sure. Thinking about things like puppet, nagios, splunk, etc. |
Referrals | ---- |
Motivation
- ?
Goals
- Create a new role for Fedora Server so that he can use Fedora Server for an application that doesn't currently have a role to support it. He would like this application to plug nicely into Fedora.
Frustrations
- New to Fedora community; not sure how to get involved.
Work Description
< description of a typical work day goes here. >