Tag: DevOps engineers

  • DevOps at the Speed of Business: 5 Tips for Success

    DevOps at the Speed of Business: 5 Tips for Success

    It’s an exciting time to be an engineer. With companies today moving faster than ever, engineering teams are developing and deploying new code daily, continuously improving and advancing the business. But while the pace of modern development creates new opportunities for engineering teams, it introduces new challenges as well—in particular, making sure new code releases don’t bring the system crashing down. With more code comes more opportunity for error.

    When organizations scale fast, the challenges compound. As the engineering team grows to keep pace with expanding business, it becomes more difficult to keep track of the new code being developed. This lack of visibility can frustrate even the best teams. Without a clear view into what changes are being made, it becomes more difficult to fix them when something goes wrong.

    What do you do? Here are five key DevOps practices critical for organizations scaling fast:

    Put a Premium on Collaboration and Communication

    DevOps teams, no matter their size, need to be able to share information easily and quickly. When a problem occurs, forensics and root cause analysis must be performed as fast as possible, and engineers need to be able to annotate events that occur within the product deployment stream. Most companies already have the tools to do this, but they often fail to communicate what they find. Opening lines of communication between disparate, often geographically dispersed teams enables everyone to expand beyond their own knowledge base and capabilities to help one another. When everyone can share their knowledge, it raises the collective talent of the entire engineering community, creating a more collaborative learning environment and a culture of sharing.

    Democratize the Tools

    Tools that are accessible only to a small group of power users always fail. There’s not a person in the world who wants to put hours into teaching themselves a new tool if it isn’t approachable and interesting. That’s trouble, because the fewer people that understand how to use a given tool, the more difficult it is to use it to fix a problem. For example, if the ability to query log files is limited to the three engineers who are certified on a tool, the size of your team won’t matter; you can have 50,000 of the best engineers, but effectively, it’s a team of three. This bottleneck can have serious business consequences. Imagine you’re an online retailer having your biggest sale of the year and your website crashes. Every minute you spend finding an authorized user is a minute lost, and when the internet is your business, time is quite literally money.

    Spread Recognition of Value

    No one wants their work to go unnoticed, but recognition is a learned practice and one that requires continued focus. DevOps teams and their work save their organizations vast amounts of time and money, and business leaders should take care to highlight the value of their team’s successes, both internally and externally. Not only does it encourage their teams to work harder and smarter, impacting the entire organization, but it also lifts up DevOps teams everywhere, publicizing best practices to outside teams and creating an exponential impact across the entire engineering community.

    Don’t Just Expect Change, Embrace It

    Innovation generally happens for two reasons: The tools being used to solve problems aren’t working, or the problems you’re trying to solve have changed. Every day, companies get frozen in time—the tools they use may work now, but the world around them is changing. It’s easy to get caught in a cycle of developing new products, but what if the tools your business uses to solve problems are out of date? When engineers make changes in the code, they must be in lockstep with every other department, from QA to customer service. Organizations that embrace change always will have a leg up on the competition.

    Capture Your Knowledge Base

    As business scales, their teams scale with them. What once may have been a two- or three-person DevOps team becomes a 40 person machine, and with scale comes a lack of coordination. More and more, DevOps teams are scattered across the globe, in offices and remote, and no two people have the same workflow. In this fragmented environment, it becomes imperative for companies to keep a store of knowledge their engineers can reference wherever they are, whenever they need to.

    Fostering a strong DevOps culture isn’t easy, but it’s necessary. At its core, DevOps is about collaboration and communication—companies that treat each team as separate units risk siloing their employees, creating closed information channels that are difficult to break through in times of crisis. Whether you’re pushing new code or bringing your business back online, timing is everything and engineers need to be able to move at the speed of business. These five tips won’t fix your code or craft new features, but they’ll certainly ease the process.

    — Dave McAllister

  • How DevOps Teams Can Skill Up on DataOps

    How DevOps Teams Can Skill Up on DataOps

    If you’re a DevOps engineer, you probably don’t think of data operations as a key part of your job. You help to write code and deploy and manage applications, while someone else handles data management and analytics, right?

    Probably not. Although it might be comforting to imagine that every company has a dedicated team of data specialists on staff who oversee data operations, the reality is that the vast majority of companies employ no data scientists at all. Only around 6% of large enterprises have data scientists on staff, and virtually no small and medium businesses employ data scientists.

    What this means is that at most companies, effective data management is the responsibility of any and all IT employees that these companies have on staff, including (especially) the DevOps engineers who bridge together development and IT operations. If the DevOps team doesn’t take responsibility for data operations, it puts at risk the applications that depend on healthy data flows to do their jobs.

    That begs the question: How do DevOps engineers (most of whom weren’t trained in the intricacies of data management) learn to support data operations? Keep reading for tips.

    Data Operations and Software Delivery

    Data operations (DataOps) refers to all of the processes and workflows required to collect, store, manage and analyze data.

    Traditionally, DataOps were siloed away from software delivery and management. The people who wrote, deployed and monitored applications were different from those who dealt with an organization’s data. That approach worked well enough in previous decades, when the data that organizations had to manage was less massive and less valuable.

    Today, however, data has become too critical a component of effective software delivery to be left in a silo. Many modern applications depend centrally on data. If your app includes a predictions engine or a recommendations feature, it requires data to do its job. Similarly, the monitoring tools that IT teams use to assess application health are driven by data. Data collection and analysis are critical for security operations, too.

    Thus, modern application delivery pipelines depend not just on the smooth flow of code from development into production, but also on a healthy flow of data. You can no longer isolate DataOps from application delivery (and even if you could, you probably don’t have a dedicated team of data scientists to handle your data anyway, as noted above).

    Adding DataOps to DevOps Software Delivery

    How do you actually go about integrating DataOps into an application delivery pipeline in a DevOps organization? Consider the following pointers.

    Automate, Automate, Automate

    Automation is just as important for effective DataOps, as it is for DevOps software delivery. By embracing tools that automate data collection, management and analysis, IT teams ensure that DataOps flow as smoothly as the software delivery pipeline.

    What’s more, data automation tools can help reduce the amount of DataOps work that general IT staff need to perform. That’s a key benefit for DevOps engineers who don’t have extensive DataOps experience.

    Embrace AI

    Another way of reducing the amount of DataOps work imposed on IT staff who are not trained as data specialists is to leverage AI to help them make decisions within DataOps workflows.

    Until just a few years ago, only a few tools used AI in a practical way to power DataOps. That is now changing, and modern data management tools make effective use of AI to reduce the decision-making burden on human engineers.

    Focus on the Data that Matters

    Within the context of software delivery (and elsewhere), some data have more value than other data. Since you have finite staff and material resources to devote to DataOps, identifying which data is most important for your applications is critical for optimizing your DataOps workflow.

    In other words, just because you collect data doesn’t mean you necessarily need to store and/or analyze it.

    Be Infrastructure- and System-Agnostic

    It can be tempting to rely on the data management tools provided, along with the cloud infrastructure you use or the platform you run on. However, although these tools might be helpful to a limited extent, relying too heavily on them puts you at risk of being locked in and having to rebuild your DataOps from scratch if you migrate to a new infrastructure or platform.

    For that reason, choosing DataOps tools that work with any environment is a wise idea.

    Educate Your Team

    The final pointer for helping your DevOps team do DataOps is simple: You need to educate them about data and what makes it work well. Don’t expect to turn them into data scientists, but they should understand concepts such as data quality, and recognize the bottlenecks that can get in the way of healthy data performance. Although these concepts may seem basic to someone trained in data management, they are usually foreign to DevOps engineers.

    Conclusion

    To say that we live in a data-driven world is a cliché. But it’s a cliché that is eminently true if you work in software delivery. In many cases, you can’t do DevOps without having healthy DataOps, too. That fact, combined with the lack of dedicated data teams at most companies, means that DevOps engineers must learn to integrate DataOps into their workflows.

    This sponsored article was written on behalf of Unravel.

    — Chris Tozzi

  • DevOps: What Do Governments Need to Know?

    DevOps: What Do Governments Need to Know?

    How the government can successfully implement and enforce DevOps practices

    The speed at which technology is being produced it outstripping the pace at which better development tools are being introduced, which makes secure development even more challenging. Unfortunately, the negligence of organizations and authorities is intensifying the issue.

    For this reason, organizations are adopting DevOps. for the betterment of technology. This way technology will be not only safe but also exciting to use.

    The term DevOps is derived from software development (Dev) and information technology operations (Ops), combined to create better results when separate groups work together as one team.

    What Can DevOps Do?

    DevOps has to manage the IT infrastructure as per the necessity of the recommended software code that is dedicated in a composite multi-tenant environment. There is a requirement to have the resources for provisioning, to get the suitable deployment model and also to authorize and monitor the performance.

    When DevOps is discussed, there is a requirement to have constant and incremental adjustments in the code versions so regular testing and deployment are possible. It might not always be feasible for DevOps to do coding from scratch, but they still must understand it.

    DevOps needs to connect several elements of coding and desegregate various segments of SQL data management or messaging tools to release the working software, with operating order and production infrastructure. It could be both the developers who started into operations and the system administrators who started into the coding domain. Either way, there is a cross-connection work function that is seeing a massive upside in the style of software that is produced and used in mission-critical applications.

    How Can DevOps Be Enforced Successfully?

    Now that we have discussed what DevOps do, it’s time to learn the ways in which organizations enforce DevOps successfully.

    Higher Authority

    It is essential that we refer to higher authorities. By getting support from the top authorities, we can easily manage the work of DevOps.

    “DevOps is fundamentally a reorganization.”

    –Adrian Cockroft, lead architect, Netflix

    Altering any management organization, with its deeply rooted techniques of functioning and complicated network of employees and suppliers, is a challenging job. So, solid backing at the beginning is as crucial as having employees. You cannot start a new technique without employee support; in the same way, you cannot begin a new plan without any support from authorities. You need someone from the top to monitor the work and provide feedback.

    Blameless Postmortem

    Adopting DevOps also requires every member of the team be comfortable in their learning. Hence, the blameless postmortem, which eliminates finger-pointing when things go wrong—highly recommended for DevOps beginners. Blameless postmortems are even required by some government offices.

    Blameless postmortems organize a cross-section of those invested in the project to evaluate why certain outcomes occurred. The postmortems include an examination of the situation and ways to resolve them through various procedures or technology variations. They are an excellent method to initiate constant development.

    Increase DevOps Engineers

    Another effective way of expanding DevOps and enforcing it in the government is through hiring DevOps engineers. A DevOps engineer is the individual responsible for all the steps during the process of DevOps, and are responsible for bringing both organizations together to work as a team. There are not enough DevOps engineers today and the workload is much more than they can handle.

    Start Small and Scale Up

    Whenever you start something new, start on a smaller scale. Whether you’re working on a business plan or testing a new recipe, you should always start small and work your way up.

    In the same vein, it is important to start small when implementing DevOps. Rather than go all-in at once, create a group of people who will work together as a team. If the results are good enough, then expand your implementations to a wider audience.

    Eliminate Restrictions

    Last but not least, it is essential to remove all the constraints involved. Eliminate any limitation that may occur during DevOps enforcement. Limitations could vary from generating new constructions or applying code variations to assimilating data foundations. If the constraints are not removed from the beginning, it may cause problems afterward.

    Conclusion

    With the expansion of equipment and expertise, new practices are introduced in the government. If applied properly, these practices could generate pleasant outcomes. DevOps, which brings together two forces for effective results, is one such practice.

    — Zehra Ali

  • UBI: Facing the Reality in the Era of Automation

    UBI: Facing the Reality in the Era of Automation

    Those of us working in DevOps make a good living. According to Glassdoor, the national average salary for a DevOps engineer in the United States is $100,000. Are we worth it? Of course we are; DevOps is hard work. The value we add to an organization more than justifies the salaries we can command. Nobody is giving us the money. We have to earn it every day.

    Considering that high school teachers earn on average $48,000, a restaurant manager averages $46,000—about the same as a paralegal—and a forklift driver makes $26,000, DevOps engineers are doing A-OK.

    That’s the good news. The bad news is that our average salary, combined with our commercial isolation from others, puts us in a bubble. I am the first to admit that I live in that bubble. I don’t interact with a lot of paralegals, restaurant managers and forklift drivers in my day-to-day work. Most of my interactions are with people who do what I do and live the lifestyle I live. It’s nice to live in the bubble; I’ve done countless all-nighters to be here. But I am very aware that it’s a place that few people live. Keep in mind, the average income in the United States is $51,272.



    It takes a lot to get into our bubble. You need to be really smart and you need to be well-educated. Most programmers have a college degree. Yes, there are few of us that are part of the 70 percent of the population that does not have a college degree, but those people are rare. And, for as long we keep delivering and learning the new stuff that comes down the pike, we’ll be living in the bubble for the foreseeable future.

    However, for those outside our bubble, it’s going to be a different story. As the evolving landscape reveals, those who do predictable, repetitive work are going to be automated away. And, most of the jobs that do remain are going to be on the lower end of the income scale.

    So, what’s to become of those outside the bubble? How will they survive?

    One solution that has been bantered about is Universal Basic Income (UBI). UBI is income that you get by virtue of being a citizen of state. There are no strings attached. Every month a deposit appears in your checking account and you are free to do with it as you wish. If your refrigerator is empty, you buy food. Should you earn a good salary, you can give the money to a favored charity or buy your kid a new video game. As I said, it’s no strings attached. The intention is to provide financial security to the citizenry without means testing.

    UBI has been in play in Alaska since 1976 as implemented under the Alaska Permanent Fund. Every permanent resident of Alaska gets money from the state just because they live there. In 2014 every resident of Alaska got $1,884 from the fund.

    Other governments are trying or have tried out UBI. Finland has a limited experimental program that pays €560 ($630) a month to participants. Cyprus pays out  €480 a month ($546) to qualifying citizens. Canada had an experimental program back in 1974 that ran for four years in Dauphin, Manitoba. The program was called Mincome. It dispersed $1,200 a year to people living below the poverty line.

    UBI has it supporters. Former U.S. president Richard Nixon supported it for a while. Milton Friedman supported it via the negative income tax. And tech leaders including Mark Zuckerberg and Elon Musk, men who have a keen understanding of the impact of automation on human employment, are proponents.

    I am a supporter, too, if for no other reason that I believe in the promise of technology—that we will automate our way to a life in which we are free to do the work that brings meaning and purpose rather than going through the motions of existence, laboring away to put bread on the table.

    But, for as much as I think UBI is valuable, there is a part of me that finds the notion to be a farce. It’s not so much because I think people will take the money and go down to a riverboat casino to gamble away their monthly allocations while the kids go hungry, but rather because the dollar amounts being considered for allocation are a joke.

    Let’s do the math.

    The table that follows illustrates how much income is required to support a family of two adults and one child on state-by-state basis. This data is provided using the MIT Living Wage Calculator by way of Mental Floss.

    Table 1: A listing of minimum income by select states

    State Minimum Income per Year Per Month
    West Virginia $45K $3.75K
    Iowa $49K $4.09K
    Montana $49K $4.08K
    Tennessee $47K $3.91K
    Alaska $54K $4.50K

     

    The states I choose—West Virginia, Iowa, Montana, Tennessee and Alaska—don’t contain any big cities on the order of New York, Los Angeles, Houston or Chicago. Let’s just say they’re states not subject to a large amount of urban impact. These are states that I can image might find UBI a useful program, particularly as industries—manufacturing, agriculture and energy—become more automated and the employed workforce experiences more displacement due to automation.

    As you can see in Table 1, according the the MIT Living Wage Calculator, it will cost a family of two adults and one child residing in any of these states about $4,000 a month to live at a comfortable minimum.

    Let’s apply some UBI numbers. As mentioned above, in 2014 the Alaska Permanent Fund distributed $1,884 a year to each permanent resident in the state. That comes out to a monthly allocation of $157. Compare that $157 a month to the $2,250 each working adult in the Alaska household has to earn to achieve a modest standard of living. That $157 is 7 percent of the amount needed. It’s a joke. The reality is that the allocation from the Alaska Permanent Fund will buy about a week’s worth of groceries, if that.

    On the other hand, there is Cyprus. As mentioned above, that country is paying out $546 per person in guaranteed income, which is an OK allotment given that the rent on a three-room apartment is about $500 a month and a McDonald’s Combo Meal goes for around $7. Multiply the per-person allocation of $546 by two adults and you have a situation where life is sustainable. But then again, the population of Cyprus is 1.2 million people, a little more than the size of the population of Montana. Still, the Cyrus UBI amount is a viable number. But, what about here in the United States? If we were to implement UBI, what is the dollar amount each person is to be given?

    Let’s go back to Table 1. For the residents in those states listed to enjoy a standard of financial security on the order of Cyprus—one in which no matter what, you will have your basic needs met—it seems that we will need to come up with a UBI allocation of about $20,000 a year per adult. Of course, this is assuming that the person does absolutely nothing in the way of earning money beyond the UBI allocation. However, as was reported in the study of the Mincome Project in Dauphin, Canada, once UBI kicked in, only two segments of the workforce worked less—new mothers and teenagers.

    Granted, this is very limited study of a very small sample of people from over 40 years ago. But, still the inference may be valid. Also, as we’ve found from people in retirement or forced unemployment, after a period of welcome inactivity, at some point we need something to do. Thus, there is a good chance that those on UBI will want to earn money beyond the allotment. Given that we can project that most people on UBI will want to engage in income-producing work, if such work is available, then maybe that $20,000 a year number is excessive. Maybe a reasonable dollar amount for UBI is between $12,000-$15,000 per year, per person. That number could work in less-expensive areas of the country.

    How would we pay for it all? Honestly, at this point, I don’t know. Maybe the same way we paid to put a man on the moon? To quote the old saying, “Where there is a will, there’s a way.”

    Sadly though, no matter what the allocation number is and no matter what the consequences of not doing UBI may be, the will to do UBI currently is limited to a bill before the Hawaiian Legislature. The general will is not there for a variety of reasons: politics, moral distaste manifested as a fear of Netflix-induced sloth in the general population, or just plain greed. The notion of having enough money show up in a citizen’s checking account to ensure a modicum of financial security has limited appeal.

    I can accept such reluctance. UBI is far afield from where we are culturally or where we have been historically. But, what I cannot accept is formulating a UBI program that is dumb; one in which we create stories that say financial security can be had for $157 a month. UBI allocation needs to be proposed in real, livable numbers. Otherwise, the risk we run is that when we can somehow sell the idea to a willing buyer, should UBI fail due the stupidity of not allocating enough money per recipient, we will be hard-pressed to get a second chance to do it right.

    The notion that the impact of automation on human employment will be severe is a tough one for many to accept. While it is true that history shows that advances in technology have led to new forms of employment for those displaced, history does not accommodate thinking machines. Thinking machines are new to the landscape.

    Just as automobiles replaced horses, maybe thinking machines will replace humans. Horses did not find new forms of employment when the automobile came along. Rather, their number diminished to levels required for their remaining purpose: providing entertainment. Such an analogy might sound harsh. After all, a human life is worth more than its commercial value. If this is the case, then unless humanity can implement ideas such as UBI as a way to sustain life independent of commerce, the alternative might very well be about the bubble—a place where those on the inside live well, in secure isolation from the less fortunate ones suffering on the outside.

    — Bob Reselman