like ansbile and write every thing like that for configuration, Is there any better option if currently we have not moved to containers? Also, moving to containers can we avoid all those steps by just the dockerfile and scale to the moon using kubernetes if required?
docker containers have some requirements that make you automatically write good stateless 12 factor apps. Especially with docker-compose, configuring and starting services becomes a lot more easier. You have to explicitly define environment variables and other capabilities you need like data volumes. There are surely a few bad practices you can still perform, but overall I had good experience with docker. What kind of apps are you deploying?
yeah! I want to adapt best practices and use docker-compose primarily, I like how we can easily use docker-compose for server to run apps on I usually deploy slackbots, php apps, angular frontend, and all that node ecosystem. and setting up jenkins which in turn uses ansbile scripts for CI/CD. though I sometimes get mad doing the same thing like create a new jenkins server, setting up ssh connections for ansible to talk to other servers through CI server
Kubernetes is a monster that will not take you to the moon
okay let’s not worry about moon I thought talking about moon sounds good. I want to know how do we implement devops practices, there are lot of tutorials and blogs out there and Im sorry If I was not supposed to ask this but im not sure how can I relate it to the work im doing currently. like using ansible to do CM for projects, using it for CI server, manually establish connections to required server for CI server to communicate to, and find myself doing more of a ops kind of work. I wanted to know how we can improve and build something. does that make sense?
improvement should be incremental. look for manual thing that you do today. try to make part of it automated with what ever tool that you are familiar and have good knowledge
DevOps is ops work.
Yes I understand that improvement is incremental and it has to be done one after another. I think I was just overwhelmed by the tools available and not being able to decide what to pick and choose for the use case
use the current tool that you are already familiar. some tool is multi purpose that you can use it for different use case. once the use case become too niche or complicated with the multi purpose tool, at that time you need to use a special tool.
Can I please ask for some real world example? I am not able to relate this.
Describe the problem your team currently facing that you want to solve
there is manual configuration work of servers, software(Ansible helps in that) but I also want to automate ssh connections between CI machine where ansible runs to required host. provisioning of infrastructure, configuring security, IAM, on various aws accounts(I dont want to navigate to all of them through UI). other thing is secrets management as there are lot of accounts(want to use vault) these are just few to name.
Forget about the exact tools. Solve the problems
to solve the problems we require tools? if we forget the tools how do we solve the problem?
First determine the problem, then see which tool(s) solve that problem for you in a way you can understand and manage. Don't choose the tool and then try to look for a problem to solve or force yourself to use the tool you picked to solve your problem
okie. I guess im learning it that way. the approach I followed was to pick the tool which solves the problem and use that to avoid hitting that point where problem arises. tough decision to make but yeah whatever gets the job done. 🙂
you are lumping up all your problems together. break it down, list it down to single specific task, then look for tool to solve that single task. once that finish, move on to next task
Manual configuration? In cloud?
I'm not surprised. a lot of company is still handling cloud like handling physical server
yes! that is the reason im here to learn from you all. I appreciate this kind of guidance
Обсуждают сегодня