Translate

Mostrando las entradas con la etiqueta Apache. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Apache. Mostrar todas las entradas

lunes, 20 de mayo de 2024

Lenguajes utilizados en los proyectos apache

Tal vez hace mucho que Apache publico este gráfico pero yo recién lo veo : 



Como se puede ver Java es el lenguaje más utilizado por los proyectos de apache, seguido de python, c++, c, javascript, scala, C#, go, perl, etc ... 




martes, 23 de julio de 2019

Apache NetBeans 11.1 fue liberado

La versión 11.1 de Apache NetBeans fue liberado, la primera versión que se lanzará después de convertirse en un proyecto de top level de Apache.

La nueva versión cuenta con soporte para la sintaxis Java 11 y 12, así como una estrecha integración con los proyectos Jakarte EE / Java EE 8 a través de los servidores de aplicaciones Payara y Glassfish. Los proyectos se pueden crear directamente a través de Maven y Gradle, utilizando el nuevo arquetipo webapp-javaee8. Esto permite a los desarrolladores trabajar y depurar aplicaciones completamente a través de los sistemas de compilación nativos, en lugar de un archivo de proyecto separado que emula al sistema de compilación.

Los desarrolladores de aplicaciones móviles o de escritorio pueden aprovechar la contribución de Gluon de las muestras de OpenJFX en NetBeans. Combinado con la comunidad GraalVM, OpenJFX permite a los desarrolladores codificar en Java y crear ejecutables nativos que se ejecutan directamente en dispositivos móviles. Usando NetBeans, los desarrolladores pueden crear y depurar estas aplicaciones antes de la implementación dentro de las tiendas de aplicaciones móviles. NetBeans también contribuyó a la creación de GraalVM este permite la visualización de gráficos de dependencia de programas, basados ​​en la plataforma NetBeans.

NetBeans tambien ofrece soporte para el desarrollo JavaScript en el lado del cliente o servidor, así como soporte nativo para aplicaciones PHP 7.4.

Y ya podemos bajarlo dejo link :
https://netbeans.apache.org/
http://netbeans.apache.org/download/nb111/index.html

miércoles, 8 de mayo de 2019

Apache NetBeans fue promovido a Top-Level Apache Project


NetBeans, un entorno de desarrollo integrado (IDE), fue promovido recientemente a un proyecto  Top-Level Apache Project, aproximadamente dos años y medio después de que Oracle donó su código fuente a la Fundación de software Apache.

Los equipos de desarrollo que buscan probar las funciones completas de NetBeans pueden descargar directamente NetBeans 11 desde Apache y ver una lista completa de las nuevas funciones en esta versión. Los desarrolladores pueden probar el IDE en cualquier fase de sus proyectos, incluso si actualmente se usan otros IDE.

Dejo link: https://www.globenewswire.com/news-release/2019/04/24/1808620/0/en/The-Apache-Software-Foundation-Announces-Apache-NetBeans-as-a-Top-Level-Project.html

jueves, 11 de octubre de 2018

Apache Jena

Si estas interesado sobre la web semantica o ontologías. Te tiene que sonar Apache Jena. Jena esta hecho en Java es de código abierto y gratuito y permite crear aplicaciones de Web Semántica y Linked Data.

Para consultar ontologías RDF utiliza SPARQL que es un acrónimo recursivo del inglés SPARQL Protocol and RDF Query Language. SPARQL se trata de un lenguaje estandarizado para la consulta de grafos RDF, normalizado por el RDF Data Access Working Group (DAWG) del World Wide Web Consortium (W3C). Es una tecnología clave en el desarrollo de la web semántica.

Si instalamos Apache Jena cuenta con varias herramientas una interesante es Fuseki el cual es un servidor de SPARQL y vamos a tener una aplicación web que permite hacer consultas SPARQL en una ontología RDF que debemos importar como modelo.

Dejo link: https://jena.apache.org/

domingo, 15 de abril de 2018

