Is DevOps favoring the Devs over the Ops?


On paper, DevOps involves the merging of the software development and network operations teams with the hopes of faster application deployment. Companies in a variety of business sectors enjoy competitive advantages because of a successful DevOps implementation. Software engineers and network administrators happily collaborating for the greater good of their employer remains the ideal view.

However, some operations professionals in the industry feel the developers are dominating things too much. Are these the signs of an emerging “civil war” in DevOps? Let’s take a closer look at the details to see if you need to worry about your own team.

Do Network Engineers truly feel Railroaded by DevOps?

A recent article by David Rubenstein in ITOps Times reveals a growing disenchantment with DevOps from networking professionals. They feel the demand by executives for a faster software development process is leading to a lack of control over IT operations. Rubenstein notes that software engineers use DevOps as a cover to “circumvent IT processes that have long protected businesses from costly downtime and security breaches.”

He isn’t alone in this opinion. Lucas Carlson, vice president of strategy at the Cloud automation firm, CA Automic, explains this position in detail.

“DevOps to this day is really built by developers and for developers, and it really feels like a misfit to try to force IT operations to use DevOps tools, given their heritage, because they were built with developers in mind… They’re great for developers but not for IT operations, and that’s kind of created a shift, a divide, and it seems like almost ever since DevOps has been gaining traction and popularity, the developer role within organizations has become more and more raised and lifted. Everybody’s trying to hire developers. Developers are kind of the kingpins of the technology world right now. Developers are held at the highest ranks of where people in technology look up to, and IT operations has really been left behind in all of this,” said Carlson.

Is his view simply a case of sour grapes, a valid concern on the near-future of DevOps, or a mixture of both?

The Traditional War between Developers and Network Administrators

Since collaboration and communication are the hallmarks of modern software development, are we seeing a return to the old days where software engineers and network administrators were typically at each other’s throats? This author remembers a fellow developer regularly called network personnel at our company “setup.exe” in a derisive fashion. He felt their only value involved installing software.

This kind of attitude on both sides forgets one basic fact: development and operations are working for the same team. For his part, Carlson hopes for a new term to take the place of DevOps – AgileOps. Mere semantic changes probably won’t matter, especially considering the strength of DevOps as a buzzword. We’ll see.

Ultimately, these are all likely still the growing pains of a new methodology. Since the executive team controls the direction of the company – and the purse strings – developers and network engineers simply need to collaborate better. A slower approach to the SDLC won’t fly in this competitive Agile era.

Maybe some late Valentine’s Day cards need to be sent between developers and their ITOps brethren?

Keep coming back to the Betica Blog for additional news and insights from the software development world. As always, thanks for reading!

Functional Programming hits the Big Time

functional-progNo longer the stuff of more esoteric applications, functional programming is beginning to see increased usage across the software development world. At its essence, functional programming tells software explicitly what to do, instead of procedural programming’s focus on how to do it. As revealed in its name, it is a stateless paradigm with more similarities to mathematical functions than a massive object-oriented application.

Let’s take a high level overview of functional programming to see if it makes sense as part of your development team’s toolbox. Perhaps it triggers some insights to solve a pressing problem in your current software engineering efforts?

So what is Functional Programming?

The changing business world and its focus on interactive apps able to scale massively are outgrowing state-driven software. This fact is highlighted in a recent article by Forrester Research published in ZDNet providing a look at functional programming and its increased relevance to the programming community. The article notes FP requires a different mindset and approach compared to traditional programming languages.

A recent study reported that over half of all surveyed developers work for a company now using functional programming in some fashion. Forrester compares this migration to the emergence of object-oriented programming in the 90s. OOP served to transcend the limitations of procedural programming back then, and FP is poised to do the same thing to OO software today.

In addition to its overall brevity compared to object-oriented code, functional programming offers other advantages over older programming styles. It reduces regression errors in code, supports greater reuse, and also makes both the creation and maintenance of software an easier process. As noted earlier, applications written with a focus on the functional paradigm are able to massively scale better than OO software.

