Devops for Growth
107.5K views | +7 today
Follow
Devops for Growth
For Product Owners/Product Managers and Scrum Teams: Growth Hacking, Devops, Agile, Lean for IT, Lean Startup, customer centric, software quality...
Curated by Mickael Ruau
Your new post is loading...
Your new post is loading...

Popular Tags

Current selected tag: 'DataOps'. Clear
Scooped by Mickael Ruau
Scoop.it!

Is there any alternative to Spring Batch framework for batch processing?

Is there any alternative to Spring Batch framework for batch processing? | Devops for Growth | Scoop.it

Got ETL? Meet the reader, processor, writer pattern. Along with all the pre-built implementations, scheduling, chunking and retry features you might need.

I think those who are drawn to Spring Batch are right to use it. It's paradigm is sensible and encourages developers to design well and not to reinvent things. It is reliable, robust, and relatively easy to use.

I have found, however, that many times people reach for Spring Batch as an excellent technical solution but completely miss the business impact. ETL jobs suck!

Many businesses totally neglect the repercussions of copying and renaming data between all the systems in their company. To me, this kind of ETL reinforces bad data practices, delays meaningful standardization, and inhibits future analytics work. Extensive data duplication leads to data quality issues which often leads to added costs for master data management solutions. It's also very wasteful, especially if you are paying for lots of Oracle products. Don’t be that company that names tables in hipster speak (USR_CNTCT_INF) to cut down on data waste and then ETL everything all over your company!

If you can get the job done with Spring Batch, you can get the job done in a similar read-process-write paradigm in just about any messaging framework. This encourages loose coupling and enables continuous data transfer (I avoid using the term real-time so as not to confuse with actual real-time systems). If you really miss the pre-built readers and writers, take a look at Apache Camel.

Many features are easy to replicate in a streaming/messaging system. Scheduling? Who cares, it streaming. Retry? Make a retry queue. Failure and error handling? Dead letter queue. Partitioning? Just add more workers. The last example is actually much easier than in Spring Batch.

There's also a whole host of stream processing and analytics capabilities you probably want out of your batch job but can't make sense of. Say you have to data loads that somehow need to be related. You now need a third batch job to do a join after the first two run. Plus this all requires scheduling or polling and much consideration over efficiency.

Please don't be scared away from streaming or message systems. Please do not use Spring Batch solely because you are already doing badly at making batch jobs. Make the leap toward messaging.

I don't want to disparage Spring Batch, it's great at what it does. I have just seen too many batch jobs that would be significantly better as streaming architectures. There's also a huge push these days behind event-streaming which is a topic for another post.

Mickael Ruau's insight:

Edit: I had completely forgotten that there is a relatively new area of the industry around “data engineering” to support data scientists and analysts. ETL to data engineers is more like bash scripts to most coders. It ought to work well just once or maybe periodically but generally doesn't require much effort. Data engineers help get huge amounts of data around their companies and will use Python or SQL or whatever gets the job done.

There's also a completely different scale of “batch” jobs which is where tools like Spark, Flink, and MapReduce come in. These tools can also be used for significantly more complex processing and analysis in addition to just moving data around.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Le paradoxe de Simpson –

Le paradoxe de Simpson – | Devops for Growth | Scoop.it
Un petit article sur un biais cognitif bien connu des statisticiens qu'est le paradoxe de Simpson. On ne parle évidement pas de Homer Simpson ici mais de Edward Simpson [1] qui mis en évidence comment la manipulation des données et de leur moyennes peut être très trompeur et comment, l’interprétation des données par notre cerveau…
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

DevOps for Database - DZone - Refcardz

DevOps for Database - DZone - Refcardz | Devops for Growth | Scoop.it
While there has been a sharp focus and tremendous acceleration in the velocity of application software releases, updates to the underlying database have remained manual and are increasingly a bottleneck to the overall software delivery pipeline. Download this new Refcard to get started with Database Release Automation and eliminate bottlenecks. Learn the key best practices that your DevOps database solution should meet in order for you to get the most out of your investment.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Le MVP d’un Produit Data Science

Le MVP d’un Produit Data Science | Devops for Growth | Scoop.it
La notion de MVP est maintenant largement démocratisée pour les produits web et mobiles. Mais comment appliquer le même principe à un Produit Data Science ?
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Improving Teamwork in Data Analytics with DataOps - data-ops

Previously, we wrote about how members of large data organizations sometimes behave more like warring tribes than members of the same team. We discussed how DataOps facilitates communication and…
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Enabling Design Thinking in Data Analytics with DataOps

Design Thinking is a solution-based design methodology that organizations use to address ill-defined or tricky problems that defy conventional approaches. It uniquely marries design with customer…
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Besoins d’intégration et formats pivot

Avec Internet et les nouvelles technologies, les échanges d’information au sein d’une même entreprise mais aussi avec l’extérieur (partenaires, fournisseurs, clients, etc…) se développent à vitesse grand V. Les entreprises sont alors confrontées à des problématiques complexes d’intégration. La mise en place de formats pivot est une réponse idéale à l’intégration de flux au sein du Système d’Informations de l’entreprise.
Mickael Ruau's insight:

Comment créer son format pivot ?

Plusieurs démarches sont possibles pour créer son modèle de formats pivot.

La démarche « top-down »