Ejemplo de una aplicación en Spark


La aplicación de muestra en esta sección es una aplicación simple para contar palabras. Este es el mismo ejemplo que se utiliza para enseñar el procesamiento de big data con Hadoop. Realizaremos algunos análisis de datos en un archivo de texto para contar cuántas palabras hay en el archivo y cuántas veces se repiten. El archivo de texto y el conjunto de datos en este ejemplo son pequeños, pero los mismos programas Spark se pueden usar para grandes conjuntos de datos sin modificaciones de código. De forma similar a Hadoop, el entorno de tiempo de ejecución Spark distribuirá automáticamente los datos a diferentes nodos en el clúster para un procesamiento de datos más rápido.
Para mantener el ejemplo simple, usaremos el shell Spark Scala.
Primero, instalemos Spark en nuestra máquina local, esto ya lo vimos en post pasados.
Con spark instalado y listo, podemos utilizar el API de stark para procesar archivos. Por lo tanto abrimos el shell de scala (yo voy a utilizar linux)
Me paro en la carpeta bin de spark y escribo:

$ ./spark-shell
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
18/04/15 11:04:39 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
18/04/15 11:04:39 WARN Utils: Your hostname, toto resolves to a loopback address: 127.0.1.1; using 172.17.0.1 instead (on interface docker0)
18/04/15 11:04:39 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address
Spark context Web UI available at http://172.17.0.1:4040
Spark context available as 'sc' (master = local[*], app id = local-1523801082307).
Spark session available as 'spark'.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.2.1
      /_/
       
Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_161)
Type in expressions to have them evaluated.
Type :help for more information.

scala> import org.apache.spark.SparkContext
import org.apache.spark.SparkContext

scala> import org.apache.spark.SparkContext._
import org.apache.spark.SparkContext._

scala> val txtFile = "../NOTICE"
txtFile: String = ../NOTICE

scala> val txtData = sc.textFile(txtFile)
txtData: org.apache.spark.rdd.RDD[String] = ../NOTICE MapPartitionsRDD[1] at textFile at <console>:30

scala> txtData.cache()
res2: txtData.type = ../NOTICE MapPartitionsRDD[1] at textFile at <console>:30

scala> txtData.count()
res3: Long = 661                 

De esta manera sabemos la cantidad de lineas de archivo “NOTICE”, si queremos saber la cantidad de veces que aparece las palabras podemos hacer:

scala> val wcData = txtData.flatMap(l => l.split(" ")).map(word => (word, 1)).reduceByKey(_ + _)
wcData: org.apache.spark.rdd.RDD[(String, Int)] = ShuffledRDD[6] at reduceByKey at <console>:36

scala> wcData.collect().foreach(println)
(created,1)
(Unless,4)
(Technology,1)
(Sébastien,1)
...


Lo que hace en la primera linea es :
  • Divide una linea por espacio “ ”
  • Luego crea una tupla (palabra, 1), imaginate que queda algo así: (palabra1,1) , (palabra2,1), (palabra1,1), (palabra1,1)
  • Por lo tanto aplica una reducción por key es decir va sumando cuantas veces aparecen las palabras agrupándolos por key y queda de la siguiente manera: (palabra1,3) , (palabra2,1)


En la segunda linea imprimirme el resultado.

Y Listo!!

miércoles, 11 de abril de 2018

Tipo de Variables compartidas en Spark



Spark provee 2 tipos de variables compartidas para hacer más eficiente correr spark en un cluster. Hay variables broadcasts y accumutators.

La variable broadcasts, permite a los desarrolladores tener las variables de solo lectura almacenadas en caché en cada máquina en local. Se pueden usar para dar más eficientemente copias de conjuntos de datos de entrada grande a los nodos en el clúster.