That latter point is especially important in a business marketplace increasingly dependent on eCommerce and social media.

Functional Programming Languages

While there is a host of functional programming languages considered to be “pure,” many of these are included as part of mathematical software. Thankfully, nearly all popular languages support the use of functional programming constructs embedded within any codebase. As such, programmers and architects need to be conscious of thinking in a functional mindset when designing and writing applications.

A hybrid language like Scala (or even F# for Microsoft shops) serves a bridge for introducing more functional concepts into a team’s “regular” programming style. Even old school examples like PHP or JavaScript are able to work as a functional programming language. Simply understanding how functions work within any language helps bootstrap this new mindset.

While Forrester provides the full functional programming report referenced in the ZDNet article, it requires a subscription to their research service. If your company already subscribes, congratulations and a download are in order. The research report is also available for non-subscriber purchase for $499.

Thankfully, there are other free resources available for learning about functional programming. The UK-based developer, Mary Rose Cook has a detailed blog post on the topic. Smashing Magazine also provides a useful introductory article.

Simply put, learning about functional programming is a wise choice for any software professional. Expect to encounter its use in your career soon, if you aren’t already using it today.

As always, thanks for reading this edition of the Betica Blog. Come back soon for additional insights on the programming world.

News from the World of Software Development – January 2018

devnews-januaryWelcome to our first news digest of the New Year. We offer a few interesting stories from the software development world from the previous month with a measure of our own analysis. Hopefully, you are able to wean some actionable information from the latest IT news to help inspire your own development efforts.

If you are interested in checking out last December’s digest, simply click on the following link.

Spectre and Meltdown Fallout continues Unabated

Obviously, the kerfuffle surrounding Spectre and Meltdown – and its mitigation – continues to dominate the tech news this month. We covered the story for the first time last week, and have more information to report in this digest. Let’s take a closer look.

Linux creator, Linus Torvalds offered some pointed criticism at Intel. He called a set of Intel’s patches for the chip flaw vulnerability “garbage.” Linus continues to be known for his outspoken nature, and this incident is no exception. His opinion was reported on in ZDNet as well as other tech media sources.

“They do literally insane things. They do things that do not make sense. And I really don’t want to see these garbage patches just mindlessly sent around,” added Torvalds. This latest outburst comes after a shot at Intel soon after the chip issue first became known.

“I think somebody inside of Intel needs to really take a long hard look at their CPU’s, and actually admit that they have issues instead of writing PR blurbs that say that everything works as designed,” said Torvalds.

Spectre and Meltdown caused a delay in the release of the new Linux version, 4.15. Torvalds expects another release candidate instead of the arrival of the final Linux build.

Intel responds to the Criticism

Earlier this Tuesday, Intel responded to Torvalds’ barb. “We take the feedback of industry partners seriously. We are actively engaging with the Linux community, including Linus, as we seek to work together on solutions,” the chipmaker commented.

In a sense, Intel’s attempts to fix their chip flaw are almost worse than the initial problem. This week, The Verge reported on the chipmaker advising users not to install patches released earlier this month. Users reported servers and PCs randomly rebooting after those patches were installed.

“We recommend that OEMs, cloud service providers, system manufacturers, software vendors, and end users stop deployment of current versions on specific platforms, as they may introduce higher than expected reboots and other unpredictable system behavior,” wrote Intel Executive Vice President, Navin Shenoy. Needless to say, pay attention to the news around Spectre and Meltdown to ensure minimal disruption to your company’s operations.

Making Application Design Faster

A new product from MEGA International offers the potential to speed up the software architecture process. HOPEX Application Design fosters a common approach to generating application requirements. It leverages a SOA approach while also using traditional modeling methods like UML.

The tool works seamlessly with both Agile and traditional software development methodologies. It promises to reduce the number of sprints while also delivering a more robust application in the end. If your organization is looking for a new app design tool, HOPEX is likely worth your attention.

That’s it for this edition of the Betica Software Development News Digest. We’ll see you next month. As always, thanks for reading!