Operations in software company


















Example 2: A telecommunications company licenses its branding to be used on manufactured mobile phones. Vendors email the partner marketing team with their requirements and attach spec sheets and images. The process is cumbersome, requiring a great deal of labor and causing delays in receiving license revenue due to processing time, misrouting and missing vendor information.

The partner marketing team employs operations management software to create a vendor portal and vendor licensing forms that make it easier to get accurate data from vendors and then route it quickly to the right internal resources. To see how quickly you can begin automating your business processes, request a demonstration or trial of Integrify. Get a Demo Learn More.

Toggle navigation. We have seen that product quality consistently improves with developer involvement in production operations. We also agree with David that it is a challenge for the development team to devote time to operations when they have new code to write. However if David means operations work is not "high value" enough, I dispute that.

I am not assigning a value to the work Ops does that is any less than the work Dev does. Just different. Second, Geva Perry's analysis of the impact Cloud Computing is having and will yet have on the role of operations is very valuable thinking that we should expand on, maybe in another thread one day. At New Relic we have some apps in the cloud and others in a more traditional hosting environment.

We have lots of customers, though, deployed in all kinds of cloud environments and we hear from some of them about how they struggle with the new and different demands of that deployment option. Third, I agree and disagree with John Allspaw's comments. I disagree when he says that Cloud automation will not appreciably reduce the amount of Ops people.

I think it's an inevitable trend. I agree that in most larger organizations, there will remain an Ops organization and success will be measured by the degree to which they learn to collaborate, not the degree to which they obliterate the other.

Fourth, I like Sellers Smith's "signs of a healthy operations environment. I still favor shifting more responsibility for application and service level success to the developers so that there is less emphasis on the hand-offs between Dev and Ops and more on building apps and app platforms with the end in mind. Think of the Design for Maintainability movement in industrial engineering and consumer products and you will see where I am going.

Bjorn Freeman-Benson: This will be my last posting on the debate, though I may jump back in as a commenter if I see some more great comments like those below. First of all, this has been a great experience for me and for my colleagues at New Relic. This has stimulated some interesting internal discussions see Bayard Carlin's comment below for an example.

We have heard from customers, partners, and other friends in the business. Its clear from these discussions and from your comments in the debate, that having an Ops function is not going away for most organizations of any size. There are too many jobs cutting across all of IT needing compliance, governance and standardization that cannot be left to individual app teams.

So let's assume you are going to have an Ops function if you are employed by a larger company. Startups and small companies may and should, in our opinion, successfully blend Dev and Ops into a single role.

In this posting, I would like to summarize our thinking on both the Role of Operations and on some ways Dev and Ops can work more harmoniously, productively and efficiently. The role of IT operations has changed significantly in the past, say, 10 years. And in the past 2 years the pace of change has accelerated pretty dramatically.

On this, I think Ops people and most others in IT can agree. As more applications have moved to a distributed model using web technologies, application complexity has increased at the same time that application development cycle times have decreased.

What a bind Operations finds itself in! Ops teams need deeper and more varied skills to manage more complex application environments even while agile methodologies, Cloud deployment platforms, high performance IDE's like Eclipse, and new application frameworks like Rails, Spring, JEE, Grails, and. NET enable faster and faster application development. To succeed today, the Ops team will need to adapt to a faster pace of deployment and to a continuous ratcheting up of complexity.

In my opinion the role will call for one set of skills that are solely within the Ops team because they apply across the whole enterprise and another set of skills that are shared with the Development teams. Shared skills are those where Dev takes the lead but Ops works side by side more on that later. The best thing an Ops team leader can do for his people is to provide them with opportunities to cross train in those skills in which Development takes the lead.

Thanks for following our debate. It's been a lot of fun. Special thanks to Carlos Armas for challenging our positions and taking on the role of opponent. Join a community of over , senior developers. View an example. You need to Register an InfoQ account or Login or login to post comments. But there's so much more behind being registered. Your message is awaiting moderation. Thank you for participating in the discussion. We are in the middle of dealing with this very same issue from an organizational perspective.

We have a large development organization located in multiple development centers across the country as well as a significantly larger operations organization. Our market differentiater in some cases good in others bad are systems we built, many years ago, but still depend on today. However, we are starting to bring commercial products into the mix since we have not been able to keep up with many of the advances process, framework, methodology or even tool sets in the market place taking place today.

We have a mixed support model with operations folks and development staff supporting operational systems but neither in a really holistic fashion. Sometimes it depends on the day of the week or the time of the day who takes the first call and tries to help. In time it get to the right person mostly , but it takes time not acceptable from a customer support standpoint and mostly is not a way to run a quality service organization.

So we have started a 12 month effort to define the difference between replacement, enhancement and bug fix on the development side as well as from an operational application support standpoint; what is tier 1, 2, 3 or even 4. Once we have those definitions agreed to not just within the IT organization but also with our internal business customer we will start untangling the 2 organizations such that we can count on our operations staff to 'fully' support systems whether software or hardware and our development staff to focus on delivery of new capabilities.