Variable accumutators, usan una operación asociativa y, por lo tanto, pueden ser soportados de manera eficiente en paralelo. Se pueden usar para implementar contadores (como en MapReduce) o sumas. Las tareas que se ejecutan en el clúster pueden agregarse a una variable de acumulador mediante el método de agregar. Sin embargo, no pueden leer su valor. Solo el programa del controlador puede leer el valor del acumulador.

jueves, 29 de marzo de 2018

Como instalar y correr Apache Spark?


Hay varias formas diferentes de instalar y usar Spark. Podemos instalarlo en una máquina como una aplicación stand-alone o usar una de las imágenes de máquinas virtuales Spark disponibles de proveedores como Cloudera, Hortonworks o MapR. También podemos usar Spark instalado y configurado en la nube (por ejemplo, en Databricks Community Edition).

Cuando instalamos Spark en una máquina local o usamos una instalación basada en la nube, podemos usar algunos modos diferentes para conectarnos al motor Spark.

La siguiente tabla muestra los parámetros principales de URL para los diferentes modos de ejecutar Spark:

  • Local: Corre Spark de forma local con un worker
  • local[k]: Corre Spark de forma local con k workers (lo ideal es que k sea numero de micros)
  • local[*]: Corre Spark de forma local y corre con un numero de workers que se asigna de forma lógica.
  • spark://HOST:PORT: Conecta con un spark standalone cluster master. El puerto debe ser cualquiera que haya sido configurado en el master. Por defecto es 7077.
  • meso://HOST:PORT: Conecta con un Mesos cluster. E El puerto debe ser cualquiera que haya sido configurado en el master. Por defecto es 5050.
  • yarn-client: conecta con clusters YARD en modo cliente, la ubicación del clúster se encontrará en función de la variable HADOOP_CONF_DIR.
  • yarn-cluster:  conecta con clusters YARD en modo cluster, la ubicación del clúster se encontrará en función de la variable HADOOP_CONF_DIR.


Una vez que Spark este funcionando, nosotros podemos connectar usando Spark shell para analisis interactivo de datos. El shell Spark está disponible en los lenguajes Scala y Python. Java no era compatible con un shell interactivo anteriormente, pero está disponible en JDK 9. La herramienta REPL (read-eval-print loop) en Java se llama Jshell.

Se puede utilizar spark-shell para Scala y pyspark para Python.


domingo, 18 de marzo de 2018

Ecosistema Spark



Como hemos dicho anteriormente un ecosistema big data cuenta normalmente con varios productos, los cuales proveen diferentes funcionalidades.

En el caso de spark, no es una excepción. Apache Spark incluye: 

Spark Streaming, Se utiliza para procesar información en tiempo real. Esto apoyados en un pequeño sistema micro-batch. A la vez esto usa Dstream que es una serie de RDDs que se procesan en tiempo real. Y para él que no sabe que es RDD (como yo) RDD es Resilient Distributed Dataset  (RDD), la abstracción básica en Spark. Representa una colección de elementos inmutables y divididos que se pueden operar en paralelo.

Spark SQL permite exponer datos de dataset de spark bajo una API Jdbs y permite ejecutar consultas SQL-like con datos de Spark. Tambie permite estraer datos en diferentes formatos.

Spark MLlib : es una librería de maching learning de spark. Esta consiste en los algoritmos comunes de maching learning y utilidades. 

Spark GraphX : Es la API de Grafos y procesamiento de grafos en paralelo. GraphX amplía a Spark RDD al introducir las propiedades de gráfos distribuidos resistente: un multi-grafo dirigido con propiedades asociadas a cada vértice y borde. Para admitir el cálculo de grafos, GraphX expone un conjunto de operadores fundamentales (por ejemplo, subgraph, joinVertices y aggregateMessages) y una variante optimizada de Pregel API. Además, GraphX incluye una creciente colección de algoritmos y constructores de grafos para simplificar el análisis de grafos.

Aparte de estas librerías, hay otros framework que se integran muy bien con Spark:

