Tag: devops

  • Three DevOps Trends to Watch in 2024

    Three DevOps Trends to Watch in 2024

    The world of DevOps has evolved at an unprecedented rate in the last few years, yet it continues to be a primary driver of efficiency, innovation, and digital transformation for many organizations. Google’s 2023 Accelerate State of DevOps Report shows that a company’s software delivery performance quality predicts organizational performance, team performance and employee well-being.

    In 2024, there are several trends that practitioners can expect to have a major impact on the industry. Forward-thinking tech companies will take advantage of the convergence of these trends as the year progresses. Opportunities exist for leaders in the cloud and virtualization arenas to increase operational flexibility, improve disaster recovery measures and leverage the rapid advancement of new technologies to give their company a competitive edge.

    As the year rolls on, here are a few key DevOps trends to watch for in 2024:

    1.  Apple Silicon Release Cycles 

    The era of Apple Silicon is now in full force. With Apple now creating its own chips, the company can have complete control over its product development timeline. Additionally, each release is increasingly nuanced in how the hardware/software stack is built. In 2023 alone, we saw the introduction of the new M3 chip series, the completion of Mac’s transition to Apple Silicon among many other new capabilities and innovations. As the use of Apple technology in the enterprise continues to expand, companies that can quickly adapt to the faster release cycles of Apple’s new chipsets will see significant performance improvements.

    2.  Hybrid and Multi-Cloud Adoption 

    To compete in today’s dynamic business landscape, harnessing the power of cloud technologies is essential. The industry can expect to see a major surge in hybrid and multi-cloud adoption. In addition to the cost-efficient nature of the cloud, enterprises are increasingly moving towards hybrid and multi-cloud models to enhance operational flexibility and improve disaster recovery measures. In fact, global spending on cloud adoption is projected to top $1 trillion in 2024. As the cloud continues to be a key driver of innovation across industries, the ability to serve and integrate solutions across cloud providers or on-premises is increasingly becoming table stakes. Platforms that can operate seamlessly across these diverse cloud environments will offer a significant competitive advantage.

    3.  Securing Remote Work and Virtualization Environments

    As virtual desktop infrastructure (VDI) continues to take the world by storm, security and compliance across complex environments is crucial. The continued advancement of cyberthreats makes the challenge of securing virtual identities more pertinent than ever. Especially as companies look to mitigate the risks of device and intellectual property theft in offshoring and consulting scenarios, the demand for secure remote desktop technologies has never been higher.

    Additionally, security and compliance regulations are becoming increasingly robust. And providers should leave no stone unturned to ensure that their platforms are compliant with all security regulations and consistently audited to address any vulnerabilities that may pop up. Ensuring that the solution provided is living up to its promise especially as it relates to security and compliance is crucial to the public’s perception of your business. Solutions that offer robust security features while also enabling scalability and flexibility in operations will have a competitive edge as we enter the new year.

    To hear more about cloud-native topics, join the Cloud Native Computing Foundation, Techstrong Group and the entire cloud-native community in Paris, France at KubeCon+CloudNativeCon EU 2024 – March 19-22, 2024.

  • Is it Time to Reconsider CI?

    Is it Time to Reconsider CI?

    DevOps is old, in technology terms, at this point. Many of you have never developed under a waterfall and have no idea what tools like Visual Test were, and that’s actually very cool. While knowing other processes and tools does help make informed decisions, being immersed in the tools that matter today is more important. We have entire DevOps stacks built up that allow for the development, building, testing and, increasingly, deployment of apps in an agile environment.

    As always happens, market leaders and those who compete with them, complement them or serve a subset of the market have grown up and become standards. Indeed, application release orchestration (ARO) was a phrase coined in the early days of DevOps that fell away completely; I heard it recently and thought, “Oh, are we bringing that name back?” Vendors have come and gone; some merged into other products, and some are just plain gone. Again, that is a good thing as the market, its needs and the customer base are all mature. While it is terribly painful to be the user of a product that just goes away one day, the prevalence of open source in the CI/CD landscape does buffer that pain a bit. And the market gets better as tools fall away and new ones take their place.

    But sometimes, the movement is slow, just simply due to inertia. Most of us – and by us, I mean IT shops, and by most I mean a lot – use Jenkins. The number seems to be on a steady downward trend, and the tool’s maintainers have definitely taken steps to improve the parts that make organizations consider other solutions, but the trend is there.

    And I, personally, think that is a good thing. Stagnation is what made waterfall such a weakness in enterprise IT. Everyone did it, so that makes it good. Same is true for the old phrases we’ve all heard at least one variant of – “No one ever got fired for buying IBM”, or “No one ever got fired for buying Oracle”, “…Cisco”, etc. The obvious answer to those statements then, as now, was, “Well, maybe they should have.”

    The same is true for Jenkins. It is a great system that can do everything. And that’s part of the problem. If you have small projects or are a team using it standalone with light requirements that all revolve around getting a quality product out the door quickly, Jenkins just might be too much for you. In the early days, Jenkins wasn’t, but the plug-in architecture and years of competition and changing market needs have made it huge. And while there is arguably better documentation than any other CI, and inarguably the largest user base to ask questions of, it’s still weighty to use in place of a SaaS that comes pre-configured and you can just hand it a repository with build files in it.

    There are a lot of enterprises that need what Jenkins has grown into–it did not expand in a vacuum. But there are many, particularly new, small, agile orgs or standalone teams that just don’t.

    There are a lot of options out there, and it is worth taking stock of what you are trying to do with your build/test process, and build a list of things required, then look seriously at what’s available. For some, lightweight is good.

    Of course, as much as one can be in our technological age, I am a minimalist. I like my D&D to be a rules-light variant, my dev tools to have enough functionality but not bury me in extraneous stuff, laugh at Excel for including abstract functions and then selling to consumers, etc.

    At my company that does development, we do indeed use Jenkins. But our projects range from simple knock-it-out one-offs to complex systems with multiple servers and clients, so we feel it is best for that range of variation. And like many others, the investment to move old projects would be questionable without a driving need. Not that I get to do much development these days myself, but I do stay in it just enough to be dangerous. But we have asked the question and determined the answer. For now.

    If you have issues with Jenkins, look around. There are options. They are not for everyone, but your org isn’t everyone. Find the best tool, not the most convenient, and keep kicking rear.

  • SEC Introduces Enhanced Climate-Related Disclosure Rules

    SEC Introduces Enhanced Climate-Related Disclosure Rules

    The Securities and Exchange Commission (SEC) has adopted new rules to enhance and standardize climate-related disclosures by public companies and in public offerings. These rules aim to meet investor demands for consistent, comparable, and reliable information on the financial effects of climate-related risks on companies’ operations and their risk management strategies.

    The Importance of Transparency

    According to SEC Chair Gary Gensler, the initiative is based on the principle that investors should be able to make informed decisions based on companies’ complete and truthful disclosures. The regulations introduce comprehensive requirements for disclosure of significant climate-related risks and their efforts to address them.

    Key Aspects of the SEC Rules:

    • Mandatory disclosure of climate-related risks that significantly affect or are likely to affect a company’s strategy, operations, or financial condition.
    • Details on efforts to mitigate or adapt to climate-related risks, including financial expenditures.
    • Disclosure requirements for climate-related targets or goals and their impacts on the company.
    • Requirements for certain companies to report Scope 1 and Scope 2 emissions, with an accompanying assurance report. (Scope 1 emissions are direct emissions from owned or controlled sources, while Scope 2 emissions are indirect emissions from the generation of purchased electricity, steam, heating, and cooling consumed by the reporting company.)

    Phased Implementation and Review Process

    Set to become effective 60 days after publication in the Federal Register, the rules will be implemented in phases based on the filer status of registrants.

    Strategic Implications for DevOps and Cloud Computing

    The new SEC rules could catalyze a strategic pivot in DevOps and cloud computing towards more sustainable practices. Specifically, they may further incentivize the development of tools and methodologies for accurately measuring and managing Scope 1 and Scope 2 emissions. New roles or teams may be dedicated to environmental impact analysis within IT departments. These shifts would ensure sustainability becomes a core consideration in tech deployment strategies.

    Driving Innovation for Greener Technology

    Software solutions that automate the tracking of energy consumption and emissions data across cloud and on-premises environments may see increasing demand. Particularly as organizations seek actionable insights for reducing carbon footprints.

    This emphasis on detailed climate-related disclosures may also serve to drive innovation in cloud infrastructure design and management. For example, cloud service providers might introduce new features or services that enable customers to more easily assess and optimize the environmental impact of their cloud usage.

    This could lead to the adoption of more energy-efficient computing resources, such as serverless architectures. Dynamically allocating resources could be prioritized to reduce unnecessary energy consumption

    Advancing Eco-friendly Solutions with AI

    These new rules amplify the global lean into AI for faster and more effective solutions. Utilizing predictive analytics and machine learning, AI can accurately forecast computing demand and make changes in real-time. This ensures that energy consumption closely matches actual usage, minimizing waste and reducing both operational costs and environmental impact.

    Balancing AI’s Energy Demand

    The flip side, though, is the high energy demands of AI. The new SEC rules will likely place an increasing focus on creating and implementing AI algorithms that are both potent and energy-efficient.

    Look for greater focus on AI-driven cooling systems for data centers and the use “lightweight” AI models that require less data and computing power for training and

    operation. Such models aim to maintain high efficiency while drastically cutting down the energy needed for their training and inference phases. All striving towards the broader goal of making AI more environmentally friendly.

    Sustainability and Innovation: The Path Ahead

    With the implementation of the SEC’s new rules, the landscape of corporate reporting and technology development is poised for significant change, emphasizing the importance of sustainability and environmental considerations in business strategies and operational practices.

  • Platform Engineering: The 2024 Game-Changer in Tech

    Platform Engineering: The 2024 Game-Changer in Tech

    Platform engineering, a key driver in the ever-evolving technological landscape, is poised for significant momentum in 2024. This article explores the reasons behind its rising popularity, the types of organizations that stand to benefit, potential drawbacks and the crucial role of test data management (TDM) in this context.

    What’s Driving Demand for Platform Engineering?

    Platform engineering is anticipated to gain significant momentum in 2024 as it offers crucial advantages in accelerating business value, reducing cognitive loads and enhancing the efficiency of application development and management processes. According to Gartner, by 2026, about 80% of software engineering organizations will establish platform teams as internal providers of reusable services, components and tools for application delivery. This trend underscores the increasing adoption and importance of platform engineering in the tech world.

    The growing popularity of platform engineering can be attributed to several factors:

    • Developer productivity: Enhancing developer productivity is a key driver, accounting for approximately 21% of the reasons for its popularity.
    • CI/CD pipeline implementation: About 20% of the popularity is driven by the need for efficient continuous integration and continuous delivery pipelines.
    • Standardization of tools and processes: Another 20% comes from the necessity to standardize tools and processes.
    • Security enhancements: Security improvements contribute 20% to its popularity.
    • Infrastructure-as-code (IaC): Finally, 19% is driven by the adoption of infrastructure-as-code (IaC) methodologies.

    In addition, platform engineering addresses the inefficiencies caused by the decentralization of tools and processes in DevOps, especially as organizations scale. This approach provides a more organized and centralized framework, which is essential in managing the complexities of modern software development environments.

    As highlighted by Gartner, platform engineering’s potential to offer a frictionless self-service experience to customers and business partners is a significant factor in its rising popularity. This adaptability is crucial in an era where technology and market demands are rapidly evolving, requiring businesses to remain agile and competitive.

    These factors collectively make platform engineering a strategic approach for software engineering organizations, particularly looking forward to the year 2024 and beyond.

    platform engineering, TDM

    Key Benefits of Platform Engineering

    While it isn’t a fit for every organization, there are some shared attributes of companies that are most likely to benefit from it.

    If your organization is seeking to:

    • Reduce tool sprawl by standardizing tools and services
    • Improve productivity through automation, leading to faster development cycles
    • Establish governance frameworks for software development
    • Increase scalability through technologies like containerization and orchestration
    • Enhance security by integrating automated security scanning tools into the CI/CD pipeline,

    then platform engineering may be right for you. These benefits are especially relevant for businesses facing complex software development cycles and those in need of robust, scalable, and secure solutions.

    Drawbacks of Platform Engineering

    However, platform engineering is not without its challenges. Increased complexity in infrastructure can be daunting for small-scale teams. High dependency on the platform may lead to difficulties in switching technologies or providers. Additionally, compatibility issues with existing development tools and technologies can slow down processes.

    The Crucial Role of Test Data Management (TDM)

    In a platform engineering environment, test data management (TDM) becomes a pivotal component. TDM’s importance lies in its role in agile development, ensuring test accuracy and reliability, thus enhancing the effectiveness of the testing process. Agile methodologies, which divide projects into smaller sprints, rely heavily on TDM for providing high-quality, compliant test data in a continuous integration and deployment model.

    TDM addresses the challenge of managing data fragmented across various applications, environments and compliance levels. An entity-based TDM approach enables testers to provision test data on demand, streamlining the testing process and reducing the risk of data breaches. Ultimately, TDM practices significantly reduce time, cost, and risk in software delivery, making it a vital component in modern platform engineering strategies.

    As technology continues to evolve rapidly, the role of platform engineering, bolstered by effective TDM, becomes increasingly crucial. Companies that do not adapt to these changes by integrating components like TDM into their platform engineering strategies will risk falling behind in the competitive tech market. Therefore, embracing these innovations is essential for survival and success in today’s fast-paced technological landscape.

  • Low Code: The Key to Accelerating Custom App Dev for Moderate Developers

    Low Code: The Key to Accelerating Custom App Dev for Moderate Developers

    Custom app development has become a crucial skill in an increasingly digitized world. Many moderate developers face challenges while creating unique and functional applications. This is where low-code platforms come into play, offering a solution to accelerate app development and compensate for those shortcomings.

    Who are Moderate Developers?

    While every developer is constantly evolving and growing in experience, like any professional, they can be put in three baskets. The first is entry-level developers learning on the job who may assist with debugging, essential documentation, code repository maintenance and some simple feature requests. At the other end are very experienced developers who lead projects, architect solutions, oversee the development of applications and take full ownership of delivering killer features in a new application.

    Moderate developers are those in the middle, representing a large swath of professionals with the foundational expertise to implement most app designs and feature requests. With more experience than beginners but yet to be qualified to serve as seniors on a team, they have a shared set of challenges.

    Understanding the Challenges of Moderate Developers

    Moderate developers often need help with complex application development demands and skill limitations. They are faced with creating high-quality, functional and unique applications, which can be daunting in light of the rapid pace of technological change and user expectations.

    These moderately skilled developers often face common challenges such as:
    ● Limited Expertise: Cultivating an in-depth knowledge of programming languages and development environments is an ongoing process.
    ● Time Constraints: Developing an application from scratch requires significant time. Dedicating effort to a single project can constrain developers and their organizations.
    ● Scalability Issues: Growing and expanding applications increase the need for scaling and can create complexity. Making changes and adding new features can drag down an organization’s ability to focus on new projects.
    ● Security Concerns: Moderate developers may not be aware of an application’s security risks, jeopardizing the protection of a company.

    Low-Code Platforms Offer Hope

    Low-code platforms have been created to meet the needs of moderately skilled developers and competitively focused organizations. The use of tested drag-and-drop elements offers a secure and powerful way to overcome these challenges.

    Creating practical and powerful applications is available through low-code platforms by connecting ready-made templates. This process rapidly creates applications for use as mobile and web-based applications.

    Non-IT professionals can overcome their lack of time and knowledge through low-code platforms. Short-staffed organizations in their IT department can still provide a powerful connection for their services. The team can quickly get to work meeting its primary mission.

    Visual Modeling is the Secret Power of Low-Code Platforms

    Traditional application development involves writing lines of code, testing and managing by an experienced IT staff. Low-code platforms use pre-tested and connected visual components to build and implement successful and secure applications rapidly.

    Low-code developers can see the application they are building from the beginning of the process to its launch. The drag-and-drop aspect of these platforms is more intuitive and user-friendly. Using proven templates offered by these platforms can also help reduce errors.

    Duplicating Success

    Assembling tested and ready-made components boosts the chance of an application’s success. Pre-configured applications are a way to rapidly launch applications with the confidence of a proven track record.

    Low-code platforms offer users the confidence to trust the components while looking straight at their ongoing results from a clear visual perspective. More time and attention can be paid to an application’s unique functionalities rather than the complexity and drudgery of coding.

    Team Building and Collaboration Opportunities

    The visual nature of low-code platforms allows the entire team to play an active role in an application’s development and keeps everyone speaking the same development language.

    Built-in collaboration tools facilitate feedback loops, revision tracking, user stories and messaging, making it easier for teams to work together in the same office or distributed worldwide. Everyone can own the solution while having a positive impact upon its release.

    Ensuring Scalability

    Low-code platforms offer more than a “one and done” opportunity for growth and success. Robust and friendly customer-facing connections await users of low-code platforms who take advantage of their power. They can continue to generate further service opportunities and sales after the initial launch.

    Proven internal processing networks can be extended with the same low-code platforms that started this robust development. Low-code connections can be efficiently expanded using earlier low-code work.

    Ever-changing business needs can be readily addressed with existing low-code platforms. They can continue to offer ready-made templates for internal and external successes that fit an enterprise’s needs.

    The cloud-based nature of low-code platforms ensures a flexible and continuous service of the applications. This helps ensure reliability and responsiveness to a customer’s ongoing needs.

    Choosing the Right Low-Code Platform

    Identifying the best low-code software development platform is based on several key factors that developers must consider:
    ● Ease of use
    ● Scalability
    ● Integration capabilities
    ● Ability to customize applications

    Decision-makers must also consider their team’s expertise when choosing a low-code platform. Trial versions or free tiers can be beneficial for understanding the team’s expertise and a platform’s capabilities to meet an organization’s needs.

    The Future of Low-Code Platforms

    As businesses continue to navigate the complexities of digital transformation, analysts predict a bright future for low-code platforms. The trend will be continued enterprise adoption to ensure faster development and specific business needs. It’s also clear that low-code platforms will only partially replace traditional software development. But by democratizing app development and fostering a more robust culture of innovation, low-code platforms are positioned to significantly shape the future of business in the digital era.

  • Navigating the Rise of AI-Generated Code in Software Development

    Navigating the Rise of AI-Generated Code in Software Development

    The year 2023 saw the rise of many technologies and innovations, but none quite as prominent as generative AI. Trained on vast amounts of data, these models are designed to “generate” the next sequence of values based on inputs and create novel content for various purposes. The emergence of generative AI has forced industries to rethink how they operate and where adjustments should be made. A recent study from ISG indicates that financial services are the leading industry for generative AI adoption, making up 24% of total use cases. This is followed by manufacturing at 14%, healthcare and pharma at 12% and business services at 11%.

    More recently, organizations have started contemplating generative AI’s impact on software development and its ability to effectively generate code. AI-enabled tools will have a major impact on software development, increasing the volume and velocity of code delivery and innovation. However, there are ethical and practical guardrails that need to be considered.

    Key Capabilities of Generative AI in the SDLC

    The advantage of AI tools lies in their ability to enhance the software development workflow by automating repetitive tasks. Mundane and time-consuming boilerplate code generation or routine code reviews can now be handled by the same machines that we are writing the programs for. This not only accelerates the software development lifecycle (SDLC) but liberates developers from monotonous tasks, allowing them to focus on more creative projects that require human insight.

    For developers, the strength of AI-enabled tools lies in their ability to expedite the development process. By harnessing machine learning (ML) algorithms, AI can analyze vast datasets, find patterns and generate simple code quickly, often requiring numerous iterations to get it right — hopefully! But at its core, the benefit of AI-enabled tools stems from the premise that it’s easier to refine a set of initial ideas than it is to generate them. In other words, generative AI models create the “sparks” that a good developer can turn into a full creative process.

    Challenges, Concerns and Ethical Considerations

    As the adage goes, there are two sides to every coin. While AI tools hold the power to provide immense benefits to developers, they also introduce an array of risks that cannot be overlooked:

    ● Challenges in understanding context and user requirements: Despite its sophistication, AI struggles to grasp the intricacies of specific project contexts and the diverse needs of end-users. The contextual understanding that human developers possess, gleaned from experience and intuition, is still a facet where current AI encounters hurdles.
    ● Potential security risks: The automated nature of AI-generated code introduces potential security risks that demand careful consideration. While AI algorithms strive for efficiency, they may inadvertently generate code with vulnerabilities. Addressing security concerns requires ongoing vigilance, thorough testing, and the incorporation of robust cybersecurity measures to ensure the integrity of the developed software.
    ● Adapting to evolving technological environments: The dynamic nature of technology presents another challenge for AI-generated code, as rapid changes in programming languages, frameworks and methodologies require an adaptive approach. AI models may struggle to seamlessly transition to new technological advancements, potentially causing compatibility issues and requiring continuous updates to maintain relevance.

    It’s important to note that developers will not be the only ones affected by AI’s integration into the SDLC. Security teams are barely keeping pace now, and in many organizations, they’ve become the bottleneck. Increased developer velocity will put security teams under even more pressure—the volume of scans, the range of vulnerabilities and the patches that need to be applied are all guaranteed to skyrocket.

    Automation Alone is Not Enough; We Still Need Human Developers

    While the introduction of AI marks a significant milestone in the evolution of software development, it’s essential to recognize the nuanced interplay between automation and human ability. Rather than replacing human expertise altogether, generative AI is poised to augment and complement the skills of developers. Human creativity, critical thinking and the ability to navigate complex problems will continue to be invaluable assets in the development process — true potential only appears when collaborating seamlessly with human developers, blending the efficiency of automation with the creativity and problem-solving skills inherent to human intelligence.

    Looking towards the future of software development, the trajectory of generative AI presents intriguing possibilities. It has become increasingly clear that the rise of AI-generated code is not a story of replacement but one of enhancement. While AI brings undeniable efficiency and automation to certain aspects of coding, the role of human developers is still irreplaceable. The understanding of context, the intuition required for creative problem-solving, and the adaptability to evolving technological environments are hallmarks of human expertise. These are facets that, as of now, AI struggles to replicate.

    As we embrace the future of AI-generated code, let us not forget the essence of our craft. The evolution of technology is inevitable, but it is the human touch, ingenuity and ethical foundation that will define the software landscape of tomorrow.

    Image courtesy of Josh Calabrese via Unsplash