Hi all, I'm a junior developer at a non-software company and my team (and my company in general) seems to spend a lot of time managing lower environments (multiples of dev, qa, stage) and I was wondering if this is just how it is, or if there are solutions I could look in to proposing at my workplace which would make my life easier.
Some of the recurring issues I've noticed are that: * We frequently don't know who (as in which team) "owns" a given lower environment, or how it is configured / what applications are included / up to date in it. Ownership might move around between teams as projects begin and end. * We spend a lot of time reconfiguring our lower environments when a new team takes over and has different requirements of that environment. This work is typically manual and error prone. * Most environments are not "complete" in that they are not full reproductions of our production network. We manage/develop many internal applications that, while they can run on their own, are not fully testable if integrated applications are not also up and connected.
It feels like these sort of issues are regular blockers for my team and often the solution is either to find a team willing to give up an environment and then reconfigure it, or trying to get our systems team to set up a new environment which is often not a welcome request.
Most of our applications run on virtual machines (a mix of windows server and redhat) but as far as I'm aware nothing is containerized. I don't know that we have the knowledge in house to take on containerization at this time and I suspect it would require fundamentally shifting how our entire IT department operates. Once environments are set up, deployments are mostly automated via Jenkins, but all of the infrastructure management appears to be very manual. Are there any tools or techniques to help manage all of this? I feel like I spend more time fighting with environmental issues than I actually do writing software.
submitted by /u/ICantPCGood
[link] [comments]
from Software Development – methodologies, techniques, and tools. Covering Agile, RUP, Waterfall + more! https://ift.tt/yLDHtm3