Alluxio (anteriormente conocido como Tachyon) es un sistema de archivos distribuidos centrado en memoria, que permite compartir archivos de forma segura en un cluster basado en Spark y mapReduce. Este framework cachea un conjunto de datos en memoria, evitando ir a disco a buscar los conjunto de datos frecuentes. Esto permite acelerar el trabajo con Spark.

BlinkDb: es un motor de consulta aproximada para ejecutar consultas SQL interactivas en grandes volúmenes de datos. Permite a los usuarios intercambiar la precisión de la consulta por el tiempo de respuesta. Funciona en grandes conjuntos de datos ejecutando consultas en muestras de datos y presentando resultados con un rango de error significativas. Las versiones posteriores de BlinkDB se mantienen bajo un nuevo proyecto llamado iOLAP.


martes, 3 de octubre de 2017

Las 10 librerías más útiles en Java


Antes que nada aclaro que no soy el autor de este post, solo estoy pasando a castellano (como puedo)  luego les dejo link del articulo original. Pero no me critiquen por librerías que yo no elegí.

Java.io:  contiene todas las clases para entrada y salida de programas hechos en java.

java.util: Contiene un conjunto de librerías utiles para el modelado de datos, colecciones, internalización etc.

java.lang: La librería fundamental en java contiene todas las interfaces y clases fundamentales. Esta librería esta importada por default.

java.security: Soporta criptografia, firma digital y diferentes clases que permiten encriptar y desencriptar datos.

Google Guava: la librería avanzada de colecciones, más utilizada. Guava provee diferente colecciones y algoritmos complejos.

Apache commons: una librería super utilizada que nos facilita mucho escribir código en java, con clases como el EqualsBuider, HashcodeBuilder, StringUtils, etc

jSoup: nos permite parcear html de forma fácil.

Gson: Nos permite serializar objetos a formato json y luedo deserializarlos.

Jfreechar: Potentisima librería para graficar datos, permite hacer diferentes tipos de graficos y pasarlos a imagen.

SWT: La librería para componentes graficos de java con la que fue hecha eclipse.

Dejo link:
http://www.geekboots.tech/2017/09/10-most-useful-java-libraries.html

domingo, 3 de septiembre de 2017

Que es Apache Kafka?

Apache Kafka se ha vuelto cada vez más popular, pero porque utilizar kafka?

Apache Kafka es generalmente utilizado en arquitecturas real-time que utilizan Stream de datos, para proporcionar análisis en tiempo real. Kafka es un sistema de mensajería publicación-suscripción rápido, escalable, duradero y tolerante a fallos.

Kafka se usa en casos de uso donde JMS, RabbitMQ y AMQP no pueden ni siquiera ser considerados debido al volumen y a la capacidad de respuesta. Kafka tiene mayor rendimiento, fiabilidad y características de replicación, lo que hace que sea aplicable para cosas como el seguimiento de las llamadas de servicio (rastrea cada llamada) o el seguimiento de los datos de sensores IoT donde una MOM tradicional puede no ser considerada.

Kafka puede trabajar con Flume / Flafka, Spark Streaming, Storm, HBase, Flink y Spark para la consumo, análisis y procesamiento en tiempo real de los datos de transmisión. Kafka es un flujo de datos utilizado para alimentar bases que utiliza Hadoop para análisis BigData. Además, Kafka Streaming (un subproyecto) se puede utilizar para análisis en tiempo real.

Kafka se utiliza para procesamiento de secuencias, seguimiento de actividades de sitios web, recopilación y monitoreo de métricas, agregación de registros, análisis en tiempo real, CEP, carga de datos en Spark, administración de datos en Hadoop, CQRS, computación en memoria (microservicios).

Kafka es una plataforma de streaming distribuida que se utiliza para sistemas stream publicar-suscribirse. Kafka se utiliza para el almacenamiento tolerante a fallos. Kafka replica particiones de registro de temas en varios servidores. Kafka está diseñado para permitir que tus aplicaciones procesen registros a medida que ocurren. Kafka es rápido y utiliza IO de forma eficiente mediante el batching y la compresión de registros. Kafka se utiliza para desacoplar flujos de datos. Kafka se utiliza para transmitir datos en lagos de datos, aplicaciones y sistemas de análisis de flujo en tiempo real.

