# Creating & Maintaining a Blockchain Infrastructure Team
## Team Goals
Creating a secure and scalable blockchain infrastructure, an automated deployment pipeline, improving infrastructure reliability, and reducing downtime.
Metrics that can be used to measure success include:
- Mean time to recover (MTTR): The average time it takes to recover from a failure.
- Deployment frequency: The number of times code is deployed to production.
- Change failure rate: The percentage of changes that fail in production.
- Infrastructure uptime: The percentage of time the infrastructure is available.
## Hiring and Skills
A DevOps Blockchain Infrastructure Team requires several roles to be filled.
- DevOps Engineer: Responsible for implementing and maintaining the DevOps toolchain, including CI/CD pipelines, infrastructure automation, monitoring, and logging.
- Automation Specialist: Responsible for automating manual processes and improving efficiency.
- Release Manager: Responsible for coordinating releases and ensuring that changes are tested and deployed safely.
- Infrastructure Architect: Responsible for designing and implementing the infrastructure that supports the blockchain platform.
- Infrastructure Engineer: An Infrastructure Engineer would be responsible for managing the blockchain network's hardware and infrastructure. They would work on maintaining the network's servers, storage systems, and other hardware components. In addition, they would also be responsible for configuring and managing the network's cloud infrastructure.
The summary of the skills and proficiencies required for the Blockchain Infrastructure Team
- Continuous integration/continuous delivery (CI/CD): The ability to automate the software development and testing process, including testing, building, and deploying software.
- Infrastructure as code: The ability to write code that automates the provisioning and management of infrastructure.
- Configuration management
Ansible, TerraForm
- Virtualization and Cloud Engineering
Kubernetes, Google Cloud Project, AWS Cloud
- Monitoring and logging: The ability to monitor the infrastructure and applications and to log relevant data.
Prometheus, Grafana, Alertmanager
- Escalation and working in shifts
PagerDuty/SquadCast
- Automation: The ability to automate manual processes to improve efficiency and reduce errors.
Scripting languages such as Bash, TS/JS. Configuration languages - YAML. Advanced Linux knowledge.
- Security: The ability to ensure the security of the infrastructure and applications.
### Hiring for DevOps
Hiring the right people for a Blockchain Infrastructure Team is essential for success. It's important to look for candidates with the required skills and experience and to assess their ability to work collaboratively with others.
The hiring process might include job postings, resume screening, technical assessments, and interviews. It's also essential to ensure that the new hires are a good cultural fit.
### Employee Retention
Employee retention is critical for the team. Retaining skilled employees is essential to maintain a high level of expertise and to ensure continuity of the team's operations.
Strategies for employee retention might include competitive salaries, opportunities for career growth, work-life balance, and recognition of accomplishments.
## Team Structure
Effective communication and collaboration within the team are essential for success. A team structure that promotes communication and collaboration can help to ensure that everyone is working towards the same goals.
Organizing the working schedule for DevOps Engineers maintaining blockchain infrastructure 24/7 examples:
1. Shift-Based Schedule: One approach is to divide the team into multiple shifts, with each shift responsible for monitoring and maintaining the blockchain infrastructure during their designated hours. This can be achieved using software like PagerDuty, which can automatically assign tasks and alerts to the appropriate shift.
For example, you could have three shifts: morning, afternoon, and overnight. The morning shift could work from 8 am to 4 pm, the afternoon shift from 4 pm to midnight, and the overnight shift from midnight to 8 am. This would ensure that the blockchain infrastructure is being monitored around the clock, with each shift handing over their responsibilities to the next shift at the end of their shift.
2. Time Zone-Based Schedule: Another approach is to have DevOps Engineers working from different time zones. This would allow the team to cover the blockchain infrastructure 24/7 without requiring anyone to work extended hours. This approach may be particularly useful if you have a global blockchain network with nodes in different regions.
For example, you could have DevOps Engineers working from the Americas, Europe, and Asia. Each Engineer would be responsible for monitoring the blockchain infrastructure during their designated hours in their respective time zone. This approach would require careful coordination and communication to ensure that everyone is on the same page and that any issues are addressed promptly.
In both cases, it's essential to have clear communication channels and protocols in place to ensure that the team can collaborate effectively, share knowledge and coordinate their efforts. It's also important to have backup plans in case of emergencies or unexpected events that require additional resources.