Ion_Stoica_600x448.jpg

Vijf belangrijke functies voor een machine learning-platform

Klik voor meer informatie over auteur Ion Stoica.

Ontwerpers van machine learning-platforms moeten de huidige uitdagingen het hoofd bieden en plannen maken voor toekomstige workloads.

Zoals machine learning voet aan de grond krijgt in steeds meer bedrijven, worstelen teams met de fijne kneepjes van het managen van de levenscyclus van machine learning.

Het typische startpunt is om elke datawetenschapper een Jupyter-notebook te geven die wordt ondersteund door een GPU-instantie in de cloud en om een ​​apart team de implementatie en bediening te laten beheren, maar deze aanpak valt uiteen naarmate de complexiteit van de applicaties en het aantal implementaties toeneemt.

Als gevolg hiervan zijn meer teams op zoek naar platforms voor machine learning. Verschillende startups en cloudproviders beginnen end-to-end platforms voor machine learning aan te bieden, waaronder AWS (SageMaker), Azure (Machine Learning Studio), Databricks (MLflow), Google (Cloud AI Platform) en andere. Veel andere bedrijven kiezen ervoor om hun eigen bedrijf te bouwen, waaronder Uber (Michelangelo), Airbnb (BigHead), Facebook (FBLearner), Netflix en Apple (Overton).

Afbeeldingsbron: Anyscale
Figuur 1: Open Source Ray kan worden gebruikt om inplugbare componenten voor platforms voor machine learning te bouwen. De blauwe vakken zijn componenten waarvoor er enkele bibliotheken bovenop zijn gebouwd.

Veel gebruikers bouwen ML-tools en -platforms. Dit is een actieve ruimte: verschillende startups en cloudplatforms beginnen end-to-end machine learning-platforms aan te bieden, waaronder Amazon, Databricks, Google en Microsoft. Maar gesprekken met mensen in de gemeenschap blijven gebruikers terugdrijven naar deze tool om veel onopgeloste uitdagingen op te lossen.

De verzameling bibliotheken van Ray kan naast andere ML-platformcomponenten worden gebruikt. En in tegenstelling tot monolithische platforms, hebben gebruikers de flexibiliteit om een ​​of meer van de bestaande bibliotheken te gebruiken of om hun eigen bibliotheken te bouwen. Een gedeeltelijke lijst van machine learning-platforms die dergelijke functies al bevatten, omvat:

In dit bericht zullen we inzichten delen die zijn afgeleid van gesprekken met veel ML-platformbouwers. We zullen functies vermelden die van cruciaal belang zijn om ervoor te zorgen dat uw ML-platform goed gepositioneerd is voor moderne AI-toepassingen. We zullen er ook voor zorgen dat ontwikkelaars die ML-platforms en ML-componenten bouwen, een dergelijk platform zouden moeten overwegen, omdat het een ecosysteem van zelfstandige bibliotheken heeft die kunnen worden gebruikt om enkele van de onderstaande items aan te pakken.

Ecosysteemintegratie

Ontwikkelaars en ingenieurs voor machine learning gebruiken verschillende tools en programmeertalen (R, Python, Julia, SAS, etc.). Maar met de opkomst van diep leren, Python is de dominante programmeertaal voor machine learning geworden. Dus als er iets is, moet een ML-platform Python en het Python-ecosysteem ondersteunen.

In de praktijk vertrouwen ontwikkelaars en machine learning-ingenieurs op veel verschillende Python-bibliotheken en tools. De meest gebruikte bibliotheken zijn onder meer deep learning-tools (TensorFlow, PyTorch), machine learning en bibliotheken voor statistische modellering (scikit-learn, statsmodels), NLP-tools (spaCy, Knuffelend gezicht, AllenNLP) en het afstemmen van modellen (Hyperopt, Afstemmen).

Omdat het naadloos integreert in het Python-ecosysteem, gebruiken veel ontwikkelaars Ray voor het bouwen van machine learning-tools. Het is een gedistribueerd computerplatform voor algemene doeleinden dat kan worden gebruikt om eenvoudig bestaande Python-bibliotheken en -toepassingen te schalen. Het heeft ook een groeiende verzameling zelfstandige bibliotheken die beschikbaar zijn voor Python-ontwikkelaars.

Eenvoudig schalen

Zoals wij dat is genoteerd in De toekomst van computers wordt gedistribueerd, nemen de “eisen van machine learning-applicaties razendsnel toe”. De opkomst van deep learning en nieuwe workloads betekent dat gedistribueerd computergebruik gebruikelijk zal zijn voor machine learning. Helaas hebben veel ontwikkelaars relatief weinig ervaring met gedistribueerd computergebruik.

Schalen en gedistribueerde berekeningen zijn gebieden waarop Ray veel gebruikers heeft geholpen met wie we hebben gesproken. Het stelt ontwikkelaars in staat zich te concentreren op hun applicaties in plaats van op de fijne kneepjes van gedistribueerd computergebruik. Het gebruik ervan biedt verschillende voordelen voor ontwikkelaars die machine learning-applicaties moeten schalen:

  • Het is een platform waarmee u uw bestaande applicaties eenvoudig naar een cluster kunt schalen. Dit kan zo simpel zijn als het schalen van uw favoriete bibliotheek naar een rekencluster (zie dit recente post over het gebruik ervan om scikit-learn te schalen). Of het zou kunnen gaan om het gebruik van de API om een ​​bestaand programma naar een cluster te schalen. Het laatste scenario is er een die we hebben zien gebeuren voor toepassingen in NLP, online leren, fraudedetectie, financiële tijdreeksen, OCR, en vele andere use-cases.
  • RaySGD vereenvoudigt gedistribueerde training voor PyTorch en TensorFlow. Dit is goed nieuws voor de vele bedrijven en ontwikkelaars die worstelen met het trainen of afstemmen van grote neurale netwerken.
  • In plaats van tijd te besteden aan DevOps, maakt een ingebouwde clusterstarter het eenvoudig om een ​​cluster op te zetten.

Uitbreidbaarheid voor nieuwe workloads

Moderne AI-platforms hebben notoir honger naar rekenkracht. In De toekomst van computers wordt gedistribueerd post waarnaar hierboven wordt verwezen, hebben we dat opgemerkt model afstemmen is een belangrijk onderdeel van het ontwikkelingsproces van machine learning:

“Je traint een model niet één keer. Doorgaans hangt de kwaliteit van een model af van verschillende hyperparameters, zoals het aantal lagen, het aantal verborgen eenheden en de batchgrootte. Om het beste model te vinden, moet u vaak tussen verschillende hyperparameterinstellingen zoeken. Dit proces wordt hyperparameter-afstemming genoemd en kan erg duur zijn. ” Ion Stoica

Ontwikkelaars kunnen kiezen uit verschillende bibliotheken om modellen af ​​te stemmen. Een van de meer populaire tools is Afstemmen, een schaalbare bibliotheek voor het afstemmen van hyperparameters die bovenop Ray is gebouwd. Tune draait op een enkel knooppunt of op een cluster en is snel een van de meer populaire bibliotheken in dit ecosysteem geworden.

Reinforcement learning (RL) is een ander gebied dat het vermelden waard is. Veel van de recente artikelen over RL hebben betrekking op gameplay (Atari, Go, videogames voor meerdere spelers) of op toepassingen in industriële omgevingen (bijv. Efficiëntie van datacenters). Maar zoals we hebben eerder opgemerktzijn er opkomende toepassingen in aanbevelingen en personalisatie, simulatie en optimalisatie, financiële tijdreeksen en publiek beleid.

RL is rekenintensief, complex om te implementeren en op te schalen, en als zodanig zullen veel ontwikkelaars gewoon bibliotheken willen gebruiken. Ray biedt een eenvoudige, zeer schaalbare bibliotheek (RLlib) die ontwikkelaars en machine learning-ingenieurs in verschillende organisaties al in de productie gebruiken.

Tools ontworpen voor teams

Nu bedrijven meer modellen voor machine learning gaan gebruiken en implementeren, zullen teams van ontwikkelaars met elkaar moeten kunnen samenwerken. Ze hebben toegang nodig tot platforms die zowel delen als ontdekken mogelijk maken. Houd bij het overwegen van een ML-platform rekening met de belangrijkste fasen van modelontwikkeling en -operaties, en ga ervan uit dat teams van mensen met verschillende achtergronden tijdens elk van die fasen zullen samenwerken.

