What is an MVCT (Minimally Viable Cloud Team)?
When you’ve been in technology as long as most of us have at Gravicore, you begin to forget what it took to get where we are. You forget how much expertise is on your team and what it actually takes to have on board the right people to make cloud adoption successful. Recently, when sitting down with a prospective client, they asked us for help defining the cloud specific roles, at a minimum, they would need to employee to plan, setup, adopt and migrate. It was at the moment we invented the “MCVT” or, Minimally Viable Cloud Team.
Below is the exact list of the jobs and descriptions for each of them. We also put together a salary list. You can access that salary grid here.
Cloud Security Architect
A cloud security architect designs, develops, and implements secure cloud-based solutions to protect an organization’s critical data, applications, and infrastructure from cyber threats. They are responsible for evaluating the organization’s current security posture and identifying vulnerabilities and risks in its cloud environment. Based on the evaluation, they develop and implement strategies to mitigate those risks and ensure that the organization’s cloud-based assets are secure.
Cloud security architects work with other IT teams to design security controls and procedures that meet compliance requirements and ensure data privacy. They also monitor and analyze security-related metrics to identify any security breaches or incidents and develop incident response plans to handle them effectively.
To be successful in this role, candidates must possess extensive knowledge of cloud computing and security concepts, including cloud security models, encryption, network security, and access control. They should also have experience working with cloud providers such as Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP). Additionally, they should possess excellent analytical, problem-solving, and communication skills to collaborate with stakeholders at all levels.
Cloud System Admin.
Cloud systems administrators are responsible for managing an organization’s cloud-based infrastructure and applications. They are responsible for ensuring that the cloud environment is stable, reliable, and secure. Their duties include configuring, monitoring, and maintaining cloud-based services and infrastructure, such as virtual machines, storage, and network components.
Cloud systems administrators are responsible for implementing and managing cloud-based applications and services, such as email, collaboration, and customer relationship management (CRM) software. They also ensure that these services are properly integrated with the organization’s existing systems, and that they meet performance and availability requirements.
Additionally, cloud systems administrators monitor cloud systems and applications to identify and troubleshoot issues, as well as ensure the availability of backups and disaster recovery solutions. They work closely with other IT professionals, such as network engineers, security analysts, and application developers, to ensure that the cloud infrastructure is properly integrated into the organization’s overall IT environment.
To be successful in this role, candidates must possess a strong understanding of cloud computing concepts and technologies, as well as experience working with cloud providers such as Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP). They should also possess expertise in system administration, networking, and security, as well as experience with automation tools, scripting languages, and version control systems. Effective communication and problem-solving skills are also essential.”
DevOps Architect
Responsible for designing and implementing DevOps processes and practices within an organization. They work closely with software development and IT operations teams to create a culture of collaboration, communication, and continuous improvement, with the goal of streamlining software delivery and improving the overall quality of software.
DevOps architects are responsible for designing and implementing a range of DevOps tools and practices, such as continuous integration and continuous delivery (CI/CD), infrastructure as code (IaC), and automated testing. They also develop and maintain DevOps-related policies, procedures, and best practices, and ensure that they are properly documented and communicated to relevant stakeholders.
Additionally, DevOps architects are responsible for monitoring and measuring the performance of DevOps processes and tools, and continuously identifying areas for improvement. They work with other IT professionals to create metrics and dashboards to track key performance indicators (KPIs) and ensure that DevOps initiatives are aligned with business goals.
To be successful in this role, candidates must possess expertise in a range of DevOps tools and technologies, such as Git, Jenkins, Docker, Kubernetes, and cloud platforms such as AWS, Azure, or Google Cloud Platform. They should also have strong communication and collaboration skills to work effectively with both technical and non-technical stakeholders. Additionally, they should have experience with agile software development methodologies and be familiar with ITIL and IT service management (ITSM) frameworks.
DevOps Engineer
A DevOps engineer is an IT professional who is responsible for the integration of software development and IT operations within an organization. DevOps engineers work to streamline software delivery and improve the overall quality of software by bridging the gap between development and operations teams.
The primary focus of a DevOps engineer is to automate the software delivery process using a variety of tools and technologies. They work to identify areas for improvement in the software development lifecycle and implement solutions that reduce manual effort and eliminate bottlenecks. This includes continuous integration and continuous delivery (CI/CD) pipelines, test automation frameworks, and infrastructure as code (IaC) tools.
DevOps engineers also work to ensure that the software development process is scalable, secure, and reliable. This includes the design and implementation of monitoring and logging systems, as well as the development of disaster recovery and business continuity plans.
To be successful in this role, candidates must possess a strong understanding of software development methodologies and IT operations, as well as expertise in a range of DevOps tools and technologies such as Git, Jenkins, Docker, Kubernetes, and cloud platforms such as AWS, Azure, or Google Cloud Platform. They should also have strong communication and collaboration skills to work effectively with both technical and non-technical stakeholders. Additionally, they should be familiar with agile software development methodologies and have experience with ITIL and IT service management (ITSM) frameworks.
Infrastructure Architect
An Infrastructure Architect is an IT professional who is responsible for designing, implementing, and maintaining an organization’s information technology infrastructure. The primary focus of an Infrastructure Architect is to ensure that the organization’s technology systems are scalable, secure, and reliable, and that they support the organization’s overall business objectives.
Infrastructure Architects are responsible for developing and maintaining technology strategies, blueprints, and roadmaps that align with business goals. They work closely with stakeholders from different departments within the organization to identify technology requirements and design technology solutions that meet those requirements. Infrastructure Architects also collaborate with other IT professionals, including network engineers, system administrators, and security specialists, to implement technology solutions and ensure that they are properly maintained.
Infrastructure Architects are typically responsible for designing and implementing a wide range of technology solutions, including data centers, virtualization environments, storage and backup systems, networking infrastructure, and security systems. They are also responsible for identifying emerging technologies and assessing their potential impact on the organization’s technology infrastructure.
To be successful in this role, candidates must possess a strong understanding of information technology, including hardware, software, and networking. They should also have expertise in a range of infrastructure technologies, such as server virtualization, cloud computing, and software-defined networking. Additionally, they should have strong communication and collaboration skills to work effectively with both technical and non-technical stakeholders.
Infrastructure Engineer
An Infrastructure Engineer is an IT professional who is responsible for designing, deploying, and maintaining an organization’s information technology infrastructure. The primary focus of an Infrastructure Engineer is to ensure that the organization’s technology systems are scalable, secure, and reliable, and that they support the organization’s overall business objectives.
Infrastructure Engineers work to implement technology solutions designed by Infrastructure Architects. They are responsible for installing and configuring hardware and software systems, including servers, storage devices, and networking equipment. Infrastructure Engineers also work to monitor and maintain technology systems, troubleshoot issues, and identify areas for improvement.
Infrastructure Engineers are typically responsible for managing and maintaining a wide range of technology solutions, including data centers, virtualization environments, storage and backup systems, networking infrastructure, and security systems. They also work to implement new technology solutions and upgrade existing systems to meet changing business requirements.
To be successful in this role, candidates must possess a strong understanding of information technology, including hardware, software, and networking. They should also have expertise in a range of infrastructure technologies, such as server virtualization, cloud computing, and software-defined networking. Additionally, they should have strong problem-solving and troubleshooting skills, as well as strong communication and collaboration skills to work effectively with both technical and non-technical stakeholders.”
Site Reliability Engineer
A Site Reliability Engineer (SRE) is an IT professional who is responsible for ensuring the reliability, scalability, and performance of software systems and applications. The primary focus of an SRE is to ensure that the systems they manage are highly available and performant, and that they can be quickly and efficiently repaired in the event of an issue.
SREs work to ensure that the software systems they manage are highly automated, scalable, and fault-tolerant. They are responsible for designing, implementing, and maintaining the infrastructure and software that supports the applications and systems they manage. SREs use a variety of tools and technologies, including automation frameworks, monitoring systems, and continuous integration and deployment systems, to ensure that systems are reliable, scalable, and performant.
In addition to designing and implementing systems and applications, SREs are also responsible for monitoring and maintaining those systems to ensure their ongoing reliability and performance. They work to identify and resolve issues quickly and proactively, and they continuously monitor system health to identify potential issues before they become problems.
To be successful in this role, candidates must possess a strong understanding of software engineering and infrastructure engineering, as well as expertise in a range of tools and technologies used to support highly available, performant systems. They should also have strong problem-solving and troubleshooting skills, as well as strong communication and collaboration skills to work effectively with both technical and non-technical stakeholders. SREs typically work closely with software developers, operations teams, and other IT professionals to ensure that software systems and applications are highly available, performant, and reliable.