Tag: continuous integration software development

  • Five Great DevOps Jobs Opportunities

    Five Great DevOps Jobs Opportunities

    devopsy.kinsta.cloud is now providing a weekly DevOps jobs report through which opportunities for DevOps professionals will be highlighted as part of an effort to better serve our audience.

    Our goal in these challenging economic times is to make it easier for DevOps professionals to advance their careers. Of course, the pool of available DevOps talent is still relatively constrained, so when one DevOps professional takes on a new role, it creates an opportunity for others.

    The five job postings shared this week are selected based on the company looking to hire, the vertical industry segment and, naturally, the pay scale offered.

    We’re also committed to providing additional insights into the state of the DevOps job market. In the meantime, for your consideration:

    Indeed.com

    Level Home
    Redwood City, California
    DevOps/SRE Manager
    $175,000 to $275,000

    Monster.com

    Jobot
    Houston, Texas
    Senior DevOps Engineer
    $150,000 to $180,000

    LinkedIn

    Lenovo
    Colorado, New York City, Nevada and Washington
    Software DevOps
    $125,000 to $145,000

    SimplyHired

    Spring Health
    New York, New York
    DevOps Engineer
    $110,000 to $150,000

    Dice.com

    Black Knight, Inc.
    Remote
    DevOps Engineer III
    $91,000 to $125,000

  • Perforce Adds Synchronization Tool for Cross-Functional Teams

    Perforce Adds Synchronization Tool for Cross-Functional Teams

    Perforce Software has added a graphical tool, dubbed Helix Sync, that enables individuals, such as artists, to take advantage of the version control capabilities provided by its software development life cycle (SDLC) platform.

    Gerhard Krüger, cloud architect and product manager at Perforce, said that as DevOps workflows continue to evolve in the gaming and automotive industries, the need to manage artifacts such as drawings, for example, alongside software artifacts is becoming more pronounced among cross-functional teams.

    Helix Sync gives those end users access to a desktop client that enables any individual to upload artifacts into a system by dragging and dropping them into the Perforce Helix Core SDLC platform.

    Previously, end users that lacked coding skills would need to share files with developers via cloud services such as Dropbox. The Perforce approach removes the inherent friction development teams would otherwise encounter, while at the same time making sure the artifacts being shared are more secure, said Krüger. In addition, end users don’t have to be concerned about file size limitations imposed by file sharing services accessed via the cloud, noted Krüger.

    It’s not clear how many organizations are looking to centralize digital asset management within the context of an application development process, but the fewer places that artifacts reside, the more productive IT teams tend to be. At a time when the number of application development projects within many organizations has accelerated, there’s a lot more interest in reducing the number of steps any developer has to monitor and track.

    Diagrams and other types of artwork are not the only kinds of artifacts that are finding their way into software development processes. Data scientists are building massive artificial intelligence (AI) models that need to be incorporated into application development and deployment processes. The challenge organizations face is the individuals that create many of these types of artifacts lack the programming skills required to share them via version control platforms typically employed by developers.

    With the launch of Helix Sync, IT teams should assume that, going forward, Perforce will be expanding its overall content management capabilities, Krüger added.

    It’s not clear to what degree workflows will converge as application development continues to evolve. Organizations are starting to appreciate just how dependent they are on software. As that awareness increases, it’s only a matter of time before workflows start to converge around the software development process that are employed to drive multiple digital business transformation initiatives.

    With more of the creators of those artifacts working remotely, the security of those software supply chains has also become more critical. Cybercriminals are becoming more adept at compromising the credentials end users create to access a cloud file service. Software development teams are more likely to employ more rigorous forms of authentication.

    Arguably, there’s never been more artifacts to track during the history of application development than there are today. The thing that makes managing all those artifacts even more challenging is, just like every other piece of software, they are also being continuously updated in ways that aren’t easy to discern.

  • Continuous Integration Overview

    Continuous Integration Overview

    To improve the efficiency of your software development workflow, you should use continuous integration. We’ll explain what continuous integration is, why it’s important and how it can help you.

    Continuous Integration in DevOps

    Continuous integration is the automation of building and testing code each time a change is made in the codebase, and then committing the code back to your central code repository. For each new code commit that is made, an automated build and test process — which is also called a “pipeline”— is triggered. This trigger then generates a report on any defects found during code compilation and/or testing.

    The Benefits of Continuous Integration

    The benefits of using continuous integration include the following:

    • Easier to fix software vulnerabilities, errors and bugs.
    • Minimizing the amount of potential risk to your software development project.
    • Increasing the quality of your software.
    • Increasing the productivity of your team members.

    While the above list is not comprehensive, it does represent the most common benefits for software development teams.

    The Difference Between Continuous Integration and Continuous Delivery

    While both continuous integration and continuous delivery are software development processes, there is quite a bit of differences between them. To put it simply, continuous integration is used during the build and test phase, while continuous delivery is used once changes have been committed. Essentially, the aim of continuous delivery is to always have validated and verified code in your code repository, also known as a version control system.

    Why Continuous Integration Is Important

    Continuous integration is important because it enables you and your team to avoid common development pitfalls. In addition, a continuous integration pipeline ensures that every change is integrated, tested and verified.

    How Static Code Analysis Complements Continuous Integration

    One of the most effective practices you can adopt to improve your continuous integration development process is to use a static code analysis tool. The tool provides you with fast, reliable feedback on submitted code changes — enabling you to identify vulnerabilities and errors earlier in your development process. In addition, you are able to use quality gates with  static analysis tool to prevent those issues from entering your main code stream.

    To read more, please visit: https://www.perforce.com/blog/kw/what-is-continuous-integration

  • DARPA Enlists GrammaTech to Apply AI to Reverse Engineer Code

    DARPA Enlists GrammaTech to Apply AI to Reverse Engineer Code

    The Defense Advanced Research Projects Agency (DARPA) has awarded a research contract to GrammaTech for low code technology that will make it possible for end users to leverage artificial intelligence (AI) without requiring intervention from the original software developer.

    GrammaTech’s AI tool, dubbed ReMath, aims to ease application updates by automatically inferring high-level mathematical representations from existing binaries in systems and embedded software. The tool is currently in development.

    Dr. Alexey Loginov, vice president of research for GrammaTech, said development teams spend a lot of time using low-level tools such as disassemblers, debuggers and decompilers to manually analyze binaries. ReMath will accelerate that reverse engineering process by recovering and converting machine language into representations that end users can directly manipulate, said Loginov.

    The goal is to free developers up to build new software, rather than continuously updating software that has already been deployed, noted Loginov. This approach should ultimately reduce the backlog of application and software development projects organizations have, added Loginov.

    GrammaTech

    The ReMath project is the latest in a series of DARPA contracts awarded to GrammaTech. In general, the company is working towards applying AI to advance DecSecOps via a static application security testing (SAST) tool that identifies vulnerabilities in code. The ReMath project focuses on applying AI to use cases involving, for example, industrial control systems. These systems could benefit from allowing domain experts, with no coding expertise, to maintain and update them on their own, said Loginov.

    Other DARPA projects GrammaTech is actively researching include a type-ahead capability that automatically recognizes existing artifacts in a software repository, said Loginov. This capability will make it simpler for developers to reuse code within the context of a GitOps process without inadvertently introducing additional errors, Loginov said.

    In the future, the potential impact of AI on software development could be profound, as more reliable code moves into production environments. The percentage of code graduating into those environments on the first attempt should increase considerably in the years ahead. That should enable more reliable delivery of application code via continuous integration/continuous delivery (CI/CD) platforms.

    As software development becomes more efficient, the current developer shortage should also ease, and open up resources to launch a greater number of application development projects. Rather than spending time on manual tasks that provide no differentiated value, Loginov said software engineers will be able focus more of their time and energy on process innovation.

    In the meantime, developers should expect to see a rash of development tools with AI capabilities in the months ahead. None of those tools are likely to eliminate the need for developers any time soon; however, much of the drudgery involved in writing code today is likely to be sharply reduced as machine learning algorithms and other forms of AI are applied to software development.

  • How Healthcare Companies Can Optimize Software for Improved Patient Outcomes

    How Healthcare Companies Can Optimize Software for Improved Patient Outcomes

    Healthcare companies are more reliant than ever on software to help them achieve good patient outcomes. Recent research reveals that the use of software as a service (SaaS) solutions is growing exponentially in health care, covering a wide range of areas including:

    • Patient diagnosis
    • Medical imaging
    • Therapy and patient self-care
    • Data collection and analysis
    • Hospital management

    Due to the increased use of digital products in patient care, healthcare providers recognize the need to speed innovation and fundamentally rethink how they build software. This has led many engineering teams to move toward continuous integration and continuous delivery (CI/CD) when building and deploying software.

    Considering the industry’s emphasis on improving patient experiences, it makes sense that healthcare providers are keener than ever to optimize their systems. In fact, around 90% of healthcare providers are implementing or already using customized software solutions and development.

    As teams look to improve these critical processes in software development, feature flagging is one way to speed up development and optimize software performance in the healthcare industry.

    CI/CD Challenges for Healthcare Companies

    The healthcare industry faces unique challenges when applying DevOps strategies such as CI/CD.

    Intense Regulation

    The main problem is that, for obvious reasons, health care faces stringent regulation and oversight. A high level of scrutiny is necessary in an industry in which one small mistake or misjudgment can cost patient lives; however, in terms of DevOps, waiting for regulatory evaluation and approval can slow down the entire software development process, which defeats the core purpose of CI/CD.

    Security

    Data security poses another challenge for healthcare providers, especially when dealing with cloud-based software solutions. Cloud-based systems will always have potential vulnerabilities, as they rely on infrastructure that connects a variety of devices and smart technology equipment. There will always be inherent weaknesses in remote systems, as opposed to on-premises, too. A recent survey revealed that 42% of respondents said their major security concern was unauthorized access to cloud systems through insecure APIs. Network configuration problems were a close second, with 40% of respondents citing those as a concern.

    In a healthcare setting, another issue is the high volume and high velocity of data. Even a small, specialist clinic that may only see 150 patients per day will still generate vast amounts of data over the course of a month or year. Most of the data is private and sensitive, which means that data privacy and cybersecurity are top priorities for healthcare companies.

    The Impact on DevOps

    At first glance, because of the high level of regulatory oversight and cybersecurity concerns, it might seem that health care is a less-than-ideal environment for agile DevOps processes. How can you adopt fast-paced CI/CD cadences and innovate rapidly when there are necessary, opposing forces?

    The answer is to leverage innovative software development solutions such as on-premises feature flagging.

    Feature Flagging and Its Impact on Software Innovation

    Feature flags are, essentially, toggles or switches that allow software development teams to turn features on or off. The main advantage of feature flagging is that it allows for faster software deployment. One or more features can be coded into the software during development and made ready to go, but it is turned off for the user and/or patient on initial deployment.

    The ability to embed features within software that can be toggled on or off is perfectly suited for the healthcare industry since that approach allows for the necessary regulatory approval(s) before full deployment.

    For example, look at the rapid rise of telemedicine during the COVID-19 pandemic. Doctors, hospitals and patients alike were forced, along with the rest of the world, into the “new normal” of virtual interaction to mitigate the spread of disease while still providing quality treatment.

    For most industries, adding video chat/conferencing capabilities to existing applications was relatively easy. But for health care, the approval process, privacy and security concerns slowed down the adoption of these features. In our experience, typical healthcare teams are, best-case scenario, running on monthly—or, most likely, quarterly—deployment cycles to align their deployment efforts with compliance and governance review boards. Product and engineering teams work to get their updates and improvements in line with this cadence, which can make innovation difficult.

    If teams wanted to deliver this capability quickly, they could adopt feature flagging to decouple the concepts of “deploy,” “approve” and “release.” To use the video chat example, here are the steps they’d be able to take:

    1) Build the videoconferencing capability into their app and deploy the feature to production with the capability switched on for internal users (IP targeting, specific email addresses, etc.) only.

    2) Now that the feature is in live production, they can perform actual field testing to ensure that the functionality is working well, while simultaneously moving through internal and external approval processes.

    3) Once the review is complete, move to the release stage by switching the feature(s) on and allowing (external) end users to access the capability.

    All this can be achieved without needing to redeploy the software, and the developers are still free to make iterative improvements to the application.

    Now that the regulatory hurdles are addressed, it’s important to acknowledge that security is still an issue for healthcare companies that employ a SaaS feature flagging platform.

    While most providers focus solely on SaaS, the ability to deploy feature flagging software on proprietary cloud infrastructure is important in the healthcare space. This model enables both extra security and HIPAA compliance, and also opens up important capabilities and performance results that SaaS-only providers have a hard time matching. Since this technology typically becomes deeply embedded in the fabric of an organization’s product and technology, feature flagging is well-suited to an on-premises implementation.

    The implementation of on-premises feature flagging is a great way for healthcare companies to increase deployment velocity from monthly to daily. It allows their software development teams to adopt CI/CD cadences and innovate more rapidly, without the risk of breaching regulations or making sensitive data easily available to hackers.