Bijvoorbeeld, feature winkels (eerste geïntroduceerd door Uber in 2017) zijn handig omdat ze ontwikkelaars in staat stellen te delen en te ontdekken Kenmerken waar ze anders misschien niet aan hadden gedacht. Teams moeten ook kunnen samenwerken tijdens de levenscyclus van modelontwikkeling. Dit omvat het beheren, volgen en reproduceren van experimenten. Het toonaangevende open source-project op dit gebied is MLflow, maar we zijn gebruikers tegengekomen van andere tools zoals Gewichten en afwijkingen en Komeet, evenals gebruikers die hun eigen tools hebben gebouwd om ML-experimenten te beheren.

Ondernemingen hebben aanvullende functies nodig, waaronder beveiliging en toegangscontrole. Modelbeheer en modelcatalogi (analogen van vergelijkbare systemen voor het beheren van gegevens) zullen ook nodig zijn naarmate teams van ontwikkelaars meer modellen bouwen en implementeren.

Eerste klas MLOps

MLOps is een reeks praktijken gericht op het produceren van de levenscyclus van machine learning. Het is een relatief nieuwe term die ideeën put uit continue integratie (CI) en continue implementatie (CD), twee veelgebruikte methoden voor softwareontwikkeling. Een recent Thoughtworks-bericht somde enkele belangrijke overwegingen op voor het opzetten van CD voor machine learning (CD4ML). Enkele belangrijke items voor CI / CD voor machine learning zijn reproduceerbaarheid, experimentbeheer en -tracking, modelbewaking en observatie, en meer. Er zijn een paar startups en open source-projecten die MLOps-oplossingen bieden, waaronder Datatron, Verta, TFX, en MLflow.

Ray heeft componenten die nuttig zouden zijn voor bedrijven die overstappen op CI / CD of die CI / CD-tools bouwen voor machine learning. Het heeft al bibliotheken voor de belangrijkste fasen van de ML-levenscyclus: opleiding (RaySGD), afstemmen (Tune), en inzet (Dienen). Door toegang te hebben tot bibliotheken die naadloos samenwerken, kunnen gebruikers CI / CD-methoden gemakkelijker in hun MLOps-praktijk integreren.

Samenvatting

We hebben de belangrijkste elementen opgesomd waarover machine learning-platforms zouden moeten beschikken. Onze uitgangspunten zijn dat Python de voorkeurstaal zal blijven voor ML, gedistribueerde computing zal steeds meer nodig zijn, nieuwe workloads zoals afstemming van hyperparameters en RL moeten worden ondersteund, en tools om samenwerking en MLOps mogelijk te maken, moeten beschikbaar zijn.

Met deze aannames in gedachten, geloven we dat Ray de basis zal zijn van toekomstige ML-platforms. Veel ontwikkelaars en ingenieurs gebruiken het al voor hun machine learning-toepassingen, waaronder training, optimalisatie en service. Het pakt niet alleen de huidige uitdagingen aan, zoals schaal en prestaties, maar is ook goed gepositioneerd om toekomstige workloads en gegevenstypen te ondersteunen. Ray, en het groeiende aantal bibliotheken dat erop wordt gebouwd, zal de komende jaren helpen bij het opschalen van ML-platforms. We kijken ernaar uit om te zien wat je bouwt.

victor_demarines_300x224.png

Piraten omzetten in betalende klanten: naleving van gelaagde softwarelicenties

Klik voor meer informatie over auteur Victor DeMarines.

Het weglekken van inkomsten is schadelijk voor elk bedrijf, zelfs in de beste tijden. Tijdens uitdagende marktomstandigheden, zoals we vandaag de dag zien wanneer alle soorten bedrijven zich aanpassen aan de impact van de COVID-19-pandemie, is het versterken van die uitstroom bijzonder belangrijk.

Binnen de commerciële software-industrie zijn piraterij en overmatig gebruik twee veelvoorkomende problemen die leiden tot verlies van inkomsten. Om het bijbehorende inkomstenverlies te meten, te identificeren en te corrigeren, is een holistisch nalevingsprogramma voor softwarelicenties vereist. Deze benadering – welke software lagen compliance-intelligentie en analyse met traditionele methoden om piraterij tegen te gaan – legt nauwkeurige informatie over inbreuk vast, maakt actie vatbaar en maximaliseert inkomstenherstel.

De reikwijdte en oorzaken van inkomstenlekkage

De uitdaging om te kwantificeren hoeveel inkomsten verloren gaan door piraterij en overmatig gebruik is aanzienlijk en de moeite waard om aan te pakken. Lopend onderzoek vondsten dat veel softwareleveranciers worden gehinderd doordat ze niet over veel gegevens beschikken over piraterij of overmatig gebruik door bestaande klanten. Onder degenen die inkomstenverlies kunnen meten, verliezen sommigen aanzienlijke bedragen (meer dan 30 procent) van hun inkomsten door piraterij of overmatig gebruik.

Hoe deze informatie wordt verzameld, verschilt van leverancier tot leverancier. Sommige hebben auditprogramma’s, maar anekdotisch bewijs is de meest voorkomende vorm van tracking. Veelvoorkomende oorzaken van het weglekken van inkomsten zijn onder meer opzettelijke piraterij, onopzettelijke piraterij (door de aankoop van ongeautoriseerde software), ongeautoriseerd delen van inloggegevens in op gebruikers gebaseerde modellen, onbedoeld overmatig gebruik door het klonen van virtuele machines en onbedoeld overmatig gebruik in op gebruikers of op gebruik gebaseerde modellen voor het genereren van inkomsten. Veel softwareleveranciers zijn niet zeker van de omvang van het weglekken van inkomsten als gevolg van deze oorzaken.

De rol van softwaregebruiksgegevens

Omzetherstel vereist de juiste gegevens en sterke analysetools. Softwaregebruiksgegevens zijn de lijm die een effectief programma bij elkaar houdt. Gebruiksgegevens – waardevol in alle modellen voor software-implementatie en het genereren van inkomsten – werpt licht op variabelen, waaronder het al dan niet gebruiken van software, toe- of afname van het gebruik, en de productversie en functies die worden gebruikt.

Softwaregebruiksanalyses maken gebruik van deze gebruiksgegevens om softwareleveranciers te helpen bij het optimaliseren en uitbreiden van productfunctionaliteit. Robuuste analyses kan helpen bij het bouwen van betere producten door het gebruikersbestand en de betrokkenheid te begrijpen, populaire functies te identificeren, gebruikersreizen te visualiseren en meer. Softwaregebruiksanalyses kunnen ook informatie geven over routekaarten voor softwareproducten, verkoop- en marketingbeslissingen.

Als we kijken naar het gebruik van de naleving van softwarelicenties, kan er ook op gebruiksanalyses worden vertrouwd om het gebruik van de software zonder licentie bij te houden en te identificeren. Gebruiksanalyses voor licentienaleving maken gebruik van een datagestuurde aanpak om inbreukmakende gebruikers te identificeren en op te sporen, en bieden vervolgens de informatie om ze om te zetten in betalende klanten. Dit beschermt intellectueel eigendom, versterkt langdurige klantrelaties die terugkerende inkomsten opleveren en helpt verkopers het kostbare zakelijke probleem van inkomstenlekkage op te lossen.

Analyse van softwaregebruik in lagen aanbrengen om de doelstellingen voor licentienaleving te verbeteren

Analyse van softwaregebruik biedt compliance-intelligentie die voortbouwt op en werkt met vier bestaande kernstrategieën die op zichzelf al aanzienlijke beperkingen hebben.

1. Tools en strategieën voor softwarelicenties: Softwarelicentietools maken deel uit van een fundamentele strategie voor de meeste leveranciers van softwarepakketten en helpen klanten eerlijk te houden en kunnen leveranciers helpen hun rechten bij te houden. Maar licentiesoftware varieert. Het kan van eigen bodem zijn of van een derde partij zijn gekocht. Het biedt mogelijk weinig tools (mogelijk geen) om overmatig gebruik te identificeren of om gebruik zonder vergunning te volgen. De gegevens die het vastlegt, kunnen omslachtig of inefficiënt zijn. Als er piraterij plaatsvindt door licenties helemaal uit te schakelen of te omzeilen, wordt er geen informatie over verzameld. Het toevoegen van een compliance intelligence-oplossing biedt volledige zichtbaarheid, zelfs wanneer licentieverlening is uitgeschakeld. Het levert het aantal piraterijgebruikers op elk apparaat en nauwkeurige ID’s van de werkelijke locatie van de piraat. Nalevingsinformatie verrijkt ook gegevens, waardoor volledige analyse van de reikwijdte van en trends met betrekking tot piraterij, inbreuk en overmatig gebruik mogelijk wordt gemaakt.