Y para colmo es compatible para varios lenguajes como C#, Java, C, Python, Ruby (entre otros)...

Kafka permite construir en tiempo real de flujo de tuberías de datos. Kafka habilita micro-servicios en memoria (es decir actores, Akka, Baratine.io, QBit, reactores, reactivos, Vert.x, RxJava, Spring Reactor). Kafka le permite crear aplicaciones de streaming en tiempo real que reaccionan a los flujos para hacer análisis de datos en tiempo real, transformar, reaccionar, agregar, unir flujos de datos en tiempo real y realizar procesamiento de eventos complejos (CEP).

Puede utilizar Kafka para ayudar en la recopilación de métricas / KPIs, agregando estadísticas de muchas fuentes e implementando la generación de eventos. Puede utilizarlo con microservices (en memoria) y sistemas de actor para implementar servicios en memoria (log de confirmación externa para sistemas distribuidos).

Puede utilizar Kafka para replicar datos entre nodos, volver a sincronizar para nodos y restaurar estado. Aunque Kafka se utiliza principalmente para el análisis de datos en tiempo real y el procesamiento de secuencias, también puede utilizarse para la agregación de registros, mensajería, seguimiento de clics, pistas de auditoría y mucho más.

En un mundo donde la ciencia de los datos y el análisis es cada vez mas utilizado, la captura de datos para alimentar las bases de datos y sistemas de análisis en tiempo real también es un gran problema. Y aqu{i es donde Kafka se vuelve muy relevante.

Dejo link: https://dzone.com/articles/what-is-kafka?edition=316422&utm_source=Zone%20Newsletter&utm_medium=email&utm_campaign=big%20data%202017-08-17
https://kafka.apache.org/

miércoles, 14 de septiembre de 2016

Oracle Propone NetBeans como un proyecto Apache

Notición!!!

Al parecer oracle se canso de mantener a NetBeans y lo va a donar a Apache. Como todo cambio, esperemos que sea para bien.

Esta IDE es genial para hacer aplicaciones de escritorio y cualquier otra.

Dejo link:
https://netbeans.org/community/apache-incubator.html

jueves, 25 de agosto de 2016

Apache Mesos

Recuerdan a Apache Mesos? Se acuerdan lo que escribí hace tiempo que Apache Mesos es un proyecto open source que permite administrar cluster, es decir que es un cluster manager desarrollado por University of California, Berkeley.

Ahhhh reclaro... pero que es un cluster manager? Uno de los retos en el uso de un cluster de ordenadores es el costo de la administración de la misma que a veces puede ser tan alto como el costo de la administración de N máquinas independientes, si el clúster tiene N nodos.

Por esta razón fue creado Apache Mesos. Apache mesos nos aleja de conceptos tales como CPU, memoria, almacenamiento y otros recursos de las máquinas (físicos o virtuales), permitiendo que los sistemas distribuidos de alta disponibilidad sean fácilmente construidos y funcionan con eficacia.

Dejo link: http://mesos.apache.org/

jueves, 23 de junio de 2016

Apache TinkerPop es ahora Top-Level Project




Vamos por parte: Que es Apache TinkerPop? Apache Tinkerpop ™ es un framework para computación orientada a grafos para ambas bases de datos de gráficos (OLTP) y sistemas de análisis de gráficos (OLAP).


Un gráfico es una estructura compuesta de nodos y aristas  o relación. Los dos nodos y aristas pueden tener un número arbitrario de pares de claves/valores denominadas propiedades. Los vértices o nodos denotan objetos discretos, tal como una persona, un lugar, o un evento. Los bordes indican las relaciones entre los vértices. Por ejemplo, una persona puede conocer a otra persona, han participado en un evento, y / o estuvo recientemente en un lugar determinado. Propiedades expresan información no relacional sobre los vértices y aristas. Ejemplo propiedades incluyen un vértice que tiene un nombre, una edad y un borde que tiene una marca de tiempo y / o un peso.


Y porque es importante que sea Top-Level Project? Por que con esto Apache nos indica que le va a dar prioridad a este proyecto y que ya salio de la incubadora, es decir esta listo para usar!!


Apache TinkerPop™ es un proyecto open source, distribuido bajo licencia Apache2.


Dejo link: http://tinkerpop.apache.org/

domingo, 9 de agosto de 2015

Apache Storm


Hace algo de tiempo, hable de Apache Storm pero nunca pude hacer un post que se merece.

Apache Storm hace que sea fácil procesar de manera fiable flujos ilimitados de datos, es como Hadoop pero para datos en tiempo real, es decir. Apache Storm es simple, se puede utilizar con cualquier lenguaje de programación, y es muy divertido de usar!

Apache Storm se puede utilizar en diferentes situaciones: sistemas analíticos en tiempo real, machine learning onlines  o en tiempo real, RPC distribuida, ETL, y más.

Apache Storm es rápido: como  punto de referencia podemos tomar un registró : más de un millón de tuplas procesadas por segundo por nodo. Es escalable y tolerante a fallos, garantiza serán procesados los datos, y es fácil de instalar y operar.

Apache Storm  se integra con las tecnologías de gestión de colas y de bases de datos. Una topología de Apache Storm consume flujos de datos y procesa aquellas corrientes en formas arbitrariamente complejas y esto puede ser entrada de otro procesamiento.


Ah y se distribuye bajo licencia Apache, que más queres?

Dejo link:
https://storm.apache.org/

martes, 21 de julio de 2015

Apache Flink


Apache Flink es una plataforma Open Source para el procesamiento de datos, de forma catch o por medio de stream.

Flink’s core es un streaming dataflow engine o un motor de flujo de datos para streaming, que además ofrece distribución de datos, comunicación y tolerancia a fallos.

Flink incluye diferentes APIs:

  • DataSet API: Para datos estáticos, 
  • DataStream API: para los flujos dinámicos de datos. 
  • Tabla API: es un lenguaje de expresión similar a SQL incorporado en Java y Scala.
A la vez trae librerías para Machine Learning library y para hacer gráficos. 

Dejo link: 

domingo, 14 de junio de 2015

Apache Parquet es Top-Level Apache Project


Leyendo infoQ, me entero que Apache Parquet es un top-level project. Para el que no sabe que es un top-level project, es como que la organización Apache nos aconseja que le demos importancia y que la organización le va a dar mayor prioridad.

Pero que es Apache Parquet? Básicamente es una base de datos o mejor dicho un almacén de datos basado en columna. Tiene la particularidad de que esta disponible para cualquier proyecto en el ecosistema Hadoop, independientemente de la elección del framework de procesamiento de datos, modelo de datos o lenguaje de programación.

Parquet está construido para soportar esquemas de compresión y codificación muy eficientes. Parquet permite esquemas de compresión que se especificarán a nivel de columna, y se pueden agregar más esquemas.


Dejo link: 

domingo, 29 de marzo de 2015

Apache Groovy

Lo que se anuncio en el blog ya es realidad: Groovy es un proyecto que se encuentra en la incubadora de Apache Fundation.

El nombre "Apache Groovy" le queda muy bien.

Recordemos que Groovy es un lenguaje de la plataforma Java que tiene la característica de ser de tipado dinámico, lo que lo hace muy parecido a Ruby o Python. Y tambien recordemos que Apache lo utiliza en un par de proyectos:

Que piensan? Es beneficioso para Groovy ser de Apache?

Dejo link: http://incubator.apache.org/projects/groovy.html

miércoles, 4 de marzo de 2015

Groovy un proyecto de la Fundación Apache??


"The Groovy team is happy to announce its intention to join the Apache Software Foundation (ASF). "

Estas son las palabras del amigo Guillaume Laforge que sería el "Groovy Project Manager".

Pero cabe destacar que estoy contando la historia desde el final o lo que parece el final. Por que esta historia comenzó con el hecho de que la organización Pivotal decide abandonar el proyecto Groovy. Dado este suceso la comunidad de Groovy tal huérfano se puso a buscar otra organización que lo acoja. Muchos nombres se barajaron com Eclipse, JBoss, etc. pero al parecer la organización que triunfo fue Apache.

Esperemos que lleguen a buen puerto me gusta como suena "Apache Groovy"


Dejo links:
http://glaforge.appspot.com/article/groovy-projects-intends-to-join-the-apache-software-foundation

martes, 24 de febrero de 2015

Hablemos de Apache Software Fundation


La Apache Software Fundation se compone de más de 150 proyectos, estos más de 150 proyectos son los que se llaman top-level, que cubren una amplia gama de tecnologías. Es probable que si buscamos software de calidad open sorce, en el sitio de Apache lo van a poder encontrar.

Hablemos un poco de los proyectos, la lista de proyectos es esta: http://projects.apache.org/indexes/alpha.html

Estos proyectos están organizados por categoría, estas categorías tienen que ver con el uso de este software (como es de esperar) , las categorías son:

  • big-data
  • build-management
  • cloud
  • content
  • database
  • ftp
  • graphics
  • hadoop
  • http
  • httpd-module
  • javaee
  • library
  • mail
  • mobile
  • network-client
  • network-server
  • osgi
  • regexp
  • retired
  • testing
  • virtual-machine
  • web-framework
  • xml

Como se puede ver existe un amplio gama de software. Y los lenguajes utilizados en los proyecto son:

  • ActionScript
  • Bash
  • C
  • C#
  • C++
  • Cocoa
  • D
  • Delphi
  • Erlang
  • Go
  • Groovy
  • Haskell
  • JSP
  • Java
  • Java, Javascript
  • JavaScript
  • Objective-C
  • Ocaml
  • PHP
  • Perl
  • Python
  • Ruby
  • SQL
  • SVG
  • Scala
  • SmallTalk
  • Tcl
  • XML
  • node.js

Siendo Java el lenguaje con el que se hicieron mayor cantidad de proyectos.

Esta organización nos provee una amplia gama de software de muy buena calidad. Sin más dejo link:
http://www.apache.org/

domingo, 22 de febrero de 2015

Apache Mesos


La verdad me siento un ignorante, se me paso Apache Mesos y la verdad es que tan gran proyecto de Apache no se nos puede pasar por alto.

Vamos con lo primero, que es Mesos? Mesos es un proyecto open source que permite administrar cluster, es decir que es un cluster manager  desarrollado por University of California, Berkeley.

Ahhhh reclaro... pero que es un cluster manager? Uno de los retos en el uso de un cluster de ordenadores es el costo de la administración de la misma que a veces puede ser tan alto como el costo de la administración de N máquinas independientes, si el clúster tiene N nodos.

Apache Mesos proporciona aislamiento eficiente de los recursos y manejo eficiente de recursos compartidos entre aplicaciones. Mesos permite compartir recursos de forma granular, mejorar la utilización de clusters.

Desde que fue desarrollado en la Universidad de Berkeley, ha sido adoptado por varias compañías de software, incluyendo Twitter y AirBnB. Al menos 50 organizaciones actualmente utilizan Mesos.

Mesos es un proyecto top-level de Apache, después de haber egresado de la incubadora, el 24 de julio de 2013. Y como es esperable se distribuye con licencia Apache.

Dejo links:
http://mesos.apache.org/
http://mesos.apache.org/documentation/latest/
http://mesos.apache.org/documentation/latest/mesos-frameworks/