SOURCES SOUGHT
99 -- T Services for NIST Center for Nanoscale Science and Technology (CNST) NanoFab
- Notice Date
- 2/16/2021 5:42:10 AM
- Notice Type
- Sources Sought
- NAICS
- 541519
— Other Computer Related Services
- Contracting Office
- DEPT OF COMMERCE NIST GAITHERSBURG MD 20899 USA
- ZIP Code
- 20899
- Solicitation Number
- AMD-SS21-09
- Response Due
- 2/24/2021 12:00:00 PM
- Archive Date
- 03/11/2021
- Point of Contact
- Forest Crumpler
- E-Mail Address
-
forest.crumpler@nist.gov
(forest.crumpler@nist.gov)
- Description
- The National Institute of Standards and Technology (NIST) has a requirement for IT Services for NIST Center for Nanoscale Science and Technology (CNST) NanoFab located at the Gaithersburg, Maryland campus.� The CNST relies on several in-house developed software applications to track projects, record lab usage, and produce billing. The software runs on a variety of servers to provide access internal to NIST and external to the public. The CNST seeks a vendor that can provide support to make needed updates to the software applications and maintain the server infrastructure to ensure up-to-date and continuous availability. This announcement is not a Request for Proposals (RFP) and does not commit the Government to award a contract now or in the future.� No solicitation is available at this time.� The purpose of this Sources Sought is to identify Small Business organizations with the requisite qualifications to provide the services stated herein. Based on capability statements received in response to this Sources Sought Announcement this acquisition may be solicited as a 100% small business set aside.� All small business organizations (SB SDB, WOSB, HUBZone, and VOSB and SDVOSB) are encouraged to respond to this notice. The specific purpose of this sources sought announcement is to determine if there are any small businesses, within the parameters identified above, that are able to provide the services identified below. SCOPE OF WORK The scope of this requirement is the maintenance, development, and timely repair of the CNST software applications, servers, and associated infrastructures. CONTRACTOR�S MINIMUM QUALIFICATIONS Qualification � the contractor shall provide qualified personnel to perform the tasks identified below. Qualification shall be demonstrated through a summary of education, training, qualifications, and experience. The contractor shall provide personnel with at least 5 years of experience providing software development and server administration services. If multiple personnel are proposed, their experience shall reflect the intended role for that person. Contractor personnel shall provide proficient services in support of the programming languages, technologies, servers, and server packages noted in the tasks below and shall have the following minimum demonstrated proficiency in these areas: Configuration management tools including Ansible and GitLab CI/CD Docker Python programming language, Django web framework Java programming language, Java Servlet programming, Java Spring Framework, Jetty HTML5 Version control Git and GitLab Oracle Relational Database Management Systems (RDBMS) and associated Oracle development and query tools like SQLDeveloper Testing including Unit tests and Integrations tests Code quality control tools Linux, CentOS7 Key personnel identified shall be considered the basis for qualification under this contract. As such, no changes to key personnel or sub-contractors may be made without government approval and require documentation to demonstrate equivalent knowledge and experience.� If sub-contractors shall be used to meet these requirements, identify the sub-contractor and their key personnel. The government reserves the right to reject substitutions in key personnel. TASKS Software Development � the contractor shall research, design, and implement solutions for the following CNST software applications. All applications are packaged in Docker containers. For all developed software, the Contractor shall have unit test code coverage of at least 30%, integration tests, and system tests for all new code. All tests shall be run just prior to new code deployment to the production system in order to increase source code assuredness and quality. NEMO � Development/Maintenance 36 releases over the past 12 months 60k lines of code Language: Python, HTML/CSS/JS Technologies: Django, Gunicorn Integration: Virtual Database (NBS, SPM), Interlock servers Nanolithography Toolbox � Development/Maintenance 40k lines of code Language: Java Technologies: JavaFX Configuration Management DevOps � Development/Maintenance 3k lines of code Language: script, yaml Technologies: Ansible, Gitlab CI/CD SPM � Administration/Maintenance 21 Releases over the past 12 months 100k lines of code Multi-layer architecture Language: Java, Kotlin, JSP/HTML/CSS/JS, SQL Technologies: Maven, Spring, Eclipselink, Activiti Workflow (bpmn), Birt reports, Jetty Server Integration: Zotero publication database, CNST Billing system NBS Rest Api � Maintenance 1.5k lines of code Language: Python Technologies: Django rest framework Integration: NBS billing system Docker Control Center � Administration/Maintenance 15k lines of code Language: Python Technologies: Django, docker, docker-compose Virtual Database � Maintenance 35k lines of code Language: XML, SQL, Java Technologies: Teiid 9.x, Jboss Integration: SPM Api, NEMO Api, NBS api Jasper Reports � Maintenance/Administration/Design new reports when needed 3k lines of code Language: Java Technologies: Jasper Reports 7.x, Jasper Studio Identity Service � Maintenance 635 lines of code Language: Python Technologies: Flask, LDAP Integration: LDAP server Sensor Nitrogen � Maintenance 70 lines of code Language: Python Integration: Nitrogen sensor data, Splunk reports Server administration � the contractor shall act as sysadmin for the following servers. Activities include maintenance of required applications and configurations, applying weekly security updates, secure configuration maintenance, certificate maintenance, DNS requests, SSO setup, cronjobs, drive mounts, etc. (qty 2) Production and Test servers Operating system: Centos7 Server type: Virtual Packages in use Nginx NEMO SPM NBS API Virtual DB Jasper (qty 1) Dev server Operating system: Centos7 Server type: Virtual Packages in use: Dev applications Test bed for new applications (qty 1) Public facing server Operating system: Centos7 Server type: Virtual Packages in use: Nginx NEMO (qty 1) Continuous monitoring server Operating system: Centos7 Server type: Virtual Packages in use: Nginx Splunk Storage drive (shared by prod and public facing servers) (qty 1) Nanoservices server Operating system: Centos7 Server type: Virtual Packages in use: Nitrogen sensor Identity Service (qty 1) Development tools server Operating system: Amazon AWS Windows Server type: Virtual Packages in use: Apache proxy server PostgreSQL database JIRA Confluence SonarQube (qty 1) Utility server Operating system: Centos7 Server type: Virtual Packages in use: Used to check all certificates (qty 1) Build server Operating system: Centos7 Server type: Virtual Packages in use: Gitlab docker build server Open-Source project management � the NEMO and Docker Control Center applications are open-source projects published to Github. The contractor shall act as the CNST Github manager. Tasks include: Github repository management (manage issues, review pull requests, merges etc.) Github release management (creating release version, release notes) Github documentation (wiki) Community presence on google group (NEMO only) Data calls � periodically provide CNST statistical information regarding the operations of the NanoFab derived from the application databases. requires proficiency in SQL Grouping, aggregation, counts, sums, case select May require cross database queries Project management � the contractor shall manage and plan required activities The Contractor must develop and maintain a Project Plan using the NIST provided project management software, JIRA. The Contractor shall participate in regular progress review meetings, every two to three weeks, with application users and the Contracting Officers Representative (COR). The meeting shall include the status of on-going tasks. It shall also be the forum to discuss outstanding or anticipated issues or problems. Any discrepancies of non-performance shall be discussed at each meeting and the Contractor shall provide proposed corrective action measures. The Contractor shall adhere to the Project Plan developed by the Contractor and revised or updated by the team (the Contractor, Government, and other participants as designated on the Plan). The Plan shall include such things as deliverables, milestones, outputs, staffing, and status reporting. The Contractor and COR shall review soft copy of the updated status of the Project Plan at the scheduled progress meeting. The Contractor shall update the Project Plan when there are changes or as required by the COR in accordance with the backlog and prioritized tasks. The Contractor shall provide the status of actual Contractor performance in relation to the anticipated performance and completion as specified in the Project Plan. All differences between the Contractor�s proposed performance schedule, actual performance and completion dates shall be fully explained and documented in the report. The Contractor must also include documented accomplishments and any potential or identified risk items. The Contractor shall be responsible for overall project management, including the development and monitoring/updating and submission of the Project Plan, task work plans, detailing specific deliverables, monitoring quality of deliverables, final reports, source code, and documentation. The overall management plan shall address: Tracking of contract staff and hours within and across individual tasks; Maintaining running totals of staff and billing for the overall contract; Appropriately staffing the project with team members who have extensive knowledge of the existing system and the business processes involved as well as the technologies that shall be required and; Oversight by a Project Manager who shall also participate in the technical and planning activities of the project on a regular basis. The Contractor shall save source code and script deliverables developed under this task using the version control system provided by the government. The deliverables shall include all project files, configuration files used by Integrated Development Environments (IDEs), and files used for the compilation and testing of the software products. Checking code into GitLab and deploying the deliverables to a production environment constitutes �delivery�. The Contractor must adhere to NIST and DoC IT Security Policies while performing all Requirements of this Statement of Work (SOW). Additionally, any software developed must meet minimum mandatory controls as specified for Moderate Impact (Confidentiality and Integrity) systems as specified in NIST Special Publication 800-53, DoC IT Security Program Policy and Minimum Implementation Standards (2005), and NIST policy. The contractor shall maintain a frequent dialog with the IT Security Officer concerning the appropriate level of security. Base year application development � several CNST applications require active development in the base year to improve existing functionality and provide new features to extend the usefulness to the laboratory and its users. NEMO Implement code testing routines in NEMO software. Implement method to integrate multiple ethernet interlocks without requiring code changes. Explore methods to enable feature plug-in integration.� Deliverable is a report of possible solutions and level of effort to implement. Continue to improve documentation of NEMO features and deployment. Continue to develop and improve NEMO in accordance with the backlog & prioritized tasks in the project management software, JIRA. Nanolithography Toolbox Evaluate code and upgrade to current long-term stable version of Java/JavaFX. Develop graphical user interface environment for creating and editing shapes. Suggest and implement optimizations for script parsing. Continue to develop and improve the Nanolithography Toolbox in accordance with the backlog & prioritized tasks in the project management software, JIRA. DevOps Migrate public NEMO into deployment pipeline. Make improvements to continuous monitoring and alerts using Splunk. Monitor common failures and report through text messaging and email. Organize and report sensor data and server metrics. Continue to make improvements to DevOps security. Reports System Continue to upgrade and improve all data reporting availability. Expand RESTful endpoints in each software application. Develop standard and automated reports that combine data from NBS, NEMO and SPM. SPM Continue to develop and improve SPM in accordance with the backlog & prioritized tasks in the project management software, JIRA which will be limited to minor features and bug fixes. Long-Term application development � several CNST applications are under active multi-year development to improve existing functionality and provide new features to extend the usefulness to the laboratory and its users. The following five-year high-level goals provide an overall direction for option year awards. NEMO � is a laboratory logistics web application that strives to be intuitive and easy to use, making life easier in the lab. NEMO manages tool reservations, controls access to tools, and streamlines logistics and communication. Users can customize NEMO for their own laboratory, enabling any customer with a network connected desktop or mobile device to reserve tools, view the operating status of instruments, and seek assistance from laboratory staff. The code is open source and free so that other labs can benefit. We are continually updating NEMO with new features and improvements to extend NEMOs capabilities.� Examples of large changes recently implemented include: Adding functionality for NEMO to schedule areas to control occupancy in response to COVID Adding a buddy board interface so users can communicate with each other to coordinate off hours access which requires at least two people. Implement full coverage code testing routines in NEMO software. Continue to improve documentation of behind-the-scenes NEMO features and deployment. Engage the NEMO public community and implement features into the main line that will have the largest impact. Nanolithography Toolbox � a platform-independent software package for scripted lithography pattern layout generation. The CNST developed the Nanolithography Toolbox to help users of the NanoFab design devices with complex curves and aggressively scaled critical dimensions. Long-term goals include: Evaluate code and upgrade to current long-term stable versions of Java/JavaFX. Develop graphical user interface environment for creating and editing shapes. Implement optimizations for script parsing. DevOps � As the CNST computing infrastructure has grown, keeping all services running smoothly became more complex. By making NEMO public facing, CNST now relies on 11 different production servers to keep NEMO running. NBS and SPM also rely on some of the same servers. A portion of the CNST web infrastructure is diminished when any one of those servers is unavailable, so it is important to ensure all the servers available as much as possible. New code is deployed often, server maintenance is performed regularly, and the systems depend on NIST infrastructure. Each change to the server introduces a fault potential, so robust fault monitoring is becoming increasingly important. Finally, to keep all these systems secure, the state of each computer must be known. If a server is misconfigured, or an important security certificate is missing or invalid, it could cause major problems. All of these potential issues can be solved with automation tools. Development and operations, or DevOps, encompasses this strategy. Long-term goals include: Make improvements to continuous monitoring and alerts using Splunk. Monitor common failures and report through text messaging and email. Organize and report sensor data and server metrics. Continue to make improvements to DevOps security. Reports System � the reports system is used to bridge data requests across the multiple CNST applications to enable project, usage, and billing reporting. Continue to upgrade and improve all data reporting availability. Expand RESTful endpoints in each software application to provide access to a more complete dataset. Develop standard and automated reports that combine data from NBS, NEMO and SPM. NIST is seeking responses from SMALL BUSINESS responsible sources. Companies that are capable of providing the above listed services are requested to email a detailed report describing their abilities to forest.crumpler @nist.gov no later than the response date for this sources sought notice. The report should include achievable specifications and any other information relevant to your product or capabilities. Also, the following information is requested to be provided as part of the response to this Sources Sought Notice: 1. Name of the company that manufactures the system components for which specifications are provided, to include a DUNS number that is associated with a SAM.gov account.� 2. Name of company(s) that are authorized to sell the system components, their addresses, and a point of contact for the company (name, phone number, fax number and email address). 3. Indication of number of days, after receipt of order that is typical for delivery of such systems. 4. Indication of whether each instrument for which specifications are sent to forest.crumpler@nist.gov are currently on one or more GSA Federal Supply Schedule contracts and, if so, the GSA FSS contract number(s). 5. Any other relevant information that is not listed above which the Government should consider in developing its minimum specifications and finalizing its market research.
- Web Link
-
SAM.gov Permalink
(https://beta.sam.gov/opp/c9ee80fda67f45c2a7c5bed6b337ac98/view)
- Place of Performance
- Address: Gaithersburg, MD 20899, USA
- Zip Code: 20899
- Country: USA
- Zip Code: 20899
- Record
- SN05918291-F 20210218/210216230111 (samdaily.us)
- Source
-
SAM.gov Link to This Notice
(may not be valid after Archive Date)
| FSG Index | This Issue's Index | Today's SAM Daily Index Page |