2. Strategieën voor softwarebescherming: Standaard softwarebeveiligingstechnieken vertragen piraterij vaak maar kort, zonder deze daadwerkelijk te voorkomen. Compliance intelligence stelt de softwareleverancier op de hoogte wanneer een nieuwe versie van de point release wordt gekraakt; het biedt ook ontbrekende informatie die gebruikers identificeert. Gedetailleerde informatie over de doeltreffendheid van een softwarebeschermingsmethode kan worden gebruikt om weloverwogen beslissingen te nemen over welke beschermingen geschikt zijn voor elk product en elke markt, waardoor de afweging tussen kosten en geavanceerde bescherming wordt geoptimaliseerd.

3. Interne nalevingsmethoden en audits: ‘Interne compliance’ is vaak synoniem met ‘auditing’. Audits zijn nuttig in elke uitgebreide strategie voor het naleven van licenties, maar worden vaak niet optimaal uitgevoerd. Klanten kunnen worden aangevallen, zelfs zonder bewijs van inbreuk; audits kunnen worden geactiveerd door anekdotisch bewijs van bezorgdheid over overmatig gebruik (misschien van een verkoper die zich zorgen maakt over hoeveel licenties een snelgroeiend bedrijf heeft of zou moeten hebben) of van een klantenservicemedewerker die een oproep beantwoordt van een gebruiker die niet in de klantendatabase staat. Nalevingsinformatie is gebaseerd op gedetailleerd, betrouwbaar en specifiek forensisch bewijs van overmatig gebruik en piraterij – niet op vermoedens. Door vastgelegde gegevens te verrijken, kunnen softwareleveranciers de volledige omvang van de inbreuk van een bedrijf – over divisies en locaties wereldwijd – in realtime identificeren. Datagestuurde audits vergemakkelijken audits die in overeenstemming zijn met uw contractrechten, die de inbreukmaker niet waarschuwen en die helpen bij het optimaliseren van eventuele resterende fysieke audits die mogelijk nodig zijn.

4. Juridische maatregelen en reactie: Voor de meeste bedrijven worden de voordelen van juridische stappen tegen piraterij (sites, kanalen) overschaduwd door de kosten en complexiteit van het proces. De piratengemeenschap is veerkrachtig en zal nieuwe methoden vinden om illegale software via onwettige kanalen te leveren. Nalevingsinformatie geeft snel informatie over distributiekanalen voor piraterij. Hierdoor kan een softwareleverancier piratensites zien als een levensvatbaar distributiekanaal dat met winst kan worden beheerd, piraten in klanten veranderen (of ze nu wisten dat ze piraterij waren of niet), conversie aanmoedigen via in-app-berichtencampagnes en door softwarefuncties geleidelijk te verlagen , en om verwijderingen in bepaalde gevallen te vergemakkelijken.

Laag, niet vervangen

Bestaande strategieën zijn belangrijk. Het integreren van software-complianceanalyses is een manier om ze allemaal samen te brengen, geen reden om de bestaande processen te elimineren. Door deze benaderingen te combineren, kan volledige, nauwkeurige inbreukinformatie worden verzameld om piraterij en het weglekken van inkomsten te minimaliseren, terwijl ervoor wordt gezorgd dat alle gebruikers betalende klanten zijn – zonder de ontwikkeling, het beheer of de klantervaring te compliceren.

Scott_Fincher_Paolo_Tamagnini_Maarit_Widmann_600x448.jpg

Guided Visualization and Guided Exploration

Click to learn more about co-author Scott Fincher.

Click to learn more about co-author Paolo Tamagnini.

Click to learn more about co-author Maarit Widmann.

No matter if we are experienced data
scientists or business analysts, one of our daily routines is the easy and
smooth extraction of the relevant information from our data regardless of the
kind of analysis we are facing.

A good practice for this is to use data visualizations: charts and graphs to visually summarize the complexity in the data. The required expertise for data visualization can be divided in two main areas:

  • The ability to correctly prepare
    and select a subset of the dataset columns and visualize them in the right
    chart
  • The ability to interpret the
    visual results and take the right business decisions based on what is
    displayed

In this post we will see how visual interfaces for business intelligence, i.e. guided analytics, can help you in creating visualizations on the fly and also identify complex patterns via those visualizations.

Guided visualization is about guiding
the business analyst from raw data to a customized graph. The
business analyst is led through the process and prompted to select the columns
to be visualized, while everything else is automated. In contrast, guided exploration navigates
the data scientist from large masses of data to an
automatically computed set of visualizations showing statistically interesting
patterns. 

In the final section of this article,
we summarize the common practices and strategies used to build those guided analytics
applications, such as re-using functionalities by sharing components.

Guiding a Business Analyst from Data Selection to the Right Graphs

The challenges of data visualization are many. Often our data at hand contain values in data types that are not suitable for our analysis. For example, how do we calculate the number of days between two events, if the date values are reported as String? The numbers “6” and “7” make more sense as String, if they indicate Friday and Saturday, don’t they? These kinds of Data Quality issues affect not only how successful we are in further analyzing the data, but they also affect our choice of graphs for reporting. For example, if we want to plot values by time, or assign a color to a day of the week, these columns have to have the appropriate data types. 

However, even with perfect data, we
don’t always end up with an optimal visualization that shows how the data have
developed or highlights relationships in the data. The right graph depends on
our purpose: Do we want to visualize one or more features? Are the features
categorical or numeric? Here it comes down to our expertise as a business
analyst to select the graph that best communicates our message.

The task of selecting the best graph has not necessarily become easier with the increasing number of graphs and visualization tools available. Additionally, the easier we make it for ourselves to build a graph (visualization), the more difficult it becomes to intervene in the process (guided). Ideally, we would like to combine our business expertise – allowing the business analyst to intervene and add their knowledge – with the automated Data Science tasks – i.e automatically creating the visualization based on the expertise supplied. 

Guided Visualization: Automating When Possible and Interacting When Needed

The cost of many all-in-one
visualization solutions is that they don’t consider the whole process of data
visualization from accessing the raw data to downloading a customized graph.
Using these types of tools we would get a graph despite having provided unclean
data. And if we wanted to visualize only a subset of the data, we would
probably have to filter the input data first. Without filtering the input data
first, a graph showing sales developments for the last year could be our only
choice, given that the data consists of sales for the whole year: not that
useful if we’re only interested in developments in the last quarter. 

Guided visualization provides a more comprehensive view of the process of building graphs as shown in Figure 1.

Figure 1: The process of data visualization from accessing raw data to downloading and deploying a customized graph. The Guided Visualization application considers the whole process and allows user interaction in the middle of it.

In the data cleaning phase, even
advanced business analysts can easily overlook columns that contain only
constant values or numeric columns with few distinct values. Date&Time
values are easier to spot, but we need to make sure that we don’t lose or
change any information when we convert their data type. Given these challenges,
we want to automate as many of these tasks as possible, yet not trust the
results blindly. In the process of Guided Visualization, the business analyst
can check the results after each process step and, if needed, apply further
changes. 

After the data preparation and column
selection step, we are ready to move on to building the first version of the
graph. If we were asked whether we preferred a line plot, a bar chart, etc.,
few of us could build these options in their minds and make the decision. In
the guided visualization process, selecting the relevant graph is made easier
by way of a dashboard, which shows a collection of potential and relevant
graphs. At this point, the expertise of a business analyst is brought back into
the process: Which graph serves my purpose best? Are the title and labels
informative? Is the range of the graph appropriate? These changes can be
applied via the interactive dashboard. Once ready, the final step is to
download the graph as an image file.

Guided Visualization Workflow

The guided visualization process as
described above requires a logic that automates the process steps from data
cleaning to selecting the columns to be visualized, accessing a set of relevant
graphs, selecting and customizing the graphs, through to downloading the final
graphs as image files. The process is partly affected by the business analyst’s
decisions at the interaction points. 

So let’s have a look at the guided visualization workflow itself and the steps that are involved. Figure 2 shows these steps. Each component enables user interaction during the process, whereas the calculations between the components take place fully automatically in the background. You can download the workflow from the Hub

