91 items found: Search results for "events" in all categories x
Events are obviously the fundamental building block of event-sourced systems. Commands are equally a common concept in such systems although the distinction between events and commands, if any, is not always clear. There are certainly varying views on what role each one should play.
April 27, 2016 | Software Consultancy
Concursus is an open source Java 8 framework for building distributed systems using CQRS and event sourcing patterns. One of its major differences from other such frameworks (such as Jdon, Axon and ES4J) is that it eschews a programming model where each event type is represented by a separate Java class, instead mapping event types to methods on interfaces.
There are two camps of Graph database, one side is RDF, where they are strict with their format, and somewhat limited for their extensibility. The other side is LPG, where they can define labels to the relationships. With its recent extension, RDF now allows users to add properties, thus becoming RDF*. In this blog, Ebru explores the structural and performance differences between LPG and RDF*.
November 4, 2021 | Kubernetes
We always read that ‘security is everyone’s responsibility’. For any organisation, big or small, security should always be the primary concern—not a mere afterthought. In terms of Kubernetes, securing a cluster is challenging because it has so many moving parts and, apart from securing our Kubernetes environment, we also want to control what an end-user can do in our cluster.
To achieve these goals, we can start with the built-in features provided by Kubernetes like Role-Based Access Control (RBAC), Network Policies, Secrets Management, and Pod Security Policies (PSP). But we know these features are not enough. For example, we may want specific policies like ‘all pods must have specific labels’. And even if we have the policies in place, the next big question is how to enforce them on our Kubernetes cluster in an easy and repeatable manner.
In this blog post, we’ll address this challenge and other questions pertaining to OPA and how it can integrate into Kubernetes.
Message and event-driven systems provide an array of benefits to organisations of all shapes and sizes. At their core, they help decouple producers and consumers so that each can work at their own pace without having to wait for the other – asynchronous processing at its best.
In fact, such systems enable a whole range of messaging patterns, offering varying levels of guarantees surrounding the processing and consumption options for clients. Take for example the publish/subscribe pattern, which enables one message to be broadcast and consumed by multiple consumers; or the competing consumer pattern, which enables a message to be processed once but with multiple concurrent consumers vying for the honour—essentially providing a way to distribute the load. The manner in which these patterns are actually realised however, depends a lot on the technology used, as each has its own approach and unique tradeoffs.
In this article we will explore how this all applies to RabbitMQ and Apache Kafka, and how these two technologies differ, specifically from a message consumer’s perspective.
At the time of this post, the UK is making steps to exit from an unprecedented lockdown measures for the Coronavirus. Much of the UK workforce are still making efforts to work-from-home with mainly key workers operating – at risk – in public. Many industries have shut down completely. Consequently, many businesses are reflecting on what happens next and how do we better mitigate future pandemic events?
October 3, 2019
Continuing on from Stuart’s previous blog which covered highlights from CloudNative London conference day 1, I have put together a summary for day 2.
Being an OCer (OpenCredo employee) has given me the opportunity to fully embed myself in the London technology scene. Alongside our direct engagements with clients, it is a chance to understand and evaluate the trends and lessons that have emerged over the past year.
For conferences and technical content, London is a very crowded location. Every day it seems like a new conference is being announced and I know I cannot attend them all, no matter how much I want too! Alongside some of my other colleagues, I was given the option to attend the Skillsmatter CloudNative London conference and with the increase of organisations embracing the dynamic and transformative benefits offered by an ever-growing choice of cloud providers, it seemed like a good fit.
Writing your own Kafka source connectors with Kafka Connect. In this blog, Rufus takes you on a code walk, through the Gold Verified Venafi Connector while pointing out the common pitfalls
We are excited to announce that our Lead Consultant, Pergerto Fernandez is presenting at Kafka Summit London 2018! Kafka Summit is the premier event for data architects, engineers, devops professionals, and developers who want to learn about streaming data.
February 14, 2018 | Cloud
AWS Announced a few new products for use with containers at RE:Invent 2017 and of particular interest to me was a new Elastic Container Service(ECS) Launch type, called Fargate
Prior to Fargate, when it came to creating a continuous delivery pipeline in AWS, the use of containers through ECS in its standard form, was the closest you could get to an always up, hands off, managed style of setup. Traditionally ECS has allowed you to create a configured pool of “worker” instances, with it then acting as a scheduler, provisioning containers on those instances.
October 24, 2017 | Data Engineering
Cockroach Labs, the creators of CockroachDB are coming to London for the first time since their 1.0 GA Release in May 2017. They will be taking time to talk about “The Hows & Whys of a Distributed SQL Database” at the Applied Data Engineering meetup, hosted and run by us here at OpenCredo.
We have been interested in CockroachDB for a while now, including publishing our initial impressions of the release on our blog. We thought this would be the perfect time to do a bit of a Q&A before the event! I posed Raphael Poss, a core Software Engineer at Cockroach Labs a few questions.
August 8, 2017 | Cassandra
Recently, the sad news has emerged that Basho, which developed the Riak distributed database, has gone into receivership. This would appear to present a problem for those who have adopted the commercial version of the Riak database (Riak KV) supported by Basho.
This blog is written exclusively by the OpenCredo team. We do not accept external contributions.
Over the years, OpenCredo’s projects have become increasingly tied to the public cloud. Our skills in delivering cloud infrastructure and cloud native applications have deepened and the range of cloud projects we are able to take on has grown. From enterprise cloud brokers to cloud platform migration in restricted compliance environments, our ability to deliver on the cloud is now a core component of our value proposition.
Join OpenCredo at Devoxx UK 2017 We are pleased to announce that we are sponsoring and attending Devoxx UK this year The Devoxx Family welcomes annually over 11,000 developers to events in Belgium, France, UK, Poland, Morocco & USA. Devoxx UK returns to London 11th – 12th May, 2017. They will again welcome amazing speakers and attendees for the very best developer content and […]
Join Lorenzo Nicora at Voxxed Days Bristol 2017 for his talk on Event Sourcing and CQRS! Voxxed Days is a series of tech events organised by local community groups where local and international speakers converge at a wide range of locations around the world. This means each event retains a unique regional flavour, whilst being part of the overall Voxxed movement. Topics covered at Voxxed Days fall under the same radar as Voxxed.com, including: Server Side Java, Java Language, Cloud and Big Data, Web & HTML, Mobile, Programming Languages, Architecture & Security, Methodology, Culture and Future Technologies.
February 13, 2017 | Data Engineering
One of the stated intentions behind the design of Java 8’s Streams API was to take better advantage of the multi-core processing power of modern computers. Operations that could be performed on a single, linear stream of values could also be run in parallel by splitting that stream into multiple sub-streams, and combining the results from processing each sub-stream as they became available.
January 25, 2017 | Cassandra
One of the simplest and best-understood models of computation is the Finite State Machine (FSM). An FSM has fixed range of states it can be in, and is always in one of these states. When an input arrives, this triggers a transition in the FSM from its current state to the next state. There may be several possible transitions to several different states, and which transition is chosen depends on the input.
Microservices Manchester – What’s in a name? This month, for Microservices Manchester Meetup #3, we have Peter Rodgers, CEO of 1060 Research, sharing his thoughts on an alternative way to view microservices. If you have something you’d like to share, there are lightning talk slots available on a first come first served basis. Try out a […]
The London Mesos User Group is back for its monthly meetup on October the 20th! We are excited to announce that a couple of MesosCon EU speakers have kindly agreed to join us and would like thank GoCardless who are providing us with a venue and JFrog for very kindly supplying the beer and pizza. […]
The London Mesos User Group is back – Join us on the 21st of September! London Mesos User Group is back after the summer break, taking place on the 21st of September. This time around, Cloudfare will be hosting the meetup at the office in London and will also be providing the beers and pizza! Agenda: […]
It’s time to put Hashicorp Meetup #5 on your agenda! This time around the Hashicorp Meetup will be taking place on the 15th of September and will be held at the ThoughtWorks office in London. Starting at 6:30pm with pizzas and beers on arrival, guest speaker, Tim Kimball, CTO at Aire labs will be taking […]
September 15, 2016 | Cassandra
Cassandra isn’t a relational database management system, but it has some features that make it look a bit like one. Chief among these is CQL, a query language with an SQL-like syntax. CQL isn’t a bad thing in itself – in fact it’s very convenient – but it can be misleading since it gives developers the illusion that they are working with a familiar data model, when things are really very different under the hood.
September 6, 2016 | Cassandra
A growing number of clients are asking OpenCredo for help with using Apache Cassandra and solving specific problems they encounter. Clients have different use cases, requirements, implementation and teams but experience similar issues. We have noticed that Cassandra data modelling problems are the most consistent cause of Cassandra failing to meet their expectations. Data modelling is one of the most complex areas of using Cassandra and has many considerations.
August 24, 2016 | Cassandra
At OpenCredo we are seeing an increase in adoption of Apache Cassandra as a leading NoSQL database for managing large data volumes, but we have also seen many clients experiencing difficulty converting their high expectations into operational Cassandra performance. Here we present a high-level technical overview of the major strengths and limitations of Cassandra that we have observed over the last few years while helping our clients resolve the real-world issues that they have experienced.
Join Daniel at the London Web Meetup on the 18th of August! The London Web meetup will be hosted at the Ticketmaster office on Pentonville road N1 9HF, on the 18th of August, kicking off at 6:30pm. This time around, the meetup will be focusing on empathy and its cruciality when designing, building and […]
Microservices Manchester Meetup #1 – Setting the scene Join us at the first Microservices Manchester Meetup on the 16th of August, where our Chief Scientist, Daniel Bryant will be opening with his popular presentation “The 7 Deadly Sins of Microservices.” The talk will help attendees attain a common understanding with an intro to microservices and a […]
Join us at the first CTO’s in London Meetup on the 11th of August! We are pleased to announce that our Managing Director, Jean-Marie Ferdgeue and our Chief Scientist, Daniel Bryant will be presenting at the first CTO’s in London Meetup organised by OliverBernard. The meetup will be held at the Funding Circle offices, starting […]
Join us for the Celebration of Kubernetes birthday! This time round for the Kubernetes London meetup we will be celebrating their 1st birthday, and we are excited to announce that our Lead Consultant Bart Spaans will be speaking. The meetup will be hosted at Playtech’s office in London borough of Camden, on the 11th of August. […]
We are back with the 4th installment of the London Hashicorp Meetup with Hotels.com providing the venue, beers, and pizza! Kicking off at the usual time of 6.30pm, this time round, we have talks from Senior Applications Engineer, Sammy Conway-Rahman from hotels.com and Steve Wade, Technical Consultant at Steven Wade Consulting.
June 24, 2016 | Software Consultancy
Akka has been designed with a Java API from the very first version. Though widely adopted, as a Java developer I think Akka has been mainly a Scala thing… until recently. Things are changing and Akka is moving to a proper Java 8 support.
Nick’s talk “Continuous delivery of secure cloud environments” looks at how taking advantage of cloud computing for development purposes, and even the running of production systems has become a de facto approach for many organisations nowadays.
June 15, 2016 | Software Consultancy
It’s as simple as that – and as a consultant, it’s a problem I see all the time. Testing is always focused on functional testing. Non-functional testing, by comparison, is treated like a second class citizen. This means that functional requirements get refined, and non-functional requirements are ignored until the very end.
In this technical report, we present Concursus, a framework for developing distributed applications using CQRS and event sourcing patterns within a modern, Java 8-centric, programming model. Following a high-level survey of the trends leading towards the adoption of these patterns, we show how Concursus simplifies the task of programming event sourcing applications by providing a concise, intuitive API to systems composed of event processing middleware.
April 29, 2016 | Software Consultancy
In this post, I’ll demonstrate an alternative API which uses some of the advanced language features of the new Kotlin language from Jetbrains. As Kotlin is a JVM-based language, it interoperates seamlessly with Concursus’s Java 8 classes; however, it also offers powerful ways to extend their functionality.
April 29, 2016 | Software Consultancy
In the previous two posts (part 1, and part 2), we looked at how Concursus uses method mapping to generate events from method calls on proxies, and to dispatch events to matching methods on event handlers and state class instances. This approach provides a concise, convenient client API to the Concursus event system; however the core of the system defines events and event-handling mechanisms without reference to any of the reflection-based machinery used to implement this API. It is perfectly possible (if comparatively cumbersome) to use a Concursus event store to read and write events without using reflection. In this post I’ll show how this is done, continuing with the “lightbulb” example introduced previously.
April 28, 2016 | Software Consultancy
In a conventional RDBMS-with-ORM system, we are used to thinking of domain objects as mapped to rows in database tables, and of the database as a repository where the current state of every object exists simultaneously, so that what we get when we query for an object is the state that object was in at the time the query was issued. To perform an update, we can start a transaction, retrieve the current state of the object, modify it, save it back again and commit. Transactions move the global state of the system from one consistent state to another, so that the database transaction log represents a single, linear history of updates. We are therefore able to have a very stable, intuitive sense of what it means to talk about the “current state” of any domain object.
Join us this Thursday at the OpenCredo Head Office in London for the Hyper CaaS, Kubernetes/Google and Service Virtualisation Meetup!
March 3, 2016 | Software Consultancy
JetBrains (the people behind IntelliJ IDEA) have recently announced the first RC for version 1.0 of Kotlin, a new programming language for the JVM. I say ‘new’, but Kotlin has been in the making for a few years now, and has been used by JetBrains to develop several of their products, including Intellij IDEA. The company open-sourced Kotlin in 2011, and have worked with the community since then to make the language what it is today.
OpenCredo is excited to announce the new London HashiCorp User Group, with founder and CEO of HashiCorp, Mitchell Hashimoto presenting at the first meetup!
Join us at London Mesos User Group Meetup on the 11th of May! Duedil has provided us with a venue, where the meetup will kick off at 6:30pm with usual beers, pizza and socialising. Andrew Randall from Project Calico will present his talk ‘Real-world Container Networking: the Gotchas!’ at 7pm. Andy will explore the evolution from port […]
Building for the cloud with Microservices can be an excellent way to modularise. Join for OpenCredos, Bart Spaans discussion on microservices and service discovery.
Microservices, People and Business Reating and maintaining a Microservices architecture can’t be done in a vacuum. It requires buy in from many levels of an organisation which can be anything from changing development processes to enable modular delivery, enabling the larger deployment and monitoring setup needed. Other areas of the business outside the technical may also need, or […]
January 18, 2016 | Software Consultancy
Last time in this series I summarised all the Akka Persistence related improvements in Akka 2.4. Since then Akka 2.4.1 has been released with some additional bug fixes and improvements so perhaps now is a perfect time to pick up this mini-series and introduce some other new features included in Akka 2.4.x.
January 8, 2016 | Microservices
Many of our clients are in the process of investigating or implementing ‘microservices’, and a popular question we often get asked is “what’s the most common mistake you see when moving towards a microservice architecture?”. We’ve seen plenty of good things with this architectural pattern, but we have also seen a few recurring issues and anti-patterns, which I’m keen to share here.
The London HashiCorp Meetup is back on the 19th of May! We give thanks to Huddle for hosting the London HashiCorp Meetup #3, which will be kicking off at the usual time of 6.30pm with pizza and beer. Thomas Doran, Yelp’s Site Reliability Engineer will take the stage at 7pm with his talk, ‘Terraform in […]
The London Hashicorp User Group Meetup is back for its second event! Join Paul Stack; Former Development Lead at OpenTable, for his talk on ‘The Quest for Infrastructure Management 2.0′ and Jon Bensons; Hashicorps’ Solutions Engineer, talk ‘Using Nomad and Consul to deploy and discover applications.’
October 28, 2015 | Software Consultancy
Let’s have a quick look at the most interesting changes and new features that are now available to Akka users. As there are many new features to highlight in the new Akka release I will focus on those related to Akka Persistence first and cover other areas in a separate post.
October 12, 2015 | DevOps
DevOps is transformative. This (hopefully) won’t be true forever, but it is for now. While the modern management practices of separating development and operations (and to a lesser extent, everyone else) prevail, the tearing down of the walls that separate them will remain transformative. In company after company, management and front-line staff are coming to realise that keeping functions separate, which are inherently interdependent, is a model for blame, shifted responsibility, and acrimony. It’s easy to divvy-up a company up based on function. To many people, it seems the most logical way to do it. Ops does operations, Dev does development, Marketing markets, etc. It seems much harder to do it any other way. So why do it?
October 7, 2015 | Software Consultancy
It’s well known that predicting how long a project/task will take in IT is hard. In this post I’ll address one aspect of this (correlation) and ask what insights a data science perspective can give us about how correlations can make prediction difficult. I’ll explain the problems that correlation poses, give some practical advice for teams & project managers and investigate possible innovations to tooling that might improve matters.
September 18, 2015 | Microservices
We’re pleased to begin our series of OpenCredo webinars with “The Business Behind Microservices”, which takes a look at the some of the business and organisational challenges that come along with the decision to implement microservices.
May 13, 2015 | Software Consultancy
Listen to Brenden Matthews discuss Elastic Analytics with Spark, Mesos and Docker as filmed at the most recent London Mesos User Group Meetup.
In this talk, Brenden Matthews discusses how he provided elastic analytics to Airbnb and how the Mesosphere DCOS can easily bring the same type of infrastructure to your own environments.
February 17, 2014 | Cassandra
In our previous posts we gave an overview of Cassandra’s new compare-and-set (lightweight transaction) commands and a more detailed look into the API for using them when inserting new rows into the database.
In this third post, we are going to cover update statements. We recommend reading the previous posts, as there are some details which are the same for inserts and updates which are not repeated here.
News | November 14, 2013
February 19, 2013 | Software Consultancy
This blog post continues on from Part 1 which discussed types of tests and how to create robust tests. Part 2 will examine techniques to help whip a test suite in to shape and resolve common issues that slow everything down. The approaches in this post will focus on spring based applications, but the concepts can be applied to other frameworks too.
March 21, 2012 | Software Consultancy
Event processing Language (EPL) enables us to write complex queries to get the most out of our event stream in real time, using SQL-like syntax.
EPL allows us to use full power of aggregation of the high volume event stream to get required results with the minimal latency. In this blog we are going to explore some aspects of numerical aggregation of data with high precision BigDecimal values. We will also demonstrate how you can add you own aggregation function to Esper engine and use them in EPL statements.
Most of the important players in this space are large IT corporations like Oracle and IBM with their commercial (read expensive) offerings.
While most of CEP products offer some great features, it’s license model and close code policy doesn’t allow developers to play with them on pet projects, which would drive adoption and usage of CEP in every day programming.