La démarche « top-down consiste à conceptualiser l’existant métier. Elle préconise de construire ces formats pivot à partir de la sémantique métier de l’entreprise. A partir de ces formats pivot, dans les systèmes, on modifie les traitements et les structures pour qu’elles tiennent compte des ces nouveaux formats, qui peuvent être loin de la réalité technique.
L’intérêt de cette méthodologie est qu’elle permet de mieux s’aligner aux besoins métiers, et donc de mieux répondre aux nouveaux challenges de l’entreprise. Elle permet aussi de profiter pleinement des mutualisations de formats pivot, qui sous-entend la mutualisation de services, et donc une architecture SOA optimisée. La contrainte est qu’elle demande une somme de travail considérable (besoin de cartographier tout le métier du SI pour ensuite le décliner sur les couches basses de développement), et peut induire un coût certain de refonte d’une partie du SI.

La démarche « bottom-up »

La démarche « bottom-up » re-conceptualise l’existant technique. Elle guide le concepteur vers une rétro-conception de l’existant technique, à partir des formats manipulés dans les applications, pour en déduire des formats pivot.
Son gain principal est de réutiliser l’existant, et donc de capitaliser et de gagner du temps sur les développements. De plus, dans le cas de Systèmes d’Informations dans laquelle une application centrale manipule des données avec plusieurs autres systèmes, en partant de données échangées par cette application, on dispose d’un format unitaire cohérent et surtout exhaustif. L’inconvénient de cette démarche est qu’on ne s’aligne pas sur le métier de l’entreprise, il y a donc un risque de césure entre les besoins que peut exprimer la direction métier et les réponses que peut lui apporter la DOSI.

La démarche « meet in the middle »

Cette démarche préconise de mener en parallèle un chantier « Top Down » et un chantier « Bottom Up ». Une fois ces deux chantiers en phase finale, l’objectif est de trouver une passerelle entre ces deux résultats et donc entre les formats pivot orientés métier et les formats pivot orientés techniques. Elle présente les avantages des deux premières méthodes : alignement parfait sur le métier et réutilisation de l’existant. Son principal inconvénient est le risque d’effet « tunnel » qu’elle engendre : attendre la fin des deux chantiers pour construire des formats pivot alternatifs entre une approche métier et une approche technique. Le risque principal est que durant le temps de construction de la passerelle, les besoins métier ou plus vraisemblablement les formats pivot techniques aient changé : les formats pivot alternatifs deviennent alors obsolètes.

La démarche « middle-out »

Cette démarche préconise de commencer à mi-chemin (« middle »)  entre le métier et la direction opérationnelle du SI (DOSI), c’est-à-dire à partir d’un vocabulaire commun aux gens du métier et aux informaticiens. Elle s’attaque au problème principal des projets informatiques actuels : la compréhension des problématiques métier côté IT, et vice-versa. Les deux parties trouvent un consensus par l’intermédiaire d’une base d’entités composants-entités métiers nécessaires, à partir duquel découleront les entités haut niveau côté métier (domaines sémantiques, classes sémantiques…), et les entités bas niveau côté DOSI (objets de type Data Transfert Objects).
Cette démarche peut être complémentaire à la mise en place progressive d’une architecture SOA.
Personnellement, je préfère les deux dernières démarches qui allient pragmatisme et efficacité. La meilleure méthode parmi ces deux dernières est à mon avis de privilégier l’une ou l’autre approche selon les cartes en main de l’entreprise sur ce projet :

  • Disponibilités du métier ;
  • Degré de compréhension entre la DOSI et le métier ;
  • Temps et nombre de ressources allouées à la tâche d’urbanisation…

Comme dans beaucoup de situations, il faut simplement faire preuve de bon sens…

Illustration

 

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Introduction to DevOps Analytics - DZone - Refcardz

Introduction to DevOps Analytics - DZone - Refcardz | Devops for Growth | Scoop.it
Discover the hidden value of using historical data to analyze and estimate a probabilistic measure of the success of a new release. This Refcard goes in-depth on the process to make the delivery lifecycle more efficient, the best analytics-as-a-service (AaaS) tools to use, and dashboards that will effectively help you display and understand your data.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Compliant DevOps - DZone - Refcardz

Compliant DevOps - DZone - Refcardz | Devops for Growth | Scoop.it
With new data protection laws coming into play, and consumers more aware than ever before of how their privacy is being compromised, there is now a requirement for companies to adopt a compliant DevOps approach. Download this Refcard to discover the best practices to adopt compliant DevOps.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

We Wrote a Book on DataOps

We Wrote a Book on DataOps | Devops for Growth | Scoop.it

Our book on DataOps is the culmination of decades of experience in data analytics.

 

Read the Second Edition of the DataOps Cookbook
Email
Last Name
First Name
Click Here to Download
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

DataOps is NOT Just DevOps for Data - data-ops

One common misconception about DataOps is that it is just DevOps applied to data analytics. While a little semantically misleading, the name “DataOps” has one positive attribute. It communicates…
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

What is DataOps — Ten Most Common Questions - data-ops

As DataOps continues to gain exposure, people are encountering the term for the first time. Below is our list of the most common questions that we hear about DataOps.

Mickael Ruau's insight:

DataOps is a collection of technical practices, workflows, cultural norms, and architectural patterns that enable:

  • Rapid innovation and experimentation, delivering new insights to customers with increasing velocity
  • Extremely high quality and very low error rates
  • Collaboration across complex arrays of people, technology, and environments
  • Clear measurement, monitoring and transparency of results

The best way to explain DataOps is to review its intellectual heritage, explore the problems it is trying to solve, and describe an example of a DataOps team or organization. Our explanations below start at a very conceptual level, but then quickly proceed into pragmatic and practical terms. We find this is the best way to help data professionals to understand the potential benefits of DataOps.

No comment yet.