Figure 2: A workflow for Guided Visualization that asks for interaction in the process steps for reading the data, selecting the columns to visualize, customizing the graphs, and downloading the final images. All other process steps, such as converting the domains of the columns and removing columns with only constant values, happen automatically in the background.

Components enable interaction: Upload -> Select
Columns -> Select
Domains -> Customize -> Download

  • The first interaction point is
    enabled by the “Upload” component where the business analyst selects a
    data file
  • The second interaction point is
    enabled by the “Select Columns” component. It produces an interactive
    dashboard, which the business analyst can use to select which column(s) to
    visualize
  • The third interaction point, the
    “Select Domains” component, is optional. At this point, the business
    analyst can manually change the data types of the selected columns
  • The fourth interaction point is
    the “Customize” component. It shows a collection of relevant graphs based
    on the number of columns and their data types. Here the business analyst
    can select one or more graphs, change their labels, zoom them, and apply
    other visual changes
  • The fifth and final interaction point
    is the “Download” component that enables downloading the selected and
    customized graphs as images.

Of course not all of the specific requests of the business analyst will match the steps of guided visualization we’ve described above. However, the same logic remains useful in extended and modified versions of the same process. For example, it’s easy to insert more interaction points as components into our workflow (in Figure 2). We could also provide more graphs than are provided by the process so far (Figure 3). We would do this by adding new nodes inside the nested components shown in Figure 4.

Figure 3: Some of the possible graphs generated by the guided visualization process when the business analyst has selected two columns.
Figure 4: A workflow showing one process step (the “Customize” component in the workflow available on the Hub) in the guided visualization process. Here a selection of graphs is generated based on the number and type of the selected columns. Each selection of graphs can be enhanced with other nodes for visualization into the corresponding component.

Guiding a Data Scientist from Unexplored Data to Interesting Data

More experienced users, like for example data scientists, might also find the process of visualizing data challenging, especially if the data come from an unexplored and complex dataset. By complex we mean hundreds of columns with cryptical names for example. This problem is common in the earliest stage of the analytics process where the expert needs to understand the data before making any assumptions. Data visualization is a powerful tool for data exploration, however, if we have hundreds of unknown columns what needs to be visualized first?

Automatically Visualizing Interesting Patterns Between Columns

One approach to quickly find the
interesting columns to visualize is by using statistical tests. Here, we take a
good sample of our really large dataset and we start computing a number of
statistics for single columns, pairs of columns, and even groups of columns.
This is usually computationally expensive so we should make sure that the
sample we take isn’t too big.

Using this approach we find interesting patterns – for example the most correlated pair of columns (Figure 6), a column with a skewed distribution, or one with a profusion of outliers. The statistical tests naturally take the domain of the data into account. For example, if we want to find an interesting relationship between a categorical and a numeric column, we wouldn’t use correlation measures but the ANOVA test (Figure 7) instead.

Ultimately, we will find a long list of
patterns and relationships to be visualized. What then? Well based on what we
want to visualize, we can find the best visualization for each interesting
pattern. How do we visualize the most correlated columns? We can use a scatter
plot. How can we show outliers in a column? We could use a box plot. Finding
the best visualization for each interesting pattern is a crucial step and might
need some visualization background. But what if we had a tool able to
automatically first find those patterns and then also visualize them in the
most suitable chart? All we then have to do is to provide the data and the tool
gives us visualizations in return.

Guided Exploration Workflow

This is what the workflow for guided exploration does. You can see it in Figure 5: it reads the data, computes the statistics, and creates a dashboard (Figure 6), which visualizes them. Nice right?

Figure 5: A workflow for guided exploration that asks for raw data, calculates statistics on the data and automatically visualizes the found patterns and relationships in a dashboard. This can help data scientists in quickly exploring and understanding complex data.
Figure 6: Parts of the dashboard generated by the Guided Exploration workflow. The graphs show highly correlated and inverse correlated columns in scatter plots for the numeric columns and in a sunburst chart for the categorical columns. The automatically generated dashboard can help data scientists to understand and explore a complex data.

The Human in the Loop

In raw data, the most intense patterns
are actually the result of columns of a bad quality: two columns that are
practically identical would subsequently give high correlation; or columns with
too many constant or missing values, and so on. Furthermore, we might have
columns with obvious relationships because they, for example, measure the same
thing but with different units. Examples of these patterns are shown in Figures
6 and 7.

Whatever the cause, it is likely that the first time we visualize statistics calculated on raw data our results will be disappointingly boring. That is why the dashboard is in a recursive loop, as shown in the workflow in Figure 5.

The way this works is that we can iteratively remove the columns that are not interesting for some reason. We become the Human-in-the-Loop and iteratively choose which data columns should be kept and which should not, based on what the dashboard shows us. After a few iterations we will see a good number of interesting charts. All we need to do now is sit back, relax, let the workflow take us through a univariate and multivariate analysis, and extract the important information.

Figure 7: These two visualizations, a stacked histogram and a conditional box plot, show both the relationship between the distribution of a numeric column (DepTime) and a categorical column (delay_class). We can see how the two subsets of data assume a different distribution. If we partitioned the data using the two categorical values “delay” and “no delay”, we could confirm this using an ANOVA test.

Executing the Model

You can download the workflow from the Hub, deploy it to your Server and execute it from the WebPortal, and – iteration after iteration – discard columns from any web browser. At the end of the loop it is up to you what you want to do with the few relevant columns that are left. You could simply output the results, or add more nodes to the workflow and immediately extend your analysis with other techniques. You might for example train a simple regression model given the lucky correlation with your target that you’ve just found – thanks to this process.

Customizable and Reusable Process Steps

If you look closely at the two
workflows presented above you’ll notice that there are quite a few similarities
between them. Things like the layout, internal documentation, overall style,
and functionality are consistent across these workflows. This is by design, and
you can incorporate this consistency in workflows too.

Layouting and Page Design

By using the newly updated layout panel in WebPortal preparation, you have the ability to make consistently formatted pages, complete with padding, titles, headers, footers, sidebars – everything needed to make a professional looking combined view.

When combined with an initial CSS Editor node, you can define presentation elements like font selection, size, and placement in a single component and then pass those downstream to all subsequent nodes for a consistent display. The above are all elements of layout and page design that were used in the guided visualization and guided exploration workflows: Arranging the components’ views that correspond to web pages, enhancing the display and consistency with CSS styling and customizing the appearance of the WebPortal with dynamic headers and sidebars.

Component Re-use and Sharing

Beyond just similarity in look-and-feel
between workflows, we also re-used functionality between workflows where it
made sense to do so. After all, why create workflow functionality from scratch
if it has already been implemented and tested in an existing workflow? There’s
no need to re-invent the wheel, right?

For common tasks that we needed to
implement in these workflows – things like uploading files, selecting columns,
saving images, and so forth – there is a component.

Now, with the new Hub, you also have
the ability to import components and nodes directly into our own workflows!

Components vs. Metanodes

Another area of consistency in these workflows was the way we used components, as opposed to metanodes. We made a conscious decision early on to make use of components whenever we knew a user interaction point in the webportal would be required. So whenever the user is asked, for example, to choose columns for a model, or perhaps select a particular graph for visualizing data, this option was always included in component form.

Figure 9: Examples of shared components that encapsulate often repeated tasks in the guided visualization and guided exploration workflows, and enable user interaction in the view that they produce.

We used metanodes regularly too, but
for different reasons. Where logical operations, automated functions, or just
simple organization and cleanup were needed, this is where metanodes were
brought in. When needed, we would nest metanodes within each other – sometimes
multiple times. This process is all about making sure the workflow has a clean
look, and is easy to understand.

Workflow Design Considerations

When you’re designing your own workflows, you might even want to think about this method for using components and metanodes from the very beginning. Before dragging and dropping individual nodes into a workflow, start first with empty components and metanodes that represent the overall functionality. It might look something like this:

Figure 10: The process steps in the workflow for guided visualization. Each component inside the upper box corresponds to an interaction point, and each metanode inside the lower box corresponds to an automated process step.

Summary

The processes of guided visualization
and exploration require a number of decisions: What are the most important
columns for my purpose? How do I visualize them? Are all columns necessary to
keep in the data? Do they have the appropriate data types?

A business analyst might easily explain
the development shown by a graph, but comparing different ways of visualizing
the development might be outside of his/her interest or expertise. On the other
hand, someone who’s an expert in building fancy graphs doesn’t necessarily have
the best understanding for interpreting them. That’s why an application that automates
the steps that require out-of-domain expertise can be practical in completing
day-to-day tasks. 