So were pretty much aligned with Carlos on his perspective. However, do recognize that if you move to a public cloud or even a private cloud run by your vendor the size and extent of your operations staff should change. Good points Bjorn, Carlos, Stephen -- you all come from varied company and operational environments, and as such, your outlooks are a bit different, which is, of course, to be expected. It seems to me that the three of you have described case studies for different operational environments.

What works for Bjorn's operational environment may not for Carlos's and Stephen's. I can paint a tiny case study description for my small organization: we are like Bjorn developers handle everything: dev, QA, support, ops. This has not always been the case, and it will change going forward. It is indeed good for our developers to be deeply involved in technical support, as it leads to a better product that they produce.

All of what you three have described sound like case studies, and I've benefitted from reading them all. I am not sure every enterprise should allow developers to have end-to-end responsibility of an application. However, operations need to enable smoother control mechanisms in the form of self-service for developers to take more control of their applications. In fact, Mr Armos, looses a lot of credibility when he says his operations folk are lower paid than developers. That is not the way highly scalable infrastructures run today.

Ask etsy. Amazon Web Services is a great example of enabling developers to self-serve their applications with limited operations. I have been in operations for over 30 years and you will never hear me advocate the elimination of operations. However, I think as industry operations needs to clean up and man up. Developers over the last 15 years have made enormous strides in productivity and most ops shops are still running the same as 15 years ago. Operation should still be responsible for the ebb and flow of ops and be less dependent on guesses of what dev wants.

Basically agree with John -- ops needs to modernize and improve their processes, but that doesn't mean they go away…. Operations folks could learn a lot from the agile tools that developers have learned these past 10 years. But developers also need to understand that infrastructure is a different beast than straight code -- you're manipulating something more akin to a robot, where transition states, incomplete knowledge, and continuous sensing are common.

Looking at many of the cloud management on-ramps out there, they seem to me designed more for developer self-service than for ops, IMO. Self service is nice, but it's not the crucial feature to make an application reliable, fast, and secure. First, congrats to the InfoQ team for adding an Operations Community. There aren't many forums for intelligent high-level discussions on the topic, so it's a great addition.

To the topic itself: It seems to me that we are actually looking at several trends that are changing the nature of operations, and therefore, require a re-examination. In turn, this means that development and operations processes have to be tightly coupled. Different organizations will address this in different ways: in some, development will take responsibility for the operations. In other cases, there will be dedicated ops people but they will report to the dev organizations, and in others, there will be a separate dedicated ops team.

The decision on which approach works best depends on factors such as the size of the organization, the nature of the app more on this below , the history and politics of the company, etc. Trend 2: Automation of Operations -- We are seeing significant innovation in the automation of IT operations themselves. Companies such as John Willis's employer, OpsCode, with Chef and Puppet Labs with Puppet are driving this trend to the next level by providing domain-specific languages for the automation of many IT tasks that were previously done manually or at least, on an ad hoc basis with home-grown scripts.

Others have already mentioned self-service capabilities, and of course, there is the fact that almost every aspect of the infrastructure is being expose through an API, which allows developers to access it programmatically. In short, and this may be painful for some to hear, many aspects of operations are being automated through programming and are less necessary.

That's not to say there is no need for dedicated operations positions, but that they are changing their nature to higher level tasks. Not only are many of the tasks automated, but the entire infrastructure is outsourced further removing the need for operations personnel in the organization that owns the app.

The good news for ops folks is that IaaS and other cloud providers need highly-skilled ops people and in those types of companies they too are the rock stars and not just developers.

Trend 4: Platfrom-as-a-Service -- Although in many ways this just a special case of the IaaS trend which can also be referred to as "cloud computing" in general , it's important enough to this debate to list separately. Increasingly, we will see cloud platforms that handle even relatively high level tasks that have to do with the software stack e.

This further decreases the need for sys admin tasks. In addition, many of these platforms, such as Heroku, Engine Yard, Force. For example, in Heroku, you can add New Relic's APM capabilities with a click and now have sophisticated management and monitoring capabilities. These changes obviously don't happen overnight but I think the trends are undeniable and will have a pretty profound effect on the role of operations and dev. I completely disagree. It is about seperation of concerns.

IMHO everybody has to be crossfunctional but to a certain limit, with this I mean that the developers need to know about operational stuff and the people from operations need to know about development.

At the same time the development deparment and the operations department should not be islands working in complete isolation throwing stuff at eachother over walls, instead they should work together. I do not believe that developers can be crossfunctional to such a degree that they can be good developers and at the same time be good DBA's and be good at IT operations, I agree that this might be a good model for small development shops but like I mentioned do not exaggerate.

I wasn't making the argument that developers need to be cross-functional to a high degree. Not at all. I think the trends I described indicate three things in that respect: 1 That the overall need for operations folks in numbers is being reduced due to automation 2 That the need is moving from the organization that owns the app to the cloud provider 3 That there is a need for development and ops to work more closely -- and I stated explicitly that likely in small shops the roles will converge but in other cases it mght simply e a question of merging the development and ops teams which is what is actually happening particularly in many SaaS shops.

