Tag: it-as-code

  • Microsoft Outage Outrage: Was it BGP or DNS?

    Microsoft Outage Outrage: Was it BGP or DNS?

    Welcome to The Long View—where we peruse the news of the week and strip it to the essentials. Let’s work out what really matters.

    This week: All of Microsoft’s cloud services go down, everywhere except China. Redmond’s IaaS, PaaS and SaaS—including GitHub—were dead for several hours, and are still running unreliably—despite Microsoft saying it’s fixed the problem. (more…)

  • Managing Endpoint Compliance-as-Code

    Managing Endpoint Compliance-as-Code

    The rapid pace of modern software delivery and increasing fleet sizes have transformed how organizations see and handle security strategies. Compliance-as-code is required for today’s organizations that need security as a fundamental part of business processes. It is no longer possible to manually manage compliance with dedicated security teams.

    Balancing security with growing infrastructure needs means IT security and compliance are non-negotiable. There is no room for more uncomfortable trade-offs between risk and an organization’s ability to deliver market-ready solutions quickly and efficiently.

    Complying with growing security and compliance regulations in today’s world of rapid innovation is a constant challenge that affects all organizations, large and small. Organizations are implementing automated solutions to eliminate reliance on traditional, slow, error-prone manual processes because of tighter regulations in the industry and greater risks associated with security attacks and compliance violations.

    What is Managing Endpoint Compliance-as-Code?

    Compliance-as-code is the codification of compliance controls to automate their adherence, application and remediation. It includes the tools and practices that enable DevOps and developer teams to incorporate the three key compliance activities:

    1. Detect: Discovering non-compliance through automated estate scanning and notifying stakeholders when offending infrastructure is discovered.
    2. Remediate: Correcting non-compliance by implementing immediate infrastructure changes to ensure the highest level of compliance at scale.
    3. Automate: Avoid non-compliance by automatically verifying that planned changes comply.

    There are many important use cases for managing the compliance of endpoint state as-code including confidential data protection, detecting shadow IT resources, network security, data exposed to public access and code licensing compliance.

    The Importance of Compliance-As-Code

    Most organizations still struggle to stay secure and comply with regulatory standards. Many organizations lack visibility across heterogeneous infrastructure and applications. They also possess inconsistent language for communicating requirements between development, security and operations (dev, sec and ops) teams and are unable to remediate findings.

    Compliance-as-code enforces a comprehensive compliance strategy that involves a robust set of controls; for example, managing data storage locations and access control management.

    Ensuring that these are followed at scale is critical to the success of a digital business as more organizations shift to the cloud, there are more possibilities of non-compliance. Reports suggest that a regulatory compliance violation can cost businesses $15 million on average.

    This violation is avoidable if DevOps, development and DevSecOps teams can automate compliance by adopting a different mindset and writing understandable code. The adoption of the “as-code” strategy led to infrastructure-as-code (IaC) which is one of the success factors in DevOps teams. Audits are streamlined and allow individuals to focus on higher-value activities.

    The Challenges of Managing a Fleet Through Compliance-as-Code

    Managing a fleet through compliance-as-code is not without its challenges. First, teams must bridge the talent gap as endpoint compliance is typically managed by IT admins, who are not inherently comfortable with an as-code approach.

    Typically, compliance requirements are dense and difficult to comprehend by other stakeholders. Understanding the compliance requirements of the organization and collaborating with other stakeholders to convert them to as-code is the biggest hurdle to getting started.

    Developer teams must find the right set of tools and integrate them into DevOps and DevSecOps workflows. This is not just a process change but a culture change. A boil the ocean approach will not just be painful but success will be close to impossible. Taking small steps and continuously improving is the mindset one has to adopt.

    Visibility Throughout the Ecosystem

    Whether you are talking about end-user devices like desktops, laptops or mobile devices or non-server edge devices like point of sale (POS) or IoT devices, endpoint devices are extremely vulnerable to exploitation from bad actors. Thus, it is necessary for organizations to bring them under the organization’s security policy and governance requirements just like server-side devices.

    There are a number of advantages to adopting an endpoint compliance-as-code approach:

    • Users can easily understand what is going on across the organization in terms of compliance status at any time.
    • The organization can keep an audit log of everything that occurred throughout the development life cycle and calculate an appropriate risk acknowledgment rating.
    • Organizations can evaluate any deviations from fundamental compliance requirements.

    The Continued Prioritization of Compliance-as-Code

    Managing diverse IT infrastructure fleets through compliance-as-code ensures that endpoint devices meet a variety of security standards. The IT team is empowered to create rules that can enforce compliance and establish security baseline standards within the organization. Compliance checks are validated and more visible at each stage of the software development life cycle.

    This guarantees detailed visibility and thorough compliance standards throughout the IT ecosystem.

  • Building an IaC Security and Governance Program Step-by-Step

    Building an IaC Security and Governance Program Step-by-Step

    Infrastructure as code (IaC) is undoubtedly changing how engineers approach the cloud. IaC, when coupled with dev tools and automation, opens up new avenues for infrastructure performance, scalability and, now, security.

    By embedding IaC security and compliance controls into your version control systems and CI/CD pipelines, you can start identifying and fixing errors earlier. But, to do so without being disruptive, it’s vital to lay out a strategy to determine where and how to enforce security controls to meet your goals without slowing your developers down, from experimentation to governing your strategy.

    This post will share a technical process for approaching and building an internal IaC security strategy.

    What are Your Infrastructure Security Goals?

    The key to implementing the most sustainable infrastructure security program lies in leveraging the tools and workflows developers already use. For many, that may be easier said than done because security tooling traditionally lacks the access and context necessary to play nice with dev workflows. The IaC security approach is fundamentally different from the more reactive cloud security monitoring and alerting that happen independent of developer workflows.

    As you start paving the road ahead for continuous infrastructure security processes, start by defining your ideal state. That way, as you go through the process, you’ll have an idea as to how and where you want to enforce different security and compliance controls.

    What Policies Do You Want to Enforce, and How?

    Your infrastructure security program is highly dependent on your organizations’ security priorities and maturity, and you should read this guide with your unique needs in mind.

    If you want to improve your overall cloud security posture, you may want to look for ways to apply common security policy frameworks such as the Center for Internet Security. Several open source security scanners such as Checkov or Open Policy Agent (OPA) enforce policy-as-code at the IaC level.

    They’re usually standalone packaged containers defined to accept a file, directory, repository, branch, etc., and output scan results in a machine-readable format such as JSON or JUnit XML. The most significant advantage of using an open source scanner is that they pre-package valuable security testing logic that your developers won’t have to learn.

    The alternative to a scanner is a full-featured security product, preferably one with exposed APIs and webhook integration sources. Most developer-first security solutions have done this part of the heavy lifting, so you should be getting some of this out-of-the-box.

    If you need to enforce external controls such as industry benchmarks or regulatory compliance requirements, you’ll need a more structured approach that maps individual checks to desired outcomes. Many cloud providers include robust compliance reporting for standard benchmarks such as HIPAA, NIST, PCI-DSS, etc. Make sure your policy enforcement approach enables you to build your own policies so you can adopt those controls as well.

    Where Should You Enforce Infrastructure Policies?

    Each of your teams likely has its unique frameworks and processes in place, and it’s important to have a full lay of the land before diving in. Start with a simple mapping exercise and list all the configuration frameworks in use—from CloudFormation or Azure Resource Manager (ARM) to Terraform or Pulumi.

    Once you know what frameworks exist internally, the next step is to determine the best place to scan them for infrastructure security errors. With many frameworks in place, building out new processes from scratch would be an uphill battle. Depending on your organization’s DevOps maturity, you’ll likely find an existing foundation on which you can build.

    Understand your teams’ end-to-end code review process—from committing new infrastructure changes to CI/CD build pipelines and deployments. Your team likely has some automated tests—unit, acceptance, integration, etc.—in place to ensure updates work as intended and don’t introduce bugs. Use those processes as an example for inserting security scanning. To better understand those processes, you might want to ask questions such as:

    • What triggers a CI/CD build?
    • Do your current automated quality assurance efforts run continuously on every new pull request and commit?
    • Do more time-consuming tests such as integration tests run on less-than-continuous intervals such as nightly or only on branches following specific naming conventions?
    • Are developers testing their work locally before committing?
    • How many CI/CD pipelines are in use?

    How and where you implement your security scanning will depend on those processes and the tools used to do them. Based on your current setup, you’ll generally want to take one of two approaches to IaC security—leveraging CI/CD processes or the built-in functionality from your version control system (VCS).

    Approach #1: CI/CD Pipeline

    Building security controls as part of CI/CD pipelines is probably the easier of the two approaches because modern CI/CD tools have completely abstracted away the complexity behind orchestrating test logic.

    In many cases, scanning security in CI pipelines is the fastest way to implement an IaC security and governance program. If a modern CI tool is already in place, you can probably set it up in less than 10 minutes. If you find yourself going down this path, consider the residual results of the scan and spend time dry-running it with the team that’s going to be in charge of handling its output.

    For teams operating in a centralized infrastructure operation model, this is an optimal solution. Expertise and control can remain in the hands of a small few, and the continuous enhancements to this process will not affect a large population of developers. For everyone else—continue reading.

    Approach #2: Version control system

    Your version control system (VCS) of choice is also hiding some robust security governance internal controls. Apart from adding individual automation capabilities, all of the three platforms currently dominating the market (GitHub, GitLab and Bitbucket) offer embedded code review and authorization controls that can be utilized to better control who can change what and where.

    Through their native versioning and branching, developers can perform extensive testing without compromising any running production system and continue to collaborate and converse before making changes due to a test.

    By embedding infrastructure security here, there are some pros in terms of more fine-grained access and controls. Two of the more common methods to do that utilize the standard pull request review (PR) process:

    • PR annotations: Start simple by choosing the path of least resistance. Using a standard webhook or API interface, you can start by scanning every PR and annotating its results with concrete secure coding advice. The benefit of the annotation is that it’s frictionless. Developers can choose to adopt or ignore it—little frustration, but on the other hand, not a lot of governance.
    • Checks: With the addition of native CI to most git platforms, you can also always incorporate a standard CI pipeline in git. The main benefit is to include a CI-like scan as part of each individual PR. It surfaces the same kind of output in an earlier stage and enables developers to react before actually failing building in the pipeline.

    How Should You Enforce Security Output?

    Before you include intrusive controls and overwhelming security scanning results, it’s a good idea to set expectations for how security output should be actioned. Nobody wants to get bombarded by tens of failure indications with no clear path to justify their decisions. If your IaC strategy is noisy or becomes a blocker at the end of the day, your team won’t adopt it.

    Define how passive or active you want the output of your security controls to be. Should it block builds actively or provide passive feedback to address in some pre-defined SLA?

    Some scanners can even integrate further into pipelines and orchestrate more advanced actions, such as blocking a build from completing until testing is complete. Scanning in CI was generally meant to be passive; it wasn’t built for interactive testing and troubleshooting. Should a development pipeline hold the answers to complex questions that need to be answered when resolving a security error or compliance violations?

    Ask yourself who is going to get the notification when that build fails. Continue by imagining if your CI console is where you want to troubleshoot a misconfiguration. Will you have sufficient context to solve the kind of issues your scanner is going to raise? Will you be able to deduce the impact of a change you’ll make to pass a CI scan?

    In addition to the previously mentioned benefits of hinging your IaC security strategy on your VCS, there are more fine-grained controls in git such as:

    • Approval rules: With a VCS, you can define how many approvals, and a pull request needs before it can be merged. Some even let you select which specific users those should be.
    • Code owners: If you have admin access to your main repo, consider using CODEOWNERS parameters to define a stricter approval protocol for more sensitive files.

    Some of the more mature tools also support advanced functionalities such as importing custom rule files and applying suppression and skips as code annotations. Those should help you make sure that only relevant checks eventually crop up.

    Conclusion

    There are no one-size-fits-all strategies for infrastructure security, and we as an industry are still defining the best practices for embedding it into IaC. It’s up to every security team to work closely with their engineering and DevOps to make security consumable and, ultimately, to prevent risk as early in the development life cycle as possible.

  • IaC and Kubernetes: A Natural Pairing

    IaC and Kubernetes: A Natural Pairing

    Using IaC with Kubernetes helps standardize Kubernetes cluster configuration and manage add-ons

    Infrastructure as code (IaC) is the ability to provision and manage infrastructure using a configuration language. It offers repeatability, transparency and the application of modern software development practices to the management of infrastructure including networks, load balancers, virtual machines, Kubernetes clusters and monitoring.

    IaC helps to reduce error and configuration drift while allowing engineers to spend time on higher-value tasks. IaC defines what the end state of infrastructure should look like, instead of defining a process to be executed.

    So Why Aren’t All Companies Using IaC?

    There are three main reasons why companies may not yet be embracing IaC.

    Many industries and engineers have not fully embraced or adapted to the paradigm shift of infrastructure APIs and code

    A lot of us think about infrastructure as touchable, involving physical installation and cabling. It’s only relatively recently in enterprise IT years that the industry has adopted APIs that allow borrowing and configuring infrastructure on-demand without the physicality. Engineers are good at standing up infrastructure using a time-tested, battle-hardened process. Incremental learning and integrating IaC into processes and culture helps to digest an otherwise daunting and challenging project.

    Industries are hard at work adapting security controls and regulations to incorporate the opportunity of cloud and automation without compromising high standards for privacy, safety and security. Engineers using IaC to improve their own efficiency can help champion its use in wider circles. One such example of this success is the 18F office which helps improve how the government serves the public through technology.

    IaC may feel like a loss of security or control

    Increasing the awareness of how and why infrastructure is configured can invite questions or feedback that initially may feel uncomfortable to those who have made infrastructure decisions. The ease with which others can make changes to infrastructure may feel dangerous or devaluing to engineers who have always pushed those buttons.

    IaC provides an opportunity for improving single human points of failure and knowledge bottlenecks without jeopardizing necessary controls. Access to infrastructure code and IaC tools can still match organizational structure, culture and approval processes. Infrastructure engineers remain integral to its evolution and success, and they are more available to tackle next-level problem-solving.

    ‘We move too quickly to take the time to ramp up with IaC, and we’re fast at clicking in user interfaces’

    The repeatability achieved by IaC means artisanally created infrastructure does not need to be kept around because it may be needed next month and parallel infrastructure can be created for testing and destroyed tomorrow. Start using IaC for something small such as spinning up that occasional temporary VM, then create a limited-access service account that someone else can use along with your IaC when they need that VM. Your IaC efficiency will grow with your organization’s body of IaC knowledge and code.

    Kubernetes and IaC

    Using IaC with Kubernetes helps standardize Kubernetes cluster configuration and manage add-ons. Infrastructure now can be versioned and committed to a Git repository, and it can more easily be “stood up” elsewhere when the company needs to expand to new regions or clouds. IaC benefits are vast and include:

    • Reduced human error and increased predictability: Create new test environments without impacting production and make changes across multiple environments using code review processes. Focus and attention to detail are less impacted by repetitive manual work.
    • Consistency: The repeatability of IaC with Kubernetes allows for the rapid creation of consistent infrastructure. This frees up time to address other challenges.
    • Improved changed tracking and auditability: When infrastructure is represented in a versioned repository such as Git, commits to the Git repository can reflect who, when and why changes were made. The code provides a record of how environments were built and evolved.
    • Faster speed to recovery: The reliability of an application is impacted by the ability to pivot and the speed to redeploy. Infrastructure as code can help you know what the recovery process looks like and practice that process more often.

    Start Using IaC and Kubernetes

    As a company moves into the world of containers, cloud-native apps and Kubernetes, IaC will help teams improve application reliability and stability, streamline development and operations and support a better user experience.

    In a Kubernetes environment, reliability becomes much easier to achieve with IaC because teams are deploying standard configurations. DevOps teams can use IaC to embrace the ephemeral nature of containers and Kubernetes pods, as well as avoid single points of failure.

  • Lenovo Looks to Automate Edge Computing

    Lenovo Looks to Automate Edge Computing

    Lenovo is extending its IT automation framework for provisioning IT infrastructure out to edge computing platforms.

    Charles Ferland, vice president and general manager for networking and communications service providers at Lenovo Data Center Group, said the Lenovo Open Cloud Automation (LOC-A) framework provides a single pane of glass through which IT teams can not only provision IT infrastructure but also invoke other frameworks to automate, for example, the deployment of virtual machines on top of that IT infrastructure.

    Ferland said while there are plenty of frameworks for automating the deployment of virtual machines, many IT teams will spend weeks manually provisioning IT infrastructure. LOC-A provides a mechanism to reduce the time and effort required to minutes. However, rather than completely reinvent the IT automation wheel, Lenovo decided to also integrate LOC-A with frameworks such as Ansible, Puppet and Chef, he said, noting that approach makes it possible for IT teams to adopt LOC-A without having to replace any of the IT automation frameworks they already might have in place.

    LOC-A can also be extended to edge computing platforms other than ones provided by Lenovo, he added.

    Beyond simply reducing the amount of time required to provision IT infrastructure, Ferland noted LOC-A also serves to reduce errors that typically occur when IT teams manually provision IT infrastructure. In many cases, those configuration errors can lead to cybersecurity issues later. Of course, many IT teams have developed custom scripts to automate the provisioning of IT infrastructure. However, most of those scripts don’t scale and are poorly documented, noted Ferland. When a member of the IT team that wrote the script leaves the company, often the IT team left behind must develop another script. In many cases, IT personnel view the scripts they develop as a tool that belongs to them rather than the company that hired them. Ferland said the primary goal is to provide a scalable IT automation framework that helps IT teams further advance the adoption of best DevOps practices.

    Ferland said Lenovo developed LOC-A to provide a cloud-like experience for on-premises IT infrastructure that is similar to what IT teams experience when provisioning IT infrastructure on a public cloud computing platform. LOC-A is currently being employed by telecommunications carriers including T-Systems.

    It’s no coincidence Lenovo’s decision to extend LOC-A to the edge comes at a time when carriers are creating 5G networks that require applications to be processed in real-time as close to where data is created. Those edge computing platforms are going to be deployed in, for example, locations that IT teams are not going to be able to physically reach easily.

    It’s unclear to what degree IT automation frameworks might induce IT teams to standardize on IT infrastructure at the edge. Lenovo, however, clearly views providing this capability as a means to differentiate its platforms at a time when there is currently very little standardization at the edge. The challenge, of course, is the less standardization at the edge there is, the more difficult it becomes to manage.

    — Mike Vizard

  • MEDIAOPS OFFERS CONFERENCE DISASTER PLANS AMID GROWING CORONAVIRUS CONCERNS

    Virtual Event Capabilities Allow Event Organizers to Afford Attendees, Speakers and Sponsors a Near Identical Experience to In-Person Physical Events

     

    BOCA RATON, Fla. — February 17, 2020 — Amid growing concerns over the spreading coronavirus, MediaOps, the leading global media platform for technical communities, is now offering a Conference Disaster Plan (CDP) aimed at providing conference organizers with a virtual event platform and capability that is nearly identical to the experience of an in-person physical event.

    MediaOps has produced more than 10 virtual events in the last 18 months that have offered dozens of concurrent sessions, multiple expo halls and thousands of attendees each. The platform can accommodate both live and recorded multi-track sessions in private virtual auditoriums, complete expo floor and booth capabilities, signage, chat, treasure hunt activities and more. The MediaOps platform provides all the capabilities of a live conference, including keynotes, panel sessions, Q&A, booths, attendee interaction, sponsorships and much more. Virtually anything possible at in-person events is available via the platform. Additionally, MediaOps has the personnel and expertise to produce events in a timely manner, which gives event organizers the ability to simulate a real-world setting without the travel.

    “We take this current situation very seriously; the health and well-being of our community is essential. So, for this CDP, we want to offer options that are safe and effective,” said Alan Shimel, CEO and founder of MediaOps. “Like it or not, this virus outbreak may be a tipping point in moving from the real world to virtual events. They offer comparable experiences without the travel, expense and loss of work time that physical events impose.”

    Additionally, MediaOps, through its new IT as Code community platform and along with analyst firm Accelerated Strategies Group, DevOps Institute and JumpCloud, will be conducting a survey to better understand the community’s thoughts and concerns about travel amid the current health crisis and possible implications for future events.

     

    About MediaOps, Inc.

    MediaOps is a premier global media platform for technical communities including DevOps, Security and Containerization. Its brands, which include devopsy.kinsta.cloud, Container Journal, Security Boulevard and Digital Anarchist, attract and engage a thriving online community of technology professionals around the world. Resources include award-winning editorial, creation of high-quality custom content, multimedia production and distribution. As the leaders in these emerging segments, MediaOps’ properties include powerful, integrated marketing and communication platforms to help clients maximize their campaign ROI and paid media investments.

    For more information, visit https://mediaops.io

    Press Contacts:

    CDP@devops.com

    OR

    Terri Douglas
    Catapult PR-IR
    303-581-7760
    tdouglas@catapultpr-ir.com

     

    ###

     

  • Stellus Launches Next Generation NAS Platform

    Stellus Launches Next Generation NAS Platform

    Stellus Technologies launched a network-attached storage (NAS) system capable of processing unstructured data at 10 times the speed of existing systems.

    Based on a software-defined file system written on top of a key-value store, the Stellus Data Platform can be acquired either as an appliance or in the form of a virtual image that IT teams can deploy themselves on-premises, in the cloud or at the network edge.

    Ken Grohe, senior vice president and chief revenue officer for Stellus, said the operating system created for the Stellus Data Platform has been under development for the past five years thanks mainly to $70 million in funding from Samsung. As a provider of memory technologies widely used in storage systems, Samsung has a vested interest in advancing the adoption of next-generation storage systems capable of supporting a wide array of emerging applications, he said.

    NASThe appliance Stellus provides is built around 8TB hot-swappable, non-volatile memory express (NVMe) solid-state drives (SSDs). The base configuration is delivered in a 5RU2 rack that comes with 184TB of storage. The largest configuration comes in a 17RU rack to provide access to 1.475PB of storage capacity. The Stellus Data Platform can deliver throughput rates of 20 to 80+ GB/s reads and 19-70+ GB/s write throughput, according to the company.

    The Stellus Data Platform is designed specifically to address the needs of emerging applications in, for example, the medical and life sciences sector accessing massive amounts of data that existing NAS systems are either too slow or costly to address. The adoption of most of those applications are now being driven by DevOps teams rather than traditional storage administrators, Grohe said.

    Just as significantly, he said, the Stellus Data Platform is designed from the ground up to allow IT organizations to scale-up performance and capacity independently. That “Scale Through” architecture means IT teams don’t have to add additional “dead wood” to scale performance in the form of additional storage units that end up having only a small amount of data loaded on to them, said Grohe.

    In addition, the key-value store at the core of the platform enables searching and identifying unstructured data using metadata to eliminate the need for data caches and global data maps.

    Most big data analytics and artificial intelligence (AI) applications are deployed in the cloud today in part because legacy storage systems in on-premises environments can’t support them economically. The limiting factor, however, has not necessarily been the underlying technology, but rather the need to be backward-compatible with existing storage systems. As a startup, Grohe said Stellus enjoys the luxury of not being encumbered by a classic case of the innovator’s dilemma.

    It’s too early to say to what degree Stellus might supplant rivals such as Dell Technologies, NetApp and Hewlett-Packard Enterprise. Grohe said Stellus has signed up more than 500 customers to participate in its beta program. The challenge going forward will be determining to what degree Stellus will be employed to support a growing niche of emerging applications versus becoming a new foundation on which a next-generation NAS platform will be used to also support mainstream applications.

    — Mike Vizard