Cloud computing offers an attractive career path for people who are looking to work in IT or for people already established in the traditional IT landscape who want to re-skill and enter the world of cloud computing.
If you are currently involved in the traditional roles that exist in a classic on premise IT department, you probably fall into one or more of the following categories:
The IT architect role covers a range of responsibilities that revolve around designing IT frameworks to achieve a desired business outcome. These roles could include enterprise architecture, application architecture, storage architecture, network architecture and finally security architecture. The following describe traditional architect roles:
The enterprise or system architect works with business management to create holistic architecture designs that turn desired business outcomes into concrete design plans that can be built. A system architect will typically manage a team of designers and developers to bring the overall system design into reality.
The application architect designs applications, application user interfaces and backend software services that deliver on the requirements of the system or enterprise architect’s vision. The application architect will communicate the application design and requirements to software development teams that will ultimately build the solutions.
A storage architect plans and designs the storage infrastructure needed to support the applications being built ans ultimately ensures sufficient storage, data retrieval and data integrity persists to deliver on the business goals outlined by the enterprise architect.
A Network Architect is responsible for designing and implementing the network infrastructure required to support the enterprise business applications. As well as the initial design and implementation, the network architect is often responsible for keeping the network running and resolving network problems as they arise.
A security architect designs and specifies the security parameters the network and applications must meet. The security architect plans and researches the security requirements for the IT environment and ensures that those requirements continue to be met once the application is in production. A security architect will typically delegate the development of security features to developers and liaise with technical teams at both the development and operations levels to ensure security is configured correctly.
The system administrator role can span a wide range of tasks and varies greatly between organisations. At the core of the system administrator role is the responsibility for installing and maintaining computer systems and servers and once installed ensuring they are supported.
In a traditional on premise IT eco-system the sysadmin would be responsible for installing and possibly sourcing computer hardware and software, repairing and patching hardware, replacing obsolete or faulty hardware and performing routine maintenance functions like software updates, cleaning and replacing filters and moving parts.
The system administrator monitors hardware and software performance, ensures storage and processor capacity is maintained at levels to support the optimum application performance, as well as keeping an eye on network traffic and log files to ensure errors or unwanted network events are not occurring.
The sysadmin is the first person called upon during a system outage and is usually responsible for recovering from the outage and oversees the installation of operating system updates, patches and installation. As part of the role, the sysadmin will oversee file systems and their performance, schedule and review system incremental and complete system back ups and oversee restore and recovery procedures in the event they are required.
The final task that falls to the system administrator is the management of users and access control. The sysadmin will typically create user accounts, grant or revoke access to data and services for individual users.
The application administrator is responsible for keeping applications up and running and performing at a level that deliver acceptable user experience so that the applications developed by the business deliver the required business outcomes.
An application administrator is responsible for installing and updating deployed applications, fine tuning performance and ensuring that applications are running at peak performance. When they are not, the application admin needs to troubleshoot and diagnose the cause of the outage or performance issue.
As well as communicating with development and technical teams to ensure the applications are running well and monitoring application logs, the application administrator may also be responsible for managing the documentation related to the application.
As the name suggests, a database admin (DBA) is responsible for installing and maintaining databases to support the applications used in your organization.
You might also be required to liaise with other technical teams and provide information and training on the use of the databases you create.
Typically you will create and maintain databases, create policies around the access and use of the databases as well as the maintenance, use and security of the database management system.
An operations DBA is responsible for the daily operations of your databases. They provide ongoing maintenance of the databases and usually follow daily, weekly and monthly task schedules to keep the databases running an optimum performance.
An Ops DBA may also be responsible for scheduling and executing change scripts as part of application upgrades.
A development DBA is responsible for designing new database applications, designing and implementing changes to existing database applications. They will typically assess the impact of changes to database structures required by application updates from a performance, data integrity and security perspective. The development DBA will write and test database change scripts
A data administrator primarily manages the access to data held in your databases. The data administrator manages the access policies to control who owns or has access to your data. These policies control who has permission to read / write / change or delete database data.
A network administrator is responsible for all aspects of designing, configuring and maintaining LAN and WAN networks to support your business operations.
In a traditional on-premises network, the network administrator looks after network switches and routers, configuring network segments and wide area network connectivity and needs to make decisions over the design and implementation of physical hardware and virtual private network infrastructure.
The network administrator is responsible for installing and configuring network infrastructure based on the designs provided by the network architect.
Once the network devices and infrastructure is installed, the ongoing network maintenance consisting of adding or removing devices, implementing security configurations and monitoring logs and performance falls to the network administrator.
As your organisation expands so will your network. The network admin will need to increase the footprint of your network and join existing devices the the expanded network where required.
The storage administrator will magage the data storage requirements across your IT network. In a on-premises environment, this may involve both disk, file server and tape based systems.
The storage admin is responsible for installing, configuring and replacing storage systems that hosts data and applications within your network. They need to ensure the storage remains highly accessible and available and periodically test and monitor the performance of the media used in storage systems.
Another key function of the storage administrator is managing the backup and recovery of data held within the storage systems under their control. They need to ensure that the backup regime is capable of handling scaling data stored as well as monitoring the ongoing performance of storage devices.
The storage admin will typically work closely with an application administrator to ensure that sufficient capacity is available to keep the applications running at optimum performance.
A Security administrator is responsible for installing, configuring, monitoring and maintaining security solutions and enforcing the policies created by the security architect to provide robust protection and the appropriate level of access for users and applications within the network.
The primary outcome of any security administrator is to defend against unauthorized access, updating or deletion of company or application data and to monitor network traffic to detect attempts at unauthorized access.
The major utilities in a security admins toolbox include security support tools, firewalls, access policies and anti-virus software to detect and prevent unauthorised access before any damage can be inflicted.
One of the key skills of a security administrator is to perform vulnerability audits and network penetration testing to surface weaknesses in the network before they are found and utilised by bad actors.
Many organisations are subject to standards like ISO or PCI and the security administrator is the most likely role that adopts responsibility to manage and enforce these standards.
Cloud Computing Roles.
In the cloud environment there are typically a number of areas of responsibility with specific roles and responsibilities in each area.
These typically fall under the umbrella of Business Management, Infrastructure, Security and Application Infrastructure.
At the top level, a cloud enterprise architect works with dedicated roles in each of the areas. They may be dealing with program and financial managers from the business management unit, infrastructure architects and devops from the cloud infrastructure unit, security architects and engineers from the cloud security team and application architects, developers and DevOps from the cloud application infrastructure unit.
Cloud Enterprise Architect.
The role of the cloud enterprise architect is to understand the business requirements and to deliver the solutions that meet objectives of the business. This role is essentially in charge of the entire cloud environment and will liaise with the CIO to understand the business objectives and use cases and translate that into software requirements for the developers and engineers to build.
The cloud enterprise architect will then develop models, validate and refine solution independent architectures, liaise with experts in each of the technologies or business processes to ensure the enterprise architecture will deliver and continue to deliver appropriate solutions for the business.
The program manager is responsible for ensuring the enterprise cloud is managed and running appropriately. The program manager is in charge of the teams that will deliver solutions in terms of development and operations and liaises with cloud vendors to ensure performance and value for money KPIs are met.
The program manager will monitor and manage important metrics and will typically be responsible for reporting the application performance and service levels.
The cloud financial manager will look after the monitoring of cloud costs and the apportioning of accrued cloud spend to the individual business units.
A large part of this role involves monitoring costs and identifying opportunities to optimize cloud costs. This could include identifying unused resources, identifying the opportunities to share resources, identifying over specified resource instances and liaising with individual teams to rationalise these costs.
In the AWS cloud ecosystem, the financial manager will understand when and where EC2 spot instances, reserved instances and on-demand instances could be used to significantly lower cloud spend.
Cloud Infrastructure Architect.
The cloud infrastructure architect is responsible for designing the infrastructure required to support the solutions being developed by your teams based on the business requirements in the frameworks provided by the enterprise architect.
The cloud infrastructure architect develops and maintains roadmaps for the cloud infrastructure to ensure capacity and availability of resources and data capacity to support the applications being developed and deployed.
The infrastructure architect collaborates upwards with the enterprise architect and downstream to the individual teams to ensure business objectives are being met and that all the required infrastructure is designed and available for the development and operations teams to deliver on their respective responsibilities.
Cloud Operations Engineer.
The ops engineer is responsible for building and deploying cloud infrastructure, monitoring and maintaining resources and shared services that are required for the business applications to fulfil business objectives.
The cloud operations engineer works closely with the infrastructure architect to ensure all the required services are built and running at optimum performance.
On top of provisioning services, the cloud operations engineer will be responsible for compute instance operating system patching and updates, managing templates used to provision infrastructure as code and control versioning and documentation.
Other tasks of this role include appropriate tagging of resources, managing the capacity of storage and other resources, provisioning and managing virtual networks.
Monitoring of the infrastructure is also a major part of this role. When incidents occur, the ops engineers is tasked with identification and resolution of resources needed to support the deployed applications and other dedicated and shared resources running in the company cloud.
As well as monitoring resources for issues, the ops engineer will monitor the performance of resources and adjust settings where needed to keep the application running at peak operational performance. Once the root cause is identified, the ops engineer can escalate the issue to appropriate specialists.
Documentation review and required changes often fall to the ops engineers as does the reporting for compliance requirements your business is subject to.
Finally support and execution of backups are the responsibility of ops engineers, as are recovery operations and restores during disaster recovery.
Cloud Security Architect
A cloud security architect defines the security requirements for your applications and the data associated with them. The level of security will depend on the sensitivity of the data being stored.
Once defined the security architect will direct the development and operations teams on the level of security that should be implemented across your cloud platforms.
To help with this a good cloud security architect will design and maintain security configurations and checklists that developers and engineers can call upon to ensure security policies are being adhered to.
The security architect will also design and maintain risk and threat assessment plans, design and maintain corporate security policies and procedures, including offline security procedures and also prepare incident response plans for when incidents or security breaches are detected.
Security Operations Engineer.
The security operations engineer is at the frontline of any enterprise's security efforts and is responsible for establishing, managing, monitoring and enforcing security across the enterprise cloud.
The SecOps engineer sets up security in line with policies provided by the security architect and manages and enforces compliance to any external compliance standards your enterprise is subject to.
From a technical perspective, a security operations engineer may utilise approved templates to apply security controls as resources are provisioned or as part of scripts used when rolling out infrastructure as code.
The SecOps engineer is responsible for managing IAM (identity and access management) and integration with federated identity sources and approved services like SSO providers.
In AWS this role sets up security groups to ensure users only get access to the systems and data they are entitled to access.
From a threat mitigation perspective, the security operations engineer will risk analysis, vulnerability and penetration testing and may be called upon to produce security audit reports.
Cloud Application Architect.
The cloud app architect is responsible for designing cloud optimized applications. They provide the technical expertise to create the technical designs for applications and spearhead the technical capabilities when following the enterprise and infrastructure architect’s plans and guidance.
This role ensures the defined requirements are technically achievable and defines what is required in terms of capacity and scalability and then using an intricate knowledge of software development, translates the requirements into guidelines and roadmaps for the development team to follow.
As the name implies, an application developer is primarily responsible for coding applications in line with the requirements provided by the app architects.
The dev team is also responsible for version management and pushing updates to a code repository for testing and deployment.
In some scenarios, the developers will deploy code into the production environment, while in others the dev team will pass on the testing and deployment to a DevOps engineer.
Developers will typically provide support for the application, manage documentation, fine tune and optimize code and provide application training where necessary.
A DevOps engineer is responsible for building and executing fast scalable workflows for the deployment of application code as it is released by the developers.
Modern CI/CD pipelines ensure that patches and new features reach end users quickly and continuously.
In traditional software development cycles, users would sometimes wait months for a new release, whereas the DevOps engineer uses automation to deploy and manage frequent code releases as the developers work on them. These builds can happen on a daily basis, so the primary function of a DevOps engineer is to create and deploy builds as they become available and to monitor and troubleshoot failed builds using tools and automation.
A good DevOps engineer should be able to automate just about everything, from the continuous build/deployment pipeline to creating infrastructure as code.
As well as liaising closely with developers a DevOps engineer will constantly review the flow of updates and code versions and suggest improvements which are usually automated.
The roles described above in both the traditional on premise server/network IT infrastructure or the roles described in the cloud roles section are typical of larger organisations. The larger the business, the more likely these specialised roles will be separated and fall to individuals with expertise in the specific role.
Smaller organisations are more likely to employ IT staff that fill multiple roles as described above, even if they don't realise it. A small dev team member is likely to be both an application developer, DevOps engineer and at least two of the architect roles combined.
As more and more businesses transition on premise hardware and application infrastructure to cloud based solutions, the demand for skills in any of the cloud based roles defined in the above article is going to increase. With current skills shortages in many cloud based disciplines, there had never been a better time to transition to a cloud based skill set.
If you are currently building or operating applications on AWS, Azure or GCP and have not automated your cloud documentation yet, we invite you to check out Hava using the button below.