Requirement gathering and product roadmap team
- Improve product experience
- Add functional features
- Get requirements from IT (internal) and non IT (external) organizational units of the organization
- Business Analyst
- Waterfall
- Requirement document
- Product Owner
- Agile
- Create feature issues for application engineering team
- Product Manager
- Agile
- Roadmap
IT service management
- https://www.atlassian.com/itsm/service-request-management/help-desk-vs-service-desk-vs-itsm (opens in a new tab)
- Service request management
- Knowledge management
- IT asset management
- Incident management
- Problem management
- Change management
Project management
- Project Management
- Release Management
- Project manager
- Release manager
Team management
- Team lead
- Scrum master
- Improve developer experience
- Add non functional features
Application Engineering ( a.k.a Development )
Responsibilities:
- Add features to application.
- Solve non production environment bugs.
- unit testing
From CI/CD pipeline perspective, there are 3 types of applications:
- Applications which are released to customers so that customers can deploy them to their own environments.
- Examples are Windows, Ubuntu, React, Angular, JDK, Kubernetes, Apache Tomcat, Apache Maven, Selenium, Postman, OWASP Zap, etc.
- Output of the CI/CD pipeline is a release version.
- Released artifacts are executables, archives, installers, container images and virtual machine images for different operating systems and middlewares.
- Applications which are deployed to production environment
- Examples are examplebank account, transfer, loan, card, atm, currency, fees microservice application components.
- Output of the CI/CD pipeline is deployment of application code artifacts to production environment.
- If customers own the code, the CI pipeline will build and package the code otherwise it will take it from the artifacts released from the first type of applications.
- SaaS Applications which are configured
- Examples are Salesforce CRM.
- Output of CI/CD pipeline is deployment of configuration and custom code artifacts to SaaS provider's application endpoints.
- From the perspective of the SaaS organization, output of CI/CD pipeline is a release version, and for each customer onboarded to the SaaS application, separate instance of the application is deployed to production environment.
Application Operations
- Solve production problems.
- L1, L2, L3
Testing
- Identify bugs by testing in non production environments.
- Use acceptance criteria to write automated test scripts.
- Create and maintain testing platform which is a set of tools to perform the testing.
- executables, archives, installers, container images and virtual machine images for different operating systems and middlewares for testing tools like postman, jmeter, etc.
- rollback, component, contract, integration, end to end, progressive delivery, synthetic, performance, resilience
Platform
Infrastructure
- Hardware and software
- Data center installation and administration
- Work devices like desktops, laptops, smartphones, virtual desktops, installation and administration
- Compute
- Physical servers like mainframe, HP, etc.
- Archives, installers, container images and virtual machine images for OS with hardening.
- Patching
- OS administration like Linux administration, Windows administration, etc.
- Storage
- Block, file and object
- SAN, NAS, NFS, Samba
- Backup
- Network
- Create and maintain Network platform which manages the network components of the organization.
- First 5 layers of OSI Model
- Physical Layer:
- Cables (coaxial, twisted-pair, fiber-optic)
- Connectors (RJ-45, BNC, SC, LC)
- Repeaters
- Hubs
- Data Link Layer:
- Frame
- Network Interface Cards (NICs)
- Bridges
- Switches
- Network Layer:
- Packet
- IP address
- Routers
- Multilayer Switches
- Gateways
- subnets
- Transport Layer:
- Segment
- No specific devices, this layer deals with end-to-end communication protocols like TCP and UDP.
- Session Layer:
- Logical ports on the IP address
- No specific devices, this layer manages the establishment, maintenance, and synchronization of communication sessions.
- Physical Layer:
- Network administration
- Private cloud
- VMware
- Public cloud
- AWS
- Azure
- Google Cloud
- Infrastructure as code
Security
- Create and maintain Security platform which is a set of tools to implement security practices.
- Hardware and software security
- Private cloud
- Public cloud
DevOps
- Build, package and deploy application changes to non production and production environments.
- Create and maintain DevOps platform which is a set of tools to implement DevOps practices to improve speed and quality of software delivery from ideation to feedback.
- executables, archives, installers, container images and virtual machine images for different operating systems and middlewares for DevOps tools like hashicorp terraform, apache maven, etc.
- Public cloud infrastructure as code.
Observability
- Create and maintain Observability platform which is a set of tools to get traces, metrics and logs from applications and other tools and generate alerts, insights and dashboards.
- Example tool is Collector component of OpenTelemetry application of observability organizational unit.
- executables, archives, installers, container images and virtual machine images for different operating systems and middlewares for observability tools.
FinOps
- Create and maintain FinOps platform which is a set of tools to implement cost optimization practices.
Application Middleware
- Language, Framework, Messaging, Runtime
- executables, archives, installers, container images and virtual machine images for different operating systems and middlewares for middleware like apache tomcat, jdk, python, etc.
- Middleware infrastructure like aws eks etc.
- Application middleware administration
Database
- SQL and NoSQL databases https://db-engines.com/en/ranking (opens in a new tab)
- Database administration
- Database infrastructure like aws rds etc.
Architecture review board
Customer account management
- In case of applications released as products, liason between customer who has deployed the application or using it as a service and different internal teams.
Application code repositories for platform tools
- Discovery :
- Fill a questionnaire for each application component to collect the data. Then, use the data to make recommendations for the tools of various platforms.
- Use GenAI to scan all the application components code repositories and make recommendations for the tools of various platforms.
- Implementation :
- Based on the recommendations, we need to create code repositories for these tools in the appropriate organization
- For example, if recommended middleware tool is apache tomcat because some application components are deployed to apache tomcat as war archives, then we need to create code repository for apache_tomcat application component of apache_tomcat application of middleware organizational unit.
- It will have release branches for each major release of apache_tomcat which has been release by apache.
- CI/CD pipeline will get the artifacts from apache and create executables, archives, installers, container images and virtual machine images for different operating systems and middlewares.