Here we have shown how a business
analyst can start with raw data and generate relevant and useful
visualizations. On top of that, we’ve presented a workflow that can help a data
scientist gain better understanding of complex data.

Bassam_Chahine_600x448.jpg

Redis: inzicht in de belangrijkste toepassingen en uitdagingen van de Open Source Data Store

Klik voor meer informatie over auteur Bassam Chahine.

Redis, wat staat voor “REmote Dictionary Server”, is een voor snelheid geoptimaliseerde gegevensopslag in het geheugen die meestal als cache wordt gebruikt. Redis biedt veelzijdige datastructuren – van strings, lijsten, woordenboeken en sets tot ondersteuning voor geschatte telling, geolocatie en streamverwerking. Hoewel Redis standaard is geconfigureerd als een cache, houdt het gegevens op schijf vast en kan het gemakkelijk dienen als database, message broker of wachtrij.

Vanuit een capaciteitsperspectief biedt open source Redis bijzonder hoge prestaties, hoge beschikbaarheid en schemaloze flexibiliteit om een ​​vrij breed scala aan gegevenstypen en gebruiksscenario’s te ondersteunen. Redis wordt momenteel ingezet door meer dan 20 procent van de professionele ontwikkelaars volgens het 2020 Stack Overflow Developer Survey en heeft zich sterk gehouden als ontwikkelaars “meest geliefd” databasetechnologie voor de afgelopen vier jaar in datzelfde onderzoek.

Hoe Redis werkt en de belangrijkste voordelen

Redis-gegevens bevinden zich zowel in het geheugen als op de schijf omdat ze in twee verschillende indelingen naar de schijf kunnen schrijven. Een binair formaat vertegenwoordigt gegevens in het geheugen en kan opnieuw worden geladen na een herstart. Een ander “alleen-append bestand” (AOF) -formaat legt opdrachten vast aan de database en kan deze opdrachten opnieuw afspelen om een ​​herstarte Redis-instantie naar de vorige staat te brengen. Door gegevens in het geheugen op te slaan, elimineert Redis de latentie van toegang tot schijfopslag – door lees- / schrijfbewerkingen van minder dan een milliseconde uit te voeren en miljoenen bewerkingen per seconde uit te voeren.

De schijfpersistentie van Redis maakt ‘warme herstarts’ mogelijk, waardoor een Redis-cache positie kan innemen voor een langzamere infrastructuur en verkeer kan doorsturen in een tempo dat de infrastructuur aankan. Schijfpersistentie stelt ontwikkelaars ook in staat om Redis te gebruiken als een primaire database voor toepassingen waarvan de gegevensomvang en het risicoprofiel goed begrepen en compatibel zijn. Bovendien biedt Redis clustering, hetzij via horizontale clustering die asynchrone gegevensreplicatie tussen servers mogelijk maakt, hetzij een primaire / replicaserverconfiguratie. Horizontale clustering is het meest geschikt wanneer u Redis als cache gebruikt, de opslag maximaliseert en vertrouwt op warme herstarts om knooppuntstoringen te verminderen. In gevallen van databasegebruik stelt een primaire / replica-architectuur het Redis-cluster in staat om aan de vraag te voldoen aan dynamische schaalbaarheid, terwijl ononderbroken beschikbaarheid wordt geboden. Parallelle verwerking over replicaservers verhoogt ook de leesprestaties.

Belangrijk is dat Redis ontwikkelaars in staat stelt om gegevens te gebruiken met minimale code door gebruik te maken van native gegevensstructuren en de meer dan 100 beschikbare open source-clients. Redis ondersteunt Java, C, C ++, C #, Python, PHP, Ruby, JavaScript, Node.js, Go, R en meer, waardoor ontwikkelaars in hun voorkeurstaal kunnen coderen.

Redis is ook 100 procent open source en garandeert totale vrijheid van leverancier of technische lock-in, ondersteuning voor open data-indelingen en de steun van een robuuste en actieve community.

Gebruik cases en functies van Redis

Intelligente caching, het verlopen van gegevens en “uitzetbeleid”: In zijn primaire gebruiksscenario als cache stelt Redis applicaties in staat om snel te reageren op gebruikers door veelgebruikte gegevens in het geheugen te bewaren. Redis-ontwikkelaars kunnen datastructuren markeren met een Time To Live (TTL), waarmee ze het aantal seconden bepalen totdat die gegevens worden verwijderd. Ontwikkelaars kunnen ook intelligent “uitzettingsbeleid” configureren om gegevens met de kortste TTL eerder dan andere gegevens te verwijderen. Als alternatief kan verwijdering worden gebaseerd op de minst recent gebruikte (LRU) of minst vaak gebruikte (LFU) statistieken. Deze intelligente cachepatronen maken geoptimaliseerde gebruikerservaringen en productiviteit mogelijk.

Streams en streamverwerking: Redis 5.0 introduceerde streams en streamverwerking, geïnspireerd door Apache Kafka. Net als Kafka-onderwerpen, kan Redis consumentengroepen toewijzen om werkstromen te verwerken. Als een consument de voltooiing van het werk niet erkent, nemen andere consumenten het werk over. Dit Kafka-achtige gedrag in het geheugen ondersteunt responsieve ervaringen met niet-blokkerende gebruikersinterfaces.

Publicatie- en abonnementsberichten (Pub / Sub): Met pub / sub-berichten worden berichten doorgegeven aan alle abonnees die momenteel luisteren. Dit maakt bewustzijn van de belasting over infrastructuur en applicaties mogelijk, en ondersteunt gebruiksscenario’s zoals meldingen en gaming-scoreborden.

Lua-scripts: Redis kan scripts uitvoeren in de Lua-taal. Ontwikkelaars kunnen aangepaste scripts maken om hun eigen functies aan Redis toe te voegen.

Geolocatiefuncties: Redis biedt geolocatiegegevensstructuren en -opdrachten – vooral handig voor toepassingen zoals apps voor het delen van ritten waarvoor locatiegegevens nodig zijn. Deze gegevens slaan reeksen lengte- en breedtegraadcoördinaten op. Met Redis kunnen query’s de afstand tussen objecten en andere nuttige oplossingen bepalen.

Hyperloglog: Redis bevat de Hyperloglog-datastructuur, die geschatte tellingen van setgroottes mogelijk maakt die veel minder geheugen gebruiken versus het opslaan van complete set-tellingen.

Langste gemeenschappelijke substring (LCS): Redis 6.0 heeft het LCS-algoritme toegevoegd, waardoor snelle vergelijkingen tussen twee strings mogelijk zijn om de langste gemeenschappelijke subtekenreeks te extraheren. Als u bijvoorbeeld ‘ananas’ en ‘rode appel’ vergelijkt, levert dat ‘appel’ op.

Herstelt uitdagingen en ongepast gebruik

Redis configureren als een primaire database: Het is zeker mogelijk om Redis te implementeren als een effectieve primaire database, maar dit vereist zorgvuldig en nogal uitdagend configuratiewerk. Om als database te functioneren, moet Redis zijn geconfigureerd voor hoge beschikbaarheid en kan het niet leeg opnieuw opstarten. Wees vooral voorzichtig bij het wijzigen van deze en andere standaardopties die bedoeld zijn voor gebruik in cache.

Met behulp van de KEYS-opdracht: Omdat de opdracht Redis KEYS van invloed is op alle sleutels in een database, kunnen ontwikkelaars moeite hebben om deze te gebruiken zonder de prestaties te beïnvloeden. Beste advies: vermijd gewoon het gebruik van de KEYS-opdracht.

REST-verbindingen gebruiken: Ontwikkelaars die bekend zijn met andere databases voltooien verzoeken vaak door verbindingen te openen en te sluiten om elke opdracht in een REST-stijl af te handelen. Redis is anders ontworpen: gebruik continue open verbindingen, anders zullen de prestaties achteruitgaan.

Statische activa in cache plaatsen: Redis is niet geschikt voor het cachen van statische items, zoals afbeeldingen of video’s. Lever die middelen in plaats daarvan via een webserver of Content Delivery Network (CDN).

Cruciale gegevens opslaan: Redis is geen ideale canonieke gegevensopslag in scenario’s waarin de gegevensgrootte de geheugencapaciteit van het cluster overschrijdt. Een database met een hoge replicatiefactor naar meerdere datacenters, zoals open source Apache Cassandra, is een betere keuze voor cruciale gegevens.

