Nos complace anunciar nuestro nuevo Couchbase Campeón de la ComunidadIain Cartledge, residente en Cambridge, Reino Unido.
Háblenos de usted y de lo que hace en su trabajo diario.
Soy arquitecto de software en Bango, donde trabajo desde hace unos cinco años y medio. Principalmente permitimos a las tiendas de aplicaciones ofrecer opciones de pago por móvil a sus clientes a través de nuestra plataforma de pago, que está integrada con operadores y proveedores de pago alternativos en varios países de todo el mundo. Durante todo este tiempo he trabajado en diversas áreas, empezando en el equipo de integraciones, implicado en la capa de adaptación entre nuestra plataforma y los proveedores de pago, y también trabajando en las principales API de la plataforma (muchas de las cuales se siguen utilizando hoy en día), nuestros flujos de datos y los principales avances de la plataforma. Ahora me ocupo sobre todo de garantizar que nuestra plataforma pueda ampliarse y hacer frente a una demanda creciente, de investigar tecnologías que puedan ayudarnos a generar aún más valor para nuestros clientes y de promover la calidad del código y un diseño coherente en el ámbito del desarrollo, sin perder de vista el modo en que integramos nuestros proyectos más grandes y ayudamos a coordinar las distintas partes para conseguir un conjunto mejor. La mayor parte de nuestro código está escrito en C#, que utilizo desde hace unos ocho años, pero tengo experiencia en C++ y echo de menos la metaprogramación con plantillas (ocasional y brevemente).
¿Dónde vive y qué le gusta hacer en su tiempo libre?
Bango tiene su sede en Cambridge, y yo vivo un poco a las afueras, en Ely -la ciudad más pequeña de Inglaterra-, aunque me gusta recordar a la gente que crecí en las afueras de Glasgow. Cuando no estoy pasando tiempo con mi maravillosa familia, cambio de intereses según la época del año, aunque hay algunas cosas a las que vuelvo con regularidad. Siempre he sido un ávido jugador y actualmente me divierto mucho jugando con un Vive, pero también me gusta el ajedrez (que, por suerte, a mi hijo mayor también le está gustando mucho), jugar al fútbol y aprender cosas nuevas, actualmente centrado en golang y japonés.
¿Por qué eligió Couchbase?
Inicialmente elegimos Couchbase porque teníamos experiencia con memcachedque utilizamos para almacenar en caché cierta información de solicitud para un acceso rápido. Para exprimir más el rendimiento de nuestra plataforma, empezamos a utilizar Couchbase para acceder rápidamente a datos transaccionales en vivo, lo que nos dio un gran impulso en términos de tiempos de acceso a los datos. En este sentido, Couchbase ha sido excelente, permitiéndonos almacenar y leer documentos con una rapidez increíble. Para facilitar las cosas que Couchbase no hacía originalmente, nuestra solución ETL interna traslada los datos a SQL Server para dar soporte a procesos fuera de línea, como la elaboración de informes. Esto nos permite separar la funcionalidad principal de los pagos de las tareas de apoyo, y nos proporciona un sistema escalable independiente con las ventajas de ambos modelos de datos.
¿Qué característica de Couchbase utilizas y qué debería saber la gente al respecto?
Aunque técnicamente no es una característica de Couchbase, me gustaría hablar de esto porque creo que es realmente genial. Una de las cosas que creo que hemos hecho realmente bien es la capa API que usamos para interactuar con la API de Couchbase, que envuelve la funcionalidad central con librerías que soportan los principales patrones requeridos para interactuar con un sistema NoSQL. Para uno de nuestros proyectos internos queríamos la velocidad y escalabilidad de Couchbase, pero también necesitábamos poder actualizar múltiples documentos de forma segura. Para ello pasamos algún tiempo creando un patrón de transacción atómica que ahora está incluido en nuestras APIs internas y garantiza que todos los documentos se actualizan o ninguno lo hace. Lo que más me gusta es que es la culminación de varios otros patrones (desde los simples y antiguos patrones de contadores y búsquedas hasta otros un poco más complejos como el historial de documentos versionados) que dan como resultado algo que parece bastante complejo a primera vista, pero que se puede dividir fácilmente en partes sencillas, y una vez que alguien tiene una base en los patrones de los componentes es bastante sencillo comprender el concepto general. También fue divertido idearlo, y fue estupendo ver que funcionaba como se esperaba cuando lo incorporamos al proyecto en cuestión.
Si pudiera pedirle tres deseos a Couchbase, ¿cuáles serían?
En cuanto a los deseos de Couchbase, me encantaría ver una forma más ágil de configurar un clúster en Docker. Por el momento todavía requiere alguna configuración a través de la consola o la API REST, y aunque esto es adecuado, sería muy bueno si hubiera una forma oficial de hacer girar un clúster en contenedores con la configuración estándar muy rápidamente, como el uso de K8s Helm, ya que creo que esto realmente aumentaría la huella de Couchbase. También me gustaría (lo siento chicos) una mejor consola integrada. Aunque está bien para los procesos del día a día, una gestión de roles adecuada sería útil y permitiría más seguridad, además de que hay algunos problemas en torno a la visualización y modificación de documentos que hacen que sea un requisito que tengamos nuestras propias herramientas de administración. Una vez más, esto no es un gran problema, pero podría desanimar un poco a la gente si no pueden utilizar la consola de la manera que les gustaría cuando se están acostumbrando a Couchbase. Mi tercer deseo sería tener un sandbox N1QL online. Sería realmente genial tener un bucket que estuviera precargado con algunos datos que pudieran ser consultados desde una página web, de esa manera podrías ir a través de tutoriales sin requisitos de instalación o configuración y simplemente ensuciarte las manos de inmediato.
¿Cuál es su libro o autor favorito, y por qué?
Tengo algunos libros y autores favoritos para diferentes ocasiones. Siempre me ha gustado Asimov y la colección "Yo, Robot", que ocupa un lugar nostálgico especial en mi corazón, junto con "Los libros de Bachman" de Stephen King, habiendo leído ambas colecciones cuando era más joven. También tuve la suerte de iniciarme pronto en "Juego de Tronos", y me encantó lo nuevo y épico que era cuando mi compañero de piso me presentó los libros. Como favorito, sin embargo, tendría que elegir "The Feynman Lectures", una recopilación de las conferencias de Richard Feynman en Caltech, que están brillantemente escritas y siguen siendo una fantástica puerta de entrada a la física moderna. No sólo son amenas desde el punto de vista didáctico, sino que el estilo de Feynman es increíblemente entretenido y siempre seductor.
Hola Iain,
Me alegro de que seas nuestro nuevo Campeón1
"una gestión de roles adecuada sería útil y permitiría más seguridad" - buenas noticias, ¡tenemos seguridad basada en roles en Couchbase 5!
"Mi tercer deseo sería tener un sandbox N1QL en línea" - ¡también lo tenemos! Compruébalo y dime qué te parece: http://query.pub.couchbase.com/tutorial/#1