Tag: internet

  • The Fallacy of Continuous Integration, Delivery and Testing

    The Fallacy of Continuous Integration, Delivery and Testing

    We know that continuous integration and continuous delivery (CI/CD) have become a DevOps best practice. And many have learned that by adding continuous testing (CT), they can create a virtuous loop, ensuring perpetual code quality and security. They’re not wrong.  Yes, testing continuously is good practice, but some incorrectly equate the concept of continuous with monitoring, thinking they’re able to see everything that could eventually affect a customer’s experience (CX) with their software application. That’s a fallacy. Many of the most glaring blind spots that wreak havoc on CX exist outside the environment that CI/CD/CT is able to “see.” CI/CD/CT, even when supported by application performance monitoring (APM), doesn’t and cannot monitor for and alert to blind spots across the internet stack. And there are many. Only internet performance monitoring (IPM) can take CI/CD/CT as input streams and shift to continuous resilience as a measurable outcome.

    How CI/CD/CT Typically Works

    As customer requirements evolve, software development teams write code that triggers a new software build. In the continuous model, each new build moves to a runtime environment for integration and quality assurance and, ultimately, is deployed to end users across public or hybrid clouds. This is an application-specific view of the world.

    Since quality assurance is part of the typical continuous process, monitoring is an assumed benefit or outcome. This assumption might be because many now complement their CI/CD/CT processes with APM. What is achieved with APM in this approach is testing, not monitoring. While testing provides a better picture of performance at the application level, it doesn’t provide full visibility into the blind spots that exist between the application layer and the end user.

    APM Isn’t Enough

    While APM tools focus on code—including everything that negatively affects an application such as database wait times and inefficient code—IPM focuses on the internet, which has become your network. IPM monitors what impacts your customers, workforce or application (API) experiences across the internet.

    While APM and IPM may seem similar, they are nothing alike. They may share common tools, such as using synthetic agents, but the difference is in what they monitor and how. In this age of highly distributed applications, that difference means everything.

    Where APM can “simulate” what a user may see from cloud location to cloud location, which can confirm application performance, this simulation isn’t true or comprehensive monitoring because it is blind to network-related problems with end-user experience, which are vast. Customers and employees each have a unique internet performance fingerprint and access applications from myriad devices across multiple locations and network infrastructures, not through the individual cloud locations that APM synthetics simulate.

    IPM approaches synthetic testing more holistically, replicating multiple user journeys across a much more complex Internet infrastructure to proactively flag performance issues before they impact end users. This true monitoring takes place 24/7, not as point-in-time tests.

    Forensics vs. Monitoring

    With APM and similar observability solutions that embrace real user monitoring (RUM), it’s important to focus on what monitoring really means. APM passively collects data that is a proxy for user experience, enabling postmortem assessment of causes and possible fixes, but after the fact. Observability looks at logs, metrics and traces and provides an assessment of whether users are having a good experience or why they did not. Neither solution by itself will prevent poor experience, and many fixes won’t take place until a postmortem analysis feeds the next iteration. The poor experience has already done its damage, and the costs are already sunk.

    With thousands of potential blind spots across the globe that can slow or disrupt applications, from ISPs and wireless carriers to CDNs, it’s not hard to grasp the increasing and differentiated importance of IPM. Where the combination of CI/CD/CT with APM can proactively prevent deployment of poor code that would affect user experience, only IPM is continuously replicating – even more valuable than monitoring–millions of experiences across a dynamic multi-node network where the unexpected is now expected.

    Internet Resilience Vs. Retrospection

    Businesses today understand the importance of resilience: It’s a board-level concept. Any business that has lost market share and market cap during sustained downtime or poor user experience understands what’s at stake: Millions if not billions of dollars. IPM is squarely focused on “internet resilience,” and its pillars are availability, reachability, performance and reliability. For businesses reliant on the cloud and employers operating with highly distributed workforces, retrospection alone is a risky proposition. Now that the internet is the new corporate network, internet resilience is a new organizational mantra.

    The Takeaway

    Whether your organization embraces CI/CD/CT already or is rethinking its approach to DevOps, this article should give you pause. Your job–perhaps as part of a larger team–is to catch performance issues and potential disruptions with your application before client impact is realized. Without IPM, only part of that job is being done.

    Why is this so important? Even conservative estimates put the cost of an outage at $6,700 per minute (Gartner) and the “cost of slow,” where something causes an application to perform poorly and it goes unnoticed, is likely significantly higher because it happens all the time. The fallacy isn’t that there’s value in CI/CD/CT–there is. The fallacy is that you’re in control of the entire CX of your internet-deployed products without monitoring the internet stack and ensuring internet resilience. Only by adding IPM can you have this assurance.

  • Headless Commerce: Why E-Commerce Is Losing Its Head

    Headless Commerce: Why E-Commerce Is Losing Its Head

    How headless commerce is changing the way commerce platforms are designed and services are offered

    Within the last 15 years we’ve seen commerce technology evolve at a breakneck pace. In the early nineties, online shopping was limited to simplistic webstores built around self-contained, all-in-one software solutions. And with consumer engagement restricted to web browser access via at-home desktop computers, many assumed e-commerce would never find its way to mainstream acceptance. Fast forward to the present: E-commerce is ascendant and traditional retail has been toppled from its throne. Immersive online shopping environments establish a sense of belonging, transforming casual shoppers into lifelong brand loyalists. Seamless e-commerce experiences are tailored to specific individuals, complimented by lightning-fast fulfillment, next-day delivery and 24/7 customer service.

    As a result of these changes, self-contained software solutions have surrendered to agile commerce platform architectures offering a more open, granular approach digital customer experience management. In particular, “headless” commerce has drawn significant hype for its unique approach to commerce architecture, involving separation of a commerce platform’s front-end customer experience from back-end business processes. But just how much of a game-changer is headless and who stands to benefit most from it as this approach becomes more widespread?

    Separate the Front and Back

    Historically, the front-end and the back-end of commerce platforms were intrinsically tied at the hip. Headless commerce allows a brand to separate the front-end experience from the back-end business processes such as management of the merchant’s catalog, product pricing, promotional offers and day-to-day management activities. This separation enables marketers to embrace new channels and new customer touchpoints by removing any dependencies of new front-end releases having to be developed, deployed and managed together with the back end. It gives the front-end UX team complete creative control over what the experience should be and can be based on the needs of the brand. This is opposed to being prescribed a commerce experience that has to follow specific processes and workflows. When done effectively, headless opens up and gives the front-end customer experience designers freedom to think outside the box and build experiences that aren’t constrained in any way.

    5G is Bottom Line

    With the evolution of 5G networks and the ability to put low-cost transmitters into any device or product, the number of things in the workplace or products we own that are connected to the internet has increased significantly. A few years ago, only a few items things such as your laptop and your phone were connected to Wi-Fi. Now it’s a list of 30 or 40 things in your house that are permanently connected to your Wi-Fi. Eventually, Wi-Fi will become obsolete and everything will connect over 5G, leading to the possibility of having hundreds of connected devices just inside your home. All of those connected devices will ultimately fuel business models that can only benefit from a headless approach.

    Many of the products we buy today are becoming more connected. By being connected to the internet, businesses can provide a value-add service, whether that’s a paid subscription or something freely provided by the brand. For example, if you buy a NEST home security camera from Best Buy, you pay a one-time fee of $400. However, once you buy it there’s also a subscription for recording and storing all the video footage. This scenario is ideal for companies looking to profit from a headless commerce business model, as the product needs to continually call home to determine if it has entitlements, if the customer is up to date on their paid subscriptions and so forth.

    Headless in the Future Means Preparation in the Present

    While headless is the future, everyone isn’t fully ready. It requires budget and teams capable of using headless commerce technologies. Generally, it’s a fit for larger, well-funded enterprise organizations that have significant in-house technical capabilities, architects and their own development teams versed in building their own custom, front-end experiences. For smaller businesses, a lot of it is about future-proofing their platform technology to prepare for a solution that supports headless in the future.

    With much-misunderstood hype around the topic, headless is still a growing term and concept within the industry. It’s going to take a push from those who are creating demand for headless such as a chief architect or CTO. If you don’t have a strong IT organization that really understands the vision of how your company is going to be more agile with a headless approach, then it’s kind of a non-starter.

    Traditional commerce is becoming a thing of the past. Headless is the future and it’s going to take everything we have to pave the way.

    — Peter Sheldon

  • Spot Instances on Black Friday: A Case Study

    Spot Instances on Black Friday: A Case Study

    Businesses made the right choice using spot instances for Black Friday

    Black Friday is the unofficial kickoff to the holiday shopping season, when retailers announce exciting deals to attract as many customers as they can into their stores. With online shopping surging in recent years, e-commerce and AdTech businesses are also participating in Black Friday to increase their online presence and revenues. Today, millions of customers have the choice of shopping online or in brick-and-mortar stores. While these stores have their challenges managing massive amounts of shoppers, e-commerce and AdTech businesses are dealing with their own set of challenges when it comes to handling shopper traffic.

    Source: Business Insider

    During peak shopping days such as Black Friday, businesses use significantly more capacity to process online shopper requests while constantly trying to provide them optimal performance. In theory, as more companies utilize resources from a cloud provider, they may experience a capacity shortage when trying to scale. When a busy online shopping day finally approaches, this theory can become a reality as online retailers scale to meet their shoppers’ demands and cloud providers struggle to accommodate capacity. However, what many cloud users may not know is that about 50 percent of the major cloud vendors’ infrastructure is mostly idle.

    To be clear, this is not because AWS, Microsoft or Google are struggling to sell their capacity; it’s because they have to be ready for rapid increases in usage—just like the one businesses experience during Black Friday.

    The fear of insufficient capacity also has made users apprehensive to use cloud providers’ excess capacity such as spot instances to run their workloads, since many customers are using more cloud resources and are eating all of the cloud inventory. Businesses simply do not want to take a chance trying to compete for excess capacity and opt for something more predictable, such as on-demand instances. The fact that cloud providers are capable of handling the most aggressive computing demands has created a situation in which businesses that chose to make intelligent use of excess capacity during Black Friday saw great returns on their investments.

    Events such as Black Friday, national elections and the Super Bowl are pretty extreme stress tests for any consumer-facing business. We thought it would interesting to go through the data and see how the AWS spot market behaved during Black Friday, and see what we can learn from it. In this blog post, I will go over the spot market statistics and lessons learned from 2018’s Black Friday.

    Spot Markets and Statistics

    Spot markets are defined as the supply and demand for a specific instance type at a specific spot price in an availability zone. Spotinst Elastigroup ranks spot markets for availability and costs from current and historical data in a process called Spot Market Scoring. Spot Market Scoring enables us to predict an instance interruption in a market approximately 15 minutes before it happens (sometimes even more than an hour). This advance notification on upcoming interruptions is what triggers the spot instance replacement and ensures the continuous availability of compute workloads. Let’s see how the spot markets behaved before and after Black Friday.

    Now that you have a better understanding of the spot market, let’s delve into the statistics from Black Friday. In the image below, we can see the number of spot interruptions for each Friday three months prior to Black Friday in the us-west-1 and us-east-1 region. The us-east-1 region had significantly more spot interruptions during this period.

    The graph below shows the number of spot interruptions that occurred a week before and after Black Friday in us-east-1 and us-west-1 across all instance types. We can see that us-west-1 was more reliable for spot instances than us-east-1. Also, us-east-1 continued to experience more outages the week after Black Friday.

    We then took a look at popular instance types and sizes used before, on and after Black Friday to see how many interruptions there were. In the image below, we can see that c4.4xlarge had the highest number of interruptions and incrementally improved after.

    The section below shows metrics for Back Friday in comparison across different availability zones in us-east-1 and us-west-2:

    1. Total Spot Interruptions this Black Friday in the US: 462
    2. Breaking down the Interruptions by Availability Zones, some had more Spot interruptions than others
    Availability Zone us-east-1 us-west-2
    AZ 1 29 1
    AZ 2 3 7
    AZ 3 24 3
    1. Average Spot Uptime: 2675 Minutes (1.8 days)

    What Spot Interruptions and Autoscaling Events Look like

    Let’s examine what a spot market interruption looks like and how Elastigroup handles the situation. In the data below, you can see an actual event log from one of our customers.We can see that early on Black Friday, the day started with Elastigroup automatically replacing terminated or soon-to-be-terminated instances. A little later, as shoppers began scavenging the internet for deals, we see that the instances were automatically scaled up to meet demand. Elastigroup scaled down the instances the following day because demand was not as high as on Black Friday. With this type of autoscaling automation in Elastigroup, administrators can spend more time worrying about application development and other tasks.

    Takeaways

    1. DevOps Automation is Key – Elastigroup uses predictive algorithms to identify and drain instances that are about to be terminated. Prior to termination, Elastigroup will launch a new instance and replace it seamlessly. Elastigroup will also make sure to distribute your instances across different types to optimize costs and longevity.
    2. Spot Instance Availability – Having a stable uptime is crucial for peak days such as Black Friday. With millions of shoppers visiting e-commerce sites, an outage can result in revenue loss. On Black Friday, the small number of spot instances that experienced interruptions had an average uptime of 1.8 days. With that uptime, organizations can rely on spot instances managed by Elastigroup to reduce costs while not sacrificing service availability during peak times.
    3. Spot Market – Spots allow businesses to make better decisions without sacrificing costs and availability. Elastigroup reliably leverages the spot market to optimize your underlying infrastructure for cost, without compromising availability. Per the statistics above, we can see that some availability zones had more spot terminations than others. AZ 1 in us-east-1 had the highest number of spot interruptions.

    — Amiram Shachar

  • Browser Isolation: Staying in Front of Internet-Borne Attacks

    Browser Isolation: Staying in Front of Internet-Borne Attacks

    Secure Remote Browsing Offers New Approach to Thwart Ever-Changing Cyberthreats

    Cybersecurity is a moving target, requiring constant vigilance to counter the cat-and-mouse tactics of malicious agents. Because enterprises are only as strong as the weakest link in their protection against internet threats, phishing schemes and rogue email attachments, proactive and defensive activities are essential.

    Each day new variations of internet-borne threats are contrived, making cyberdefense a tough challenge—especially as organizations increasingly rely on the web and browser-based applications for business-critical processes. In just a three-month period last year, 18 million malware samples were detected, as reported by PandaLabs—an average of 200,000 new threats every day.

    Unfortunately, it is not a matter of if but when you may be a target of a malware or ransomware attack. Digital evil lurks behind every click, and existing security frameworks no longer are effective. A new mindset and tools are needed to isolate cyberattacks, and prevent them from penetrating networks and devices before they can wreak havoc.

    Defense-in-Depth Strategy

    When establishing a cybersecurity strategy to defend against browser-based threats, it is important to assess the best approach for minimizing risk with finite resources.

    Maintaining a balance between performance and security is important. Implementing security measures that are too restrictive can degrade the user experience and reduce productivity. Being too lenient can leave the door wide open, increasing organizational vulnerability to a breach.

    All it takes is one employee who unknowingly clicks on a malicious link or downloads an infected file to put an entire organization at significant financial risk. According to a study conducted by IBM, the global average cost of a data breach is $3.62 million.

    In addition to existing security technologies, such as firewalls, antivirus programs, anti-malware systems, proxies and web-filtering solutions, a multilayered approach also must include remote containers and browser isolation.

    The Emergence of Secure Remote Browsing

    Secure remote browsing has been identified as a top technology in 2017 by Gartner. Otherwise known as remote browser isolation (RBI), this technology is rising in importance as a new method to strongly enhance web security and endpoint protection. Implemented in conjunction with existing security frameworks, it serves as an added measure of protection that eliminates enterprise threats without compromising the user experience.

    Browser isolation serves as an effective solution for addressing the human element that is responsible for triggering so many browser-borne threats. It provides a fully interactive, native user experience while ensuring that potential malware never reaches the endpoint. Utilizing secure remote browsing, users can browse the internet as they normally do without noticing any latency or other telltale signs.

    Remote browser isolation technology delivers unparalleled levels of security. To neutralize the great risk of encountering rogue links or corrupt files, a remote virtual browser isolates actual web browsing from the endpoint device. A newly created container is allocated within a remote “safe zone” for every remote browsing session and tab, disposing of the container once the user exits the session or tab.

    Once a browsing session is complete or inactive, the container is discarded along with any potential malware that may have accumulated during the browsing session. There is no performance degradation or noticeable latency that occurs during this process. Enterprises have the flexibility to utilize any HTML5-based browser on any operating system or device.

    While not all remote browser isolation solutions are clientless, those that are enable organizations to minimize the IT overhead and complexity associated with ongoing updates and endpoint installs, on which antivirus and other security solutions depend to block cyberthreats from reaching end-user devices.

    Browser isolation effectively augments existing web security frameworks, serving as a lead security measure that adds measurable power to existing IT investments, with minimal operational demands.

    About the Author / Daniel Miller

    Daniel Miller is the Director of Product Marketing at Ericom Software. He has more than 15 years of industry experience in corporate and product marketing, business development, and product management, supporting an array of technology services, hardware and software solutions—with a strong focus on cybersecurity in recent years. He frequently shares his insights on cybersecurity at industry conferences and podcasts, and regularly contributes articles to enterprise security publications. Daniel holds graduate degrees in Behavioral Sciences and Business Administration.

  • Node.js Foundation Embraces HTTP/2

    Node.js Foundation Embraces HTTP/2

    The latest version of Node.js will significantly increase the DevOps challenges surrounding the most widely used version of JavaScript in the enterprise. Node.js 8 adds the ability to support HTTP/2, a major revision of the core internet protocol that, in addition to being significantly faster, enables developers to make multiple requests over a single connection as well as set up pipelines for making a series of requests.

    Myles Borins, director of the Node.js Project and member of the technical steering committee at The Node.js Foundation, notes that while HTTP/2 eventually will be supported by multiple programming languages, DevOps teams most likely will encounter it first in web and mobile applications built using Node.js.

    Borins says HTTP/2 also should go a long way to accelerating the adoption of microservices applications—the majority of which are being built using Node.js.

    Node.js 8, available under a Long-Term Support (LTS) license, is 20 percent faster than its predecessors, Borins says. It is based on the JavaScript V8 engine that makes use of Turbofan and the Ignition compilers and interpreters, which equates to lower memory consumption and faster startup time across Node.js applications.

    Other new features include an Async/Await capability that allows developers to write more linear code versus relying on callbacks and a series of Experimental ES Modules that provide a standard pattern for writing modular JavaScript code that can run on both the web and in Node.js.

    Node.js 4 is now scheduled to be designated for end-of-life status in April, and Node.js 6 will face a similar fate soon after. The Node.js Foundation is encouraging organizations that have deployed Node.js applications to refresh them because security patches and updates soon no longer will be available for the core engines used in Node.js 4 and 6 applications. Node.js API (N-API), a project that enables modules to run against new versions of Node.js, is still considered experimental. That project is being lead jointly by Google, IBM, Intel, Microsoft, nearForm, NodeSource and individual contributors.

    The Node.js Foundation also announced that work has begun on Node,js 9, which is focused on modernizing legacy application programming interfaces (APIs) and implementing a new error system that associates a unique code with all errors in place of relying on traditional error messages.

    The Node.js Foundation estimates there more than 9 million instances of Node.js deployed across the web today, so managing Node.js applications across their life cycle has become a significant DevOps challenge. While Node.js is not the only programming language gaining momentum across the enterprise, the Node.js community is highly focused on increasing the robustness and manageability of Node.js applications in a way that should eventually please even some of the most hardcore fans on rival languages such as Java or even COBOL.

    — Mike Vizard

  • Today’s DNS: DevOps’ New Best Friend

    Today’s DNS: DevOps’ New Best Friend

    Continuous development and deployment is a primary focus of DevOps teams. As part of this process, DevOps teams also require the automatic creation or removal of networks, and automated deployment to production. Automation is a closer guarantee that the process will be done right the first time because the fewer the number of manual steps involved, the less likelihood for human error. Intelligent DNS improves DevOps project life cycles by integrating DNS tasks into your software development and automation tools.

    DNS Needs an Upgrade

    The internet has come a long way since its humble beginnings, from the Advanced Research Projects Agency Network (ARPANET) of the 1960s to an entity that is mission-critical for the world’s commerce. This system is now tested and taxed in ways that were not even conceived of when it was originally designed. One of these early elements, DNS, is now a potential bottleneck for network performance in general and DevOps teams in particular.

    One of the benefits of cloud computing is that it enables DevOps teams to automatically create and remove servers as needed for development and testing. Infrastructure as code (IaC) enables cloud computing to build infrastructure automatically using robust APIs that build servers and add applications as needed. Traditional DNS, with its mostly manual management, becomes a bottleneck for this automated rapid configuration of infrastructure. This is why organizations need an intelligent DNS solution. Intelligent DNS with a robust API can seamlessly interface with current DevOps software, removing the bottleneck that traditional DNS can become.

    Extending Agile with DevOps

    The underlying ideas of agile programming are extended with DevOps. Rather than the traditional way of producing and testing the code, then tossing it over the wall to the network operations team to deploy, DevOps merges the development, testing and operations responsibilities. In short, DevOps should have the ability to break the silos within your IT environment and among the development, QA and operations teams.

    DevOps’ blend of cultural philosophies, practices and tools increases an organization’s ability to deliver applications and services at high velocity. DevOps allows organizations to evolve and improve products at a faster pace than organizations using traditional software development and infrastructure management processes. This speed enables organizations to better serve their customers and compete more effectively in the market.

    Rapid Change Propagation is Essential

    In addition to rapidly delivering applications and services, a goal of DevOps continuous release is to remove bottlenecks to the development, testing, and deployment cycles. This is aimed at creating an environment where the work isn’t hampered with computer delays and frustrations.

    When you’re automating the creation or deletion of 100 virtual servers with a single mouse click using IaC, waiting for 30 minutes to see if DNS changes appear at the edge servers delays your project. Your DNS needs to move as fast as your IaC software and service discovery processes. At this point, intelligent DNS with rapid change propagation becomes essential. When choosing DNS vendors to support your DevOps environment, make sure to include speed testing for the network’s propagation for changes.

    Where IaC Comes In

    The aim of DevOps professionals is to create and sustain server environments that closely resembles the way software developers build and maintain application source code. IaC is the way DevOps teams make that happen.

    IaC is based on three primary constituents:

    • Unit/Integration Testing – Lets you validate your infrastructure code within various phases of the DevOps pipeline and lets you feel confident about what you are pushing to production.
    • Infrastructure Blueprints – Supports the reusable, consistent and rapid deployment part of IaC.
    • Version Control – Facilitates the method track and rollback changes to your infrastructure as needed.

    Infrastructure blueprints can be created using configuration as code (CaC). Using tools such as Terraform, Ansible and Chef allows DevOps teams to build these blueprints by enabling a declarative way of handling infrastructure configuration. Infrastructure blueprints should always go hand in hand with unit/integration testing. Having a robust, API-driven DNS network to couple the full automation of DNS changes alongside the infrastructure and configuration changes ensures a smoother process.

    IaC is next-generation technology for DevOps environments. When combined with CaC products, it changes the way software is built and delivered. Continuous integration and continuous deployment are a large part of the DevOps world that all still depends on DNS technology to connect everything on the network.

    The Role of Service Discovery

    Service discovery is needed to enable your apps or servers to identify which services are available on the network and which IP addresses and ports are associated with them. Previous methods of tracking this information no longer work in the DevOps age.

    Since modern infrastructure is so scalable and changes so quickly, keeping track of service information inside a periodically updated database doesn’t work anymore. Instead, you have to be able to discover services in real time and update your service information continually. Three common service discovery tools are: Consul, Apache Zookeeper and Etcd (with Registrator and confd).

    A tight integration with your managed DNS provider as part of your overall strategy means that service discovery can work hand in hand with the DNS configuration so both systems remain in sync.

    Moving Toward Intelligent DNS

    DevOps needs the same types of robust features you would want for your external internet traffic: end user-facing DNS. You should align with a vendor that can provide the flexibility, agility and reliability you require to deliver your applications.

    Look for features including:

    • Zone Transfers allowed and easily facilitated
    • An anycast DNS network
    • A robust API to support automation, IaC, service discovery and other architecture and tool needs
    • Native integration with common DevOps tools such as Terraform, Ansible and Chef
    • An SLA that meets your needs for reliability and performance

    These elements are necessary, but a more important item on your checklist needs to be redundancy in all layers of the stack, including DNS. Because no vendor is completely bulletproof, use at least two authoritative DNS providers to set up redundancy. Following these guidelines will improve your DevOps’ life cycle by using intelligent DNS.

    About the Author / Kimberly Lacerte

    Kimberly Lacerte has 14 years of experience in computer and technical writing. She is currently the Content Marketing Manager at NS1 in Bedford, N.H. Previously, she has written for Veritas, Symantec, Health Dialog and Dyn. Kimberly holds an English BA from UNH and an MBA from Southern NH University.