Dev ops Achitecture and services
Ganesha Swaroop B
|17+ yrs exp Software Testing|Author| Mentor|Staff SDET|Technical Writer|Technology Reasearcher|Java|Pytest|Python|Allure|ExtentReports|BDD|Jenkins|SME|Self Taught Data Science and ML Engineer
What is better than Ansible?
Puppet Labs, Chef, Salt, Terraform, and Jenkins are the most popular alternatives and competitors to Ansible.These tools help in configuration management, handling the servers, monitoring for network issues and related things. For maintaining the application specific configurations we have docker, kubernetes,jenkins and so on.......
If you are using any one of the above tools then there is no need to use Ansible. We find Jenkins being used predominantly which encompasses both CI and CD.
Splunk is also one other tool that has better features than Ansible and could be used but is a liscenced tool from Atlassian.
Understanding Dev ops:
In Devops if the company is using Jenkins as the CI/CD tool then this could possibly be one of the Architectures of Dev ops.
QA/Dev team uses:
1. Eclipse/Intellij Idea for coding automation scripts
2. Git plugin for handling local code repositories and Github account for central script repository.
QA team puts its automation Framework into Jenkins Server, schedules it to run at a certain time as and when testers comit their code into the central GitHub repository for testers and runs the scripts.
SCM poll is configured to maintain version controlling in jenkins.
This jenkins server is installed on top of EC2 instance inside AWS thus making your framework also on cloud.
Operations Team uses:
3. AWS account
4. Jenkins installed on EC2 instance
5. ELK/Splunk installed on EC2 instance (ELK is 3 opensource tools Elastic Search, Logstash and Kibana) that capture all logs when monitoring the application in test server and prod server.
领英推荐
6.ECS (Elastic Container Service) from AWS
7. Jenkins integrated with AWS EC2 (Elastic Cloud Container) and Github to pull the comitted code and build the application.
8. AWS S3 bucket to manage the containers
9. Code Deploy plugin from AWS which pulls the builds from S3 bucket(Simple storage Service) and deploys to production server.
ELK(Elastic Search, Logstash, Kibana) can be used with both Docker and Kubernetes used individually on EC2 instance inside AWS integrated with Devlopment GitHub to pull the application code and build it using Jenkins.
If you choose to use Docker on top of EC2 instance inside AWS then there will be multiple docker images of Application in different containers and to handle these containers AWS provides ECR(Elastic Container Repository) and the rest of the infrastructure will remain same as is.
In a nutshell what are the things you need to know for Dev ops?
1. Any one cloud platform (AWS/GCP/Azure)
2. Services given by cloud providers like ECS,ECR,EC2,CodeDeploy in case of AWS.
3. ELK/Splunk/Prometheus for collecting logs and Analytics for data collection and monitoring
4. Docker/Kubernetes if you are planning to use containers for application builds.
5. Git and GitHub commands add,push,pull
6. If you are using linux then you need some basic Linux commands.
7. Any one programming language to write CI/CD pipelines for Data engineer.
8.Using AWS/Azure/GCP?
9.Configuraing and integration skills to integrate the whole platform.
Hope this helps....
Thanks and Regards,
Swaroop