Ten slotte is Redis ideaal voor gebruikssituaties met een lage latentie. Anders kunnen databases die op schijf kunnen worden opgeslagen (nogmaals, zoals Cassandra) betere opties zijn.

Gevolgtrekking

Redis is een bijzonder indrukwekkende en terecht populaire open source datatechnologie die zich leent voor vele, vele gebruikssituaties. Dat gezegd hebbende, betekent het maximale uit Redis halen, ervoor zorgen dat elke implementatie overeenkomt met wat de datastore-technologie kan bieden en dat Redis correct is geconfigureerd om te doen waar het het beste in kan.

Metric-Insights-FeaturedImage.jpg

Presentaties: het bereiken van een “enkele bron van waarheid” met BI in uw onderneming

Om alleen de opname op aanvraag van deze presentatie te zien, klikt u op HIER >>

Over het webinar

Het vermogen om een ​​consistent gebruik en brede acceptatie van Business Intelligence te stimuleren, is een voortdurende uitdaging voor veel bedrijven, en het onvermogen om deze consistentie en uniforme acceptatie te bereiken, kan hun voortgang om informatie- en datagestuurde organisaties te worden aanzienlijk belemmeren. Afdelingssilo’s, de proliferatie van tools, datageletterdheid van eindgebruikers en andere uitdagingen zorgen te vaak voor een omgeving waarin een gedeeld, gemeenschappelijk begrip van de belangrijkste prestatie-indicatoren van de organisatie uitblijft. Bovendien krijgen metrics en metingen – de veelbesproken ‘single-source-of-truth’ – vaak geen vorm, wat op zijn beurt leidt tot concurrerende versies van de waarheid, een gebrek aan vertrouwen in beschikbare besluitvormingsgegevens en verslechtering van de snelheid en effectiviteit van besluitvorming.

In dit webinar zullen we:

  • Ontdek de onderliggende voorwaarden die leiden tot de uitdagingen om een ​​consistente en bedrijfsbrede acceptatie van Business Intelligence te stimuleren
  • Bekijk casestudy’s van bedrijven die deze uitdagingen met succes hebben opgelost
  • Oplossingen voorstellen voor de problemen die organisaties ervan weerhouden de noodzakelijke maar ongrijpbare “Single Source of Truth” op te bouwen

Over de sprekers

Marius Moscovici

CEO en oprichter, Metric Insights

Marius heeft meer dan 20 jaar ervaring in analyse en datawarehousing. Marius is de CEO van Metric Insights, de toonaangevende leverancier van een BI-portal die organisaties helpt hun BI-omgevingen te organiseren en ervoor te zorgen dat gebruikers de bruikbare gegevens krijgen die ze nodig hebben.

Mike Smitheman

VP Sales en Marketing, Metric Insights

Mike heeft meer dan 15 jaar product- en marketingervaring in de Business Intelligence-industrie. Mike hielp bij het op de markt brengen van analytische producten met senior functies bij Seagate Software, AIM Technology, Tealeaf, Accero en GoodData.

1600988565_Metric-Insights-FeaturedImage.jpg

Webinar: het bereiken van een “enkele bron van waarheid” met BI in uw onderneming

Om alleen de dia’s van deze presentatie te zien, klikt u op HIER >>

Over het webinar

Het vermogen om een ​​consistent gebruik en brede acceptatie van Business Intelligence te stimuleren, is een voortdurende uitdaging voor veel bedrijven, en het onvermogen om deze consistentie en uniforme acceptatie te bereiken, kan hun voortgang om informatie- en datagestuurde organisaties te worden aanzienlijk belemmeren. Afdelingssilo’s, de proliferatie van tools, datageletterdheid van eindgebruikers en andere uitdagingen zorgen te vaak voor een omgeving waarin een gedeeld, gemeenschappelijk begrip van de belangrijkste prestatie-indicatoren van de organisatie uitblijft. Bovendien krijgen metrics en metingen – de veelbesproken ‘single-source-of-truth’ – vaak geen vorm, wat op zijn beurt leidt tot concurrerende versies van de waarheid, een gebrek aan vertrouwen in beschikbare besluitvormingsgegevens en verslechtering van de snelheid en effectiviteit van besluitvorming.

In dit webinar zullen we:

  • Ontdek de onderliggende voorwaarden die leiden tot de uitdagingen om een ​​consistente en bedrijfsbrede acceptatie van Business Intelligence te stimuleren
  • Bekijk casestudy’s van bedrijven die deze uitdagingen met succes hebben opgelost
  • Oplossingen voorstellen voor de problemen die organisaties ervan weerhouden de noodzakelijke maar ongrijpbare “Single Source of Truth” op te bouwen

Over de sprekers

Marius Moscovici

CEO en oprichter, Metric Insights

Marius heeft meer dan 20 jaar ervaring in analyse en datawarehousing. Marius is de CEO van Metric Insights, de toonaangevende leverancier van een BI-portal die organisaties helpt hun BI-omgevingen te organiseren en ervoor te zorgen dat gebruikers de bruikbare gegevens krijgen die ze nodig hebben.

Mike Smitheman

VP Sales en Marketing, Metric Insights

Mike heeft meer dan 15 jaar product- en marketingervaring in de Business Intelligence-industrie. Mike hielp bij het op de markt brengen van analytische producten met senior functies bij Seagate Software, AIM Technology, Tealeaf, Accero en GoodData.

jz_cscarrtools_102419.jpg

Case Study: Data Protection and HCI for Carrs Tool Data Architecture Upgrade

“Bestaande condities” is een term voor condities die niet erg lang duren. Amazon veranderde het aanzien van de detailhandel. Google heeft de toegang tot informatie gedemocratiseerd. Facebook en vrijwel elke sociale mediasite hebben de manier waarop we met elkaar omgaan veranderd.

Er kwam verandering Carrs Tool Steelsook. De Britse leverancier van gereedschapsstaal en producten van hoge sterkte aluminiumlegeringen aan fabrikanten heeft het koopgedrag van zijn klanten zien veranderen van het in bulk kopen van grote stukken materiaal naar het nauwkeurig inkopen van geblokkeerd gereedschapsstaal voor just-in-time-productie.

Het heeft het afgelopen decennium veel werk verricht aan zijn ERP-systeem en zijn bedrijfsmodel, zodat het efficiënter kan reageren op klanten wier eigen modellen ertoe leiden dat ze kleinere, maar meer bestellingen plaatsen. De geüpgradede Priority ERP-software die het bedrijf gebruikt, stelt het in staat om op elk moment de exacte afmetingen van elk stuk voorraad in het magazijn vast te leggen, te traceren en te doorzoeken, zodat klanten binnen enkele seconden de beste match krijgen voor hun vereisten.

Maar de hardware die het ondersteunde, was niet veranderd. “De hardware moet het werk aankunnen”, zegt Mark Mullaly, Carrs Tool Steels Systems Manager.

De infrastructuur bestond uit een reeks stand-alone, niet-gevirtualiseerde servers die werden overladen met verschillende ERP-applicaties die allemaal met elkaar verbonden waren. “We hadden meerdere workloads op elke server en als één workload problemen zou veroorzaken, zou dit een domino-effect hebben op andere workloads,” zei Mullaly. Een probleem met één stuk software kan de hele operatie doen mislukken.

En inderdaad, Carrs had een situatie waarin zijn ERP-systeem meer dan een dag offline was. Toen er grotere maar minder bestellingen werden geplaatst, zei hij, kon het bedrijf problemen met de infrastructuur omzeilen. Maar strakke tijdlijnen bij gestroomlijnde productie betekent dat klanten snelle en betrouwbare services verwachten – geen excuses. Voor Carrs was een volledige set back-up- en herstelmogelijkheden om ervoor te zorgen dat gegevens altijd worden beschermd, een prioriteit.

Gegevensbescherming met tanden

Toen Mullaly voor het eerst hardware-opties overwoog, dacht hij dat het zinvol zou zijn om systemen gewoon te vervangen door andere merknaamservers en opslag of te kiezen voor een zelfgebouwde virtualisatie-oplossing. Aparte servers kopen om te draaien VMware met een enkele opslageenheid zou echter een enkel storingspuntprobleem zijn.

Kosten en opleiding waren een punt van zorg. Het bedrijf kon het zich niet veroorloven om te kiezen voor een oplossing die, met licentiekosten en ondersteuningskosten, over vijf jaar ergens in de buurt van £ 100.000 zou kosten. Bovendien, zei Mullaly, had hij niet de tijd om te besteden aan hoogwaardige training voor het beheren van systemen.