I won't repeat what I said here about the topic: www. It's very possible for development and ops to work together while being parallel groups within an organization.

John - After reading your blog post, I don't think we're that far apart. I do think, however, that ops will be reduced in quantity of people in non-cloud providers from many low-quality on average to fewer high-quality i. Isn't that what automation is all about? Re 3 - I'm not trying to predict that. I think my main point is being lost, which is that dev and ops need to work more closely together and that will take different forms in different organizations.

It's easy to take the DevOps position as one advocating that developers take on an operations responsibilities. Operations people need not be nervous. That's not correct. As Geva, John etc. In addition to commune-like levels of collaboration however, we need to recognise that developers and operations people have skills and understanding to pass on to each other. Stereotypically, developers don't know about anything outside the IDE, and ops people don't know how to code.

That's not entirely correct either, although I have worked with examples of both. Hopefully the skills transfer will naturally flow from the collaboration. I'm not suggesting that developers need to be operating system experts, but knowing about the ecosystem that your code runs in makes a world of differnence.

It seems that the two roles have been wedged apart by vendors, habit, and a sociopathic need to build specialised teams in organisations. Guys, architects and developers in operations will never work.

People that are good in understanding business requirements, in change, in developing structure do not make them good in supporting this, finding bugs, deploy applications or similar. Likewise that a good specialist doesn't mean he is a good manager or vice versa. Think of football - a good attacker is not necessarily a good defensive player. How will you expand your business if all your change people are caught up in supporting the existing infrastructure? IMO, having operations as part of development or a separate group can succeed or fail.

As organizations get larger, they will need to determine how to organize and a couple of ways are 1 around products joint development and operations or 2 around functions separate development and operations. IMO, the real issue is development and operations working together effectively.

Regardless of your organizational structure, everyone needs to take accountability for the successful operation - and use - of the system. The folks operating a system needs to understand how it was built and the folks building a system needs to understand how it actually performs an is used by customers. You can this knowledge sharing with a single DevOps organization, or with close collaboration between the two organizations.

As part of building software, work products necessary to operate the software need to be built - e. Ideally, they are built by a joint team, and serve as a mechanism for process improvement. Teams should be continually improving their processes. If the teams are separate, representatives from each team should be providing - and accepting - feedback on ways to improve the processes.

First I don't think developers can just replace ops people because "they know the app and the VM best". There are still more factors to take into account like the mentioned backup strategies or tuning of the underlying OS, application of OS patches etc.

In General I think the debate should not be "how can we separate them" or "how can one group replace the other", but rather "how can we bring the two together for additional value". One of the things I have in mind is that operations and developers sit together and define "monitoring hooks" that allow operations to better monitor the working of the app - not only the 'physical' parameters like VM size or request response times, but also other factors that can be counted within the app.

This can even go as far as involving the biz people to expose business metrics into the monitoring systems, so that the business stakeholders can be alerted on out-of-bounds business metrics. Carlos presented examples of the separation of duties principle in Quality Assurance. But this debate goes beyond principles to include; audit, legal and international standards as a basis for separation.

Internal audit often looks for processes consistent with industry norms read ITIL, which includes release management.

SOX as interpreted by some calls for a separation of operational support for example, who has access to the production finance database. ISO includes segmentation and need confirmation.

Two thumbs up for sitting together. SaaS is fast becoming an essential part of the way a company delivers its business. At the same time, it presents new challenges. Traditional Software Asset Management processes and systems are no longer relevant and the challenges and risks faced by businesses using SaaS are different to those using traditional software.

SaaS software facilitates and encourages bottom-up purchasing decisions. So companies need to tackle these challenges head — SaaSOps is the new field tasked with doing so.

And the data is beginning to back this up. As SaaS subject matter experts, SaaSOps teams primary role is to help users and teams be successful users of software. While most SaaS purchasing decisions are made by the teams and users directly, often companies face new challenges as they scale that can only be solved by new software solutions.

This is a challenge when SaaS is often bought by users directly, without the involvement of IT or procurement. SaaS Operations platforms like Cledara empower SaaSOps professionals to spend less time on manual spreadsheet work, and more time on adding value to your business. Once you have a system of record for software, you can start using that data to identify forgotten, unused and duplicate SaaS subscriptions and opportunities to consolidate products.

You can also use the data to understand the real software spend of your company, as well as the fully-loaded cost of a team member or team — this all leads to more accurate budgets. Companies that use SaaS tend to use a lot more software than those that use traditional software. For companies with , people, new SaaS products are adopted by at least one person in a company every month. Every new SaaS product in a company adds extra administration every month.

Chasing invoices from the company, reconciling them to payments or expense reports and doing the bookkeeping takes hours. SaaSOps teams are responsible to find ways to make mundane, slow manual work automatic. That way finance teams can get back to doing things that add value to the company — rather than spending forevermore on SaaS bookkeeping. SaaS touches everyone in the company.



0コメント

  • 1000 / 1000