“We hebben een klein IT-team in huis, en dat ben ik,” zei hij. “Er is een beperkte hoeveelheid tijd die ik buiten het werk kan besteden, en ik heb een oplossing nodig waarvoor ik niet duizenden verschillende vaardigheden hoef te leren om hardware te beheren.”

Hyperconvergentiesystemen waren de volgende optie om te overwegen als een schaalbare benadering voor het poolen van datacenterfuncties op hardware en deze te delen tussen virtuele machines die op elke host in het cluster draaien. Even belangrijk was dat het HCI-systeem echte tanden heeft als het ging om alles-in-één gegevensbescherming.

De keuze van Carrs hing ervan af of het systeem geschikt was voor een klein bedrijf en dezelfde betrouwbaarheid bood die systemen in veel grotere organisaties gewoonlijk hebben. Mullaly besloot mee te gaan Schaal Computing’s HC3-oplossing, die opslag-, reken- en virtualisatielagen van infrastructuur integreert in één oplossingsarchitectuur voor het automatiseren van het beheer van de IT-omgeving.

Mullaly zei dat hij het op prijs stelde gegevensbescherming vormde de kern van het systeem, niet alleen als achteraf toegevoegd. De geïntegreerde snapshot-gegevensreplicatie voor verbeterde bedrijfscontinuïteit op het Scale Computing-systeem is belangrijk voor het bedrijf. Elk bedrijf moet zijn gegevens off-site kunnen herstellen of vanaf een eerder tijdstip kunnen herstellen om het te helpen herstellen van een niet-geplande gebeurtenis.

“Het is zo eenvoudig om schema’s op te stellen die elk uur en / of dagelijkse momentopnamen kunnen produceren en vervolgens kunnen kiezen welk schema op welke VM moet worden toegepast”, zei hij. “Het meest indrukwekkende aspect is echter dat de productie van deze snapshots een verwaarloosbaar effect heeft op de systeemprestaties.”

Carrs hoefde niet na te denken over licentiekwesties of iets dat complicaties toevoegt door een HCI-systeem te kopen. “We gaan niet de grenzen verleggen van welk systeem dan ook. Het hoeft alleen maar onze software betrouwbaar en consistent te laten werken, ”zei hij. Een ander voordeel van het kiezen van een volledig geïntegreerde oplossing is dat gegevensverlies tot een minimum wordt beperkt. Er is meer gegevensverlies – gemiddeld 2,36 terabyte – wanneer meer leveranciers betrokken zijn bij gegevensbescherming.

Carrs koos eigenlijk voor een computersysteem op een iets grotere schaal dan nodig was, maar Mullaly vond het slimmer om het datacenter voor de komende drie jaar voorbereid te hebben, in plaats van het systeem gaandeweg te moeten vergroten. “We gingen uiteindelijk voor een systeem dat ongeveer twee keer zo groot was als onze grootste schatting, om de groei van gegevens en verwerking mogelijk te maken.”

Op langere termijn zou hij de HC3-oplossing kunnen uitbreiden door gewoon op een ander knooppunt te schroeven. Carrs heeft momenteel één cluster met drie knooppunten op het HC3-platform waarop zes VM’s draaien, en in de toekomst wil het tot 8-10 VM’s draaien. De Priority ERP-software, bestands- en printservices, Remote Desktop Services, antivirus en Active Directory draaien op het platform.

De kosten in de gaten houden

Het komt vaak voor dat organisaties, met name kleinere met weinig IT-middelen, hun infrastructuur naar de cloud verplaatsen. Maar Mullaly was bezorgd dat de kosten onverwachts zouden stijgen.

“We wilden iets dat van ons was en waarvan we de kosten kenden”, zei hij. “We hebben nog werk aan de winkel om systemen betrouwbaarder te maken en Scale Computing zo goed mogelijk te gebruiken.”

Scale Computing helpt de totale eigendomskosten voor klanten laag te houden door gebruik te maken van de open source KVM-hypervisor die vergelijkbare functionaliteit biedt als VMware.

Carrs schrijft zijn verhuizing naar een nieuwe infrastructuur om zijn belangrijkste ERP-oplossing uit te voeren, in ieder geval gedeeltelijk toe aan zijn prestaties op het gebied van tijdige levering in de afgelopen zes maanden. Er is de afgelopen zeven maanden geen ongeplande downtime geweest. “We kunnen klanten nu beter tevreden stellen dan vorig jaar.”

De populariteit van hypergeconvergeerde oplossingen komt tot uiting in het feit dat de wereldwijde HCI-marktomvang naar verwachting zal groeien van $ 4,1 miljard in 2018 naar $ 17,1 miljard in 2023, tegen een CCAGR van 32,9 procent.

Afbeelding gebruikt onder licentie van Shutterstock.com

Eran_Brown_600x448-1.jpg

IT-infrastructuurschokken beheren – DATAVERSITY

Klik voor meer informatie over auteur Eran Brown.

De pandemie van COVID-19 heeft overal ter wereld schokgolven veroorzaakt. Bedrijven werken er hard aan om aanbodschok, vraagschok en kredietschok te overwinnen – in welke volgorde ze die ook ervaren.

Veel bedrijven worden ook geconfronteerd met schokken van de IT-infrastructuur, de plotselinge en immense uitdaging om een ​​nieuwe IT-strategie te moeten creëren en bouwen die een steeds veranderend bedrijfsklimaat ondersteunt.

IT-budgetten zijn bevroren of gekrompen, dus niets veranderen en er het beste van hopen is geen optie. De vraag is niet langer: ‘Moeten we van strategie veranderen?’ maar eerder: “Wat moeten we eerst veranderen?”

Strategie voor het nieuwe normaal

Het typische verkoopmodel van vooruitbetalen voor IT-infrastructuur om potentiële langetermijnuitdagingen het hoofd te bieden, is niet langer realistisch. In plaats daarvan, het bedrijf behouden contanten die beschikbaar zijn voor strategische investeringen, vooral in het licht van de alom verwachte economische neergang, is aan de orde van de dag.

Met dit alles in gedachten is het belangrijk om te focussen op nieuwe initiatieven en productontwikkeling, om responsievere en wendbaardere systemen mogelijk te maken. In ons geval betekent dat het vergroten van de opslagcapaciteit voor onze klanten om online of op afstand te kunnen werken, terwijl we bijvoorbeeld ook business units stroomlijnen en nieuwe toolsets benutten.

Een effectieve IT-infrastructuur speelt een cruciale rol bij het leveren van zowel kostenbesparingen als bedrijfsefficiëntie. IT-teams staan ​​onder druk om zich aan te passen aan veranderende zakelijke vereisten, intern en extern.

We hebben hard gewerkt om de meest urgente uitdagingen voor organisaties aan te pakken, zoals de toegenomen datagroei die gepaard gaat met de overgang naar digitale transacties waar veel bedrijven mee te maken hebben als gevolg van sociale afstand en quarantaines. Dit heeft ertoe geleid dat deze bedrijven hun opslaginfrastructuur hebben laten groeien zonder fysiek toegang te hebben tot hun datacenters, en extra problemen met zich meebrengt, zoals gelijke tred houden met de groei van de applicatieprestaties en gegevensbescherming.

Sommigen zijn overgestapt op de cloud om de flexibiliteit te krijgen die nodig is om op afstand te werken, maar cloudservices en -oplossingen hebben een aanzienlijke prijs, vooral in een tijd waarin bedrijven proberen de kosten te verlagen. Overstappen naar de cloud lijkt misschien de beste manier om een ​​grotere IT-investering op korte termijn uit te stellen, maar dat is het niet. We moeten ook rekening houden met de totale eigendomskosten van IT-infrastructuur, en voor ondernemingen is de private cloud altijd het meest kosteneffectieve alternatief geweest.

Bedrijven zouden dat moeten doen vermijd vendor lock-in contracten terwijl ze zich voorbereiden op verdere markt- en zakelijke onzekerheid. Het is niet nodig om afstand te doen van grote, vooraf gemaakte kosten voor systemen of een premie te betalen om gegevens op te slaan en te openen om de flexibiliteit te verbeteren. Er zijn flexibele consumptiemodellen beschikbaar om bedrijven te helpen de huidige storm te doorstaan.

Door af te stappen van langetermijninvesteringen in IT, kunnen bedrijven meer flexibiliteit krijgen in hun besluitvormingsproces zonder dat de time-to-market daardoor wordt vertraagd. Deze flexibiliteit helpt klanten voorbereid te blijven op aanhoudende onzekerheid.

Risico’s verminderen van IT-infrastructuur

Bedrijven op zoek naar risico op IT-infrastructuur zonder hun cashflow te verstoren:

  • Minimaliseer investeringen vooraf en kies voor flexibele consumptiemodellen die onmiddellijke groei en uitgestelde betalingen mogelijk maken. Flexibele consumptiemodellen zouden ook de flexibiliteit moeten betekenen om CapEx en OpEx te combineren, aangezien de prioriteiten van het bedrijf in de loop van de tijd veranderen.
  • Kies een enterprise-class, private cloud-opslaginfrastructuur, met de flexibiliteit van de public cloud en gegarandeerde beschikbaarheid. Hiermee zijn investeringen toekomstbestendig, waardoor bedrijven met kortere tussenpozen beslissingen kunnen nemen en beter kunnen inspelen op veranderende marktomstandigheden.

Prestaties en betrouwbaarheid behalen, zonder vooraf te investeren, is de sleutel tot het toekomstbestendig maken van een bedrijf en zou het verschil kunnen zijn tussen wie slaagt en wie helaas niet.

Rob_Chapman_600x448.jpg

Bestrijd uw technologische wildgroei door een DevOps-mentaliteit aan te nemen

Klik voor meer informatie over auteur Rob Chapman.

Als je deel uitmaakt van een IT-team dat veel winkellocaties ondersteunt, heb je waarschijnlijk de last van de wildgroei gevoeld. Bedrijven die ooit slechts een paar servers en een kleine IT-winkel hadden, hebben ineens te maken met tientallen, honderden of misschien zelfs duizenden systemen. Helaas is de omvang van uw IT-team waarschijnlijk niet in hetzelfde tempo gegroeid. Klinkt bekend?

Tijdens mijn eerste ervaring in de retailwereld was ik betrokken bij het beheer van enkele honderden sites. Na een plotselinge bedrijfstransitie merkte ik dat ik de IT-beveiliging, netwerken en computerverantwoordelijkheden voor al die locaties had. En raad eens – ze hadden allemaal een significant PCI-conformiteit last ook.

The Sprawl zal zichzelf niet in de war brengen

Het grootste probleem was simpelweg de enorme hoeveelheid werk die ermee gemoeid was. De winkels bestonden al jaren, in die tijd hadden de IT-systemen zich als onkruid verspreid. Er waren onderweg maar een paar systemen gesnoeid of gedocumenteerd. En elke winkel was zo uniek als een sneeuwvlok – op de slechtst mogelijke manier.

Mijn eerste taak was om de controle terug te krijgen en de huidige toestand te documenteren voordat ik me zelfs maar kon gaan voorstellen wat het einddoel zou moeten zijn. Zelfs met de hulp van geweldige collega’s, was er absoluut geen manier om alle technologie op elke site met de hand te bedienen. Old-school “cowboy-stijl” IT was uit. Om te overleven en te blijven PCI-compatibel, we moesten een nieuwe mentaliteit aannemen.

DevOps schiet te hulp

Als er één term is die de IT-transformatie van het afgelopen decennium echt heeft gedefinieerd, dan is dat wel ‘DevOps’. Hoewel er geen exacte definitie van DevOps is, beschrijft het over het algemeen een culturele verschuiving waarin IT steeds wendbaarder, samenwerkend en iteratiever wordt.

Het omarmen van een DevOps-mentaliteit betekent het doorbreken van oude silo’s tussen operationele groepen en het veranderen van attitudes over de IT-systemen die we beheren. We beschrijven het vaak als de noodzaak om over te schakelen van het behandelen van onze systemen als huisdieren naar het behandelen als vee.

Hier is de ruwe analogie: we noemen onze huisdieren en hebben de neiging om ze te behandelen als gewaardeerde familieleden. Runderen hebben daarentegen geen namen. We worden er niet sentimenteel over. Ze maken gewoon deel uit van een grote naamloze kudde. Als het een niet werkt, vervangen we het gewoon door een ander en gaan we verder.

Automatisering is de held

Een van de belangrijkste voordelen van DevOps is dat automatisering de superkracht wordt van de moderne IT- en engineeringwinkel. Of je nu net aan je carrière begint of er diep in bent, het opbouwen van je automatiseringsvaardigheden is een van de beste carrière-investeringen die je kunt doen voor nu en in de toekomst.

Om eerlijk te zijn, hoef je eigenlijk geen speciale DevOps-functietitel te hebben of de nieuwste containertechnologie te gebruiken om een ​​DevOps-winkel te zijn. Ik ken talloze netwerkingenieurs die al jaren Perl- en Expect-scripts gebruiken om implementatie en beheer te automatiseren. Het belangrijkste is om meer een DevOps-cultuur te creëren in uw IT-winkel.

Stel uzelf een paar vragen om een ​​beter idee te krijgen van waar u zich vandaag bevindt. Voor sommigen van u is dit misschien gemakkelijk vanwege de grootte van uw bedrijf. Voor grotere IT-winkels kan het vinden van de antwoorden aanzienlijk moeilijker zijn:

  • Hoeveel servers of werkstations heeft u?
  • Welke versies gebruiken uw applicaties en besturingssystemen?
  • Zijn er firewalls ingeschakeld en voor elk geconfigureerd?
  • Als iemand iets heeft gewijzigd, zou u dat dan weten?
  • Als u een PCI-winkel bent, uit welke systemen bestaat uw kaartgegevensomgeving dan?
  • Wanneer was de laatste keer dat u patched – en hoe moeilijk was het?
  • Als u een server bent kwijtgeraakt, hoe snel zou u deze dan kunnen herstellen?
  • Als een teamlid plotseling het bedrijf zou verlaten, aan welke vaardigheden zou u dan ontbreken?

Je bent niet alleen

Eerlijke antwoorden op vragen als deze onthullen de staat van uw inventaris en situatiebewustzijn van uw omgeving. Als u deze vragen gemakkelijk kunt beantwoorden, heeft u uw technische schuld waarschijnlijk goed beheerd. U hebt zinvolle automatisering geïmplementeerd en u bent waakzaam bij het volgen van uw omgeving.

Als die vragen je maagzuur bezorgen, ben je waarschijnlijk niet de enige. Elke IT-winkel met veel ‘huisdieren’, ‘cowboy of cowgirl’ IT-beheerders en geen controleproces voor wijzigingen heeft ongetwijfeld veel te veel overhead en technische schulden.

Die rode vlaggen kunnen een aantal problemen signaleren die in de rij staan ​​om u te bijten wanneer u het het minst verwacht. Het ergste van alles is dat als er niets is gedocumenteerd, u extreem wordt blootgesteld als u een belangrijk teamlid verliest – en al hun institutionele kennis.

De cultuuromslag begint bij jou

Dus hoe begin je met de culturele verschuiving om een ​​DevOps-mentaliteit in je IT-winkel bij te brengen? Stap 1 is om een ​​visie te creëren voor hoe ‘beter’ eruitziet. Er zijn veel goede bronnen om meer te weten te komen over DevOps, maar ik raad het boek ten zeerste aan Het Phoenix-project.

Sterker nog, ik wou dat ik het 15 jaar geleden had gelezen, want het zou me een hoop hoofdpijn hebben bespaard. Het boek is een fictief verhaal van een technologiebedrijf dat overgaat van oude IT-praktijken naar DevOps-praktijken. Het belangrijkste is dat het boek zich richt op de mensen, niet de technologie.

Nadat u uw eigen DevOps-visie heeft gedefinieerd, begint stap 2 met het aanbrengen van de nodige technologische veranderingen. Automatisering is de moeite waard om meteen op te focussen, omdat het doorgaans een snelle ROI oplevert. Als u een Windows-zware omgeving bent, betekent dit dat u leert over PowerShell. Als je een Linux-zware omgeving bent, leer dan over Python en Bash. Je zult snel ontdekken dat de volgende stap tijdbesparende orkestratieplatforms betreft, zoals Ansible, Salt, Chef of Puppet.

De sleutel is om te onthouden dat alles wat je doet, moet leiden tot culturele verandering. Investeer in de nodige tijd, middelen en training voor uw team. En toon altijd sterk leiderschap door het goede voorbeeld te geven. Als u dit doet, kunt u de wildgroei aan technologie bestrijden en een PCI-compatibele omgeving creëren die helpt bij het moderniseren van uw hele bedrijf.