Open Credo

73 items found: Search results for "team building" in all categories x

Building the best Kubernetes test cluster on MacOS

May 18, 2023 | Blog, Kubernetes

Building the best Kubernetes test cluster on MacOS

Check out Matthew Revell-Gordon’s latest blog as he explores building a local Kubernetes test cluster to better mimic cloud-based deployments, using Colima, Kind, and MetalLB.

Read More Read More

When Your Product Teams Should Aim to be Inefficient – Part 1

June 14, 2022 | Blog, Culture, White Paper

When Your Product Teams Should Aim to be Inefficient – Part 1

Many businesses advocate for efficiency, but this is not always the right goal. Part one of this article explores how product teams can balance two important considerations – efficiency and effectiveness. Part two builds on this idea, uncovering the non-obvious implications of using technology to bring about efficiency and wider change.

Read More Read More

Join the OpenCredo Team at the OOP Conference in Germany

January 30, 2016 | Microservices

Join the OpenCredo Team at the OOP Conference in Germany

The OpenCredo team will be presenting two sessions on our recent learnings with implementing microservices at the OOP Conference, which will be running from the 1st – 5th February. We will also be running a booth, and so if you are interested in learning more about our recent projects, are keen to see if we can help you with your latest technical or organisational challenges, or want to join our team, then stop by and say hello!

Read More Read More

JavaOne: Building a Microservice Development Ecosystem (Video)

October 31, 2015 | Microservices

JavaOne: Building a Microservice Development Ecosystem (Video)

Microservices: Some Assembly Required

Over the past few weeks I’ve been writing an OpenCredo blog series on the topic of “Building a Microservice Development Ecosystem”, but my JavaOne talk of the same title crept up on me before I managed to finish the remaining posts. I’m still planning to finish the full blog series, but in the meantime I thought it would be beneficial to share the video and slides associated with the talk, alongside some of my related thinking. I’ve been fortunate to work on several interesting microservice projects at OpenCredo, and we’re always keen to share our knowledge or offer advice, and so please do get in touch if we can help you or your organisation.

Read More Read More

Building a Google analytics dashboard with Python3, Tornado and deploying it on OpenShift (for free)

August 5, 2015 | Data Analysis, Data Engineering

Building a Google analytics dashboard with Python3, Tornado and deploying it on OpenShift (for free)

A few weeks ago, we thought about building a Google analytics dashboard to give us easy access to certain elements of our Google Analytics web traffic. We saw some custom dashboards for bloggers, but nothing quite right for our goal, since we wanted the data on a big screen for everyone in the office to view.

Read More Read More

OpenCredo, goes Back to The Trenches for Regenerate!
OpenCredo awarded Britain’s Healthiest Workplace for SMEs

September 8, 2023 | Blog

OpenCredo awarded Britain’s Healthiest Workplace for SMEs

We were recently awarded ‘Britain’s Healthiest Workplace for SMEs’ by Vitality. Read on to learn more about our journey to achieving this award and what we are doing to improve our workplace culture.

Read More Read More

Platform Engineering Day Europe 2024 – Maturing Your Platform Engineering Initiative (Recording)

March 28, 2024 | Blog, Platform Engineering

Platform Engineering Day Europe 2024 – Maturing Your Platform Engineering Initiative (Recording)

Watch the recording of our CEO/CTO, Nicki Watt from the KubeCon + CloudNativeCon 2024 on her talk “To K8S and Beyond – Maturing Your Platform Engineering Initiative.”

Read More Read More

The Importance of Chunking in RAG

February 6, 2024 | AWS, Blog, OPA

The Importance of Chunking in RAG

Check out the latest blog by our Consultant, Tristan Hosken, as he explores Retrieval Augmented Generation (RAG). Tristan provides insights into advantages and disadvantages of RAG through hands-on experiments with AWS’s Bedrock and Azure’s OpenAI service.

Read More Read More

Event Driven Load Testing

October 12, 2023 | Blog, Platform Engineering

Event Driven Load Testing

Check out our latest blog “Event Driven Load Testing” which explores how, through some smart automation techniques, testing strategies can be adapted to support scale-up organisations where there are potentially many disparate teams needing to work together.

Read More Read More

The Why’s, What’s and How’s of Kubernetes Operators

September 27, 2023 | Blog, Kubernetes

The Why’s, What’s and How’s of Kubernetes Operators

Learn to create your first Kubernetes operator by checking out our Senior Consultant Michal Tusnio’s latest blog, “Kubernetes Operators – Whys, Hows and Whats” where he takes you on a journey from zero to operator.

Read More Read More

The 2023 Mayor’s Business Climate Challenge (BCC) – Part 2

September 19, 2023 | Blog, Culture, News

The 2023 Mayor’s Business Climate Challenge (BCC) – Part 2

In this blog we share the latest developments in our efforts to create a more sustainable business as part of The 2023 Mayor’s Business Climate Challenge.

Read More Read More

Why should you upgrade your Terraform provider to the latest version of the API

August 17, 2023 | Blog, Terraform Provider

Why should you upgrade your Terraform provider to the latest version of the API

Check out John Sharpe and Will May’s latest blog where they give suggestions for Terraform Provider authors who are thinking about upgrading from SDKv2 to Framework

Read More Read More

PlatformCon 2023 – The Golden Age of the Platform (Recording)

July 5, 2023 | Blog, Platform Engineering

PlatformCon 2023 – The Golden Age of the Platform (Recording)

Watch the recording of our Technical Delivery Director, James Bowkett from the PlatformCon Conference 2023 in his talk The Golden Age of the Platform.”

Read More Read More

The 2022/2023 Mayor’s Business Climate Challenge (BCC)

January 20, 2023 | Blog, Culture, News

The 2022/2023 Mayor’s Business Climate Challenge (BCC)

OpenCredo is thrilled to be a part of the 2022/2023 Mayor’s Business Climate Challenge (BCC). Read this blog to learn more about our initiatives to lower carbon emissions as part of the voluntary energy efficiency programme!

Read More Read More

Controlling Kafka Data Flows using Open Policy Agent

August 2, 2022 | Blog, Kafka

Controlling Kafka Data Flows using Open Policy Agent

Read Matt Farrow’s blog as he explores the potential for using Open Policy Agent to filter and mask data being sent to and read from Apache Kafka.

Read More Read More

DZone Repost: Testing Serverless Functions

February 11, 2022 | AWS, Cloud, GCP, Kubernetes, Microservices, Open Source, Software Consultancy

DZone Repost: Testing Serverless Functions

Serverless functions are easy to install and upload, but we can’t ignore the basics. This article looks at different strategies related to testing serverless functions.

Read More Read More

Kafka vs RabbitMQ: The Consumer-Driven Choice

July 20, 2021 | Blog, Data Engineering, Kafka

Kafka vs RabbitMQ: The Consumer-Driven Choice

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.

Read More Read More

Machine Learning at scale: first impressions of Kubeflow

April 20, 2021 | Data Engineering, Machine Learning, Software Consultancy

Machine Learning at scale: first impressions of Kubeflow

Our recent client was a Fintech who had ambitions to build a Machine Learning platform for real-time decision making. The client had significant Kubernetes proficiency, ran on the cloud, and had a strong preference for using free, open-source software over cloud-native offerings that come with lock-in. Several components were spiked with success (feature preparation with Apache Beam and Seldon for model serving performed particularly strongly). Kubeflow was one of the next technologies on our list of spikes, showing significant promise at the research stage and seemingly a good match for our client’s priorities and skills.

That platform slipped down the client’s priority list before completing the research for Kubeflow, so I wanted to see how that project might have turned out. Would Kubeflow have made the cut?

 

Read More Read More

Hacking Kubernetes on AWS (EKS) from a Mac

October 29, 2020 | Cloud, Kubernetes, Open Source

Hacking Kubernetes on AWS (EKS) from a Mac

While working with a client recently, we experienced some issues when attempting to make use of NLB external load balancer services when using AWS EKS. I wanted to investigate whether these issues had been fixed in the upstream GitHub Kubernetes repository, or if I could fix it myself, contributing back to the community in the process.

Read More Read More

Automation of complex IT systems

May 14, 2020 | Blog, DevOps

Automation of complex IT systems

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?

Read More Read More

Security, Usability & Cloud Data Services in Finance

March 20, 2020

Security, Usability & Cloud Data Services in Finance

Traditionally, Usability and Security have been set in opposition to each other: with tight security, we end up with painful user experience. In this blog, Guy focuses on financial services as an exemplar of how we can introduce usability into a vertical with challenging security and compliance requirements.

Read More Read More

3 Highlights from CloudNative London 2019 (Day 1)

October 1, 2019 | Cloud, Cloud Native, Culture

3 Highlights from CloudNative London 2019 (Day 1)

One of the benefits we have working at OpenCredo (OC) is the opportunity to both attend and speak (although not on this occasion) at conferences. For some of you, this may be pretty common, but OC was actually the first to offer me this as part of a broader learning and development plan.

Cloud-native development and delivery is a core area of expertise for OC and we are always looking for what’s new and interesting in this space. So when I was offered the chance to go to CloudNative London it seemed like a good place to start. With its diversity in topics and technologies, the conference provided a perfect opportunity to collaborate and hear from others in the industry and what they are doing in this space.

Read More Read More

Evolving Your Architecture Whilst Still Keeping The Lights On

September 12, 2019 | Cloud Native, Microservices, Software Consultancy

Evolving Your Architecture Whilst Still Keeping The Lights On

As a technology leader, you’ll be aware that competitive pressures and shifting business requirements are driving changes in the technical architectures of many organisations. This means you need a new strategic approach based on the ability to continually evolve elements of your systems and architectures.

Read More Read More

Kafka Connect – Source Connectors: A detailed guide to connecting to what you love.

July 30, 2019 | Blog, Kafka

Kafka Connect – Source Connectors: A detailed guide to connecting to what you love.

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

Read More Read More

10 Pieces of Borrowed Wisdom for Effective Tech Consultancy

August 29, 2018 | Software Consultancy

10 Pieces of Borrowed Wisdom for Effective Tech Consultancy

My last year or so here at OpenCredo has involved a very well-supported first foray into tech consultancy. Different engagements pose both unique, as well as familiar challenges for me as a consultant, all of which played a part in shaping and moulding the way I understand and approach problems. This blog is a brief collation of wisdom that’s helped me the most during this adventure; gained by learning the hard way, as well as that acquired from mentoring and colleagues who have gone before. The shared wisdom has made me a much more effective consultant, and kept me sane in the process, for which I’m very thankful.

Read More Read More

Heuristics for Identifying Service Boundaries

May 16, 2018 | Microservices

Heuristics for Identifying Service Boundaries

To identify service boundaries, it is not enough to consider (business) domains only. Other forces like organisational communication structures, and – very important – time, strongly suggest that we should include several other criteria in our considerations.

Read More Read More

Microservices Anti-patterns: It’s All About the People

April 18, 2018 | Microservices

Microservices Anti-patterns: It’s All About the People

Quite a few of the anti-patterns we observe today on microservices projects are strongly related to how people approach the problem. Given their nature, these anti-patterns tend to be deeply ingrained and self-sustaining. Addressing them starts with increased awareness and by changing ways of approaching the problem, rather than by the introduction of yet another technical tool or framework.

Read More Read More

Events and Commands: Two Faces of the Same Coin?

March 14, 2018 | Data Engineering, Microservices

Events and Commands: Two Faces of the Same Coin?

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.

Read More Read More

Fargate As An Enabler For Serverless Continuous Delivery

February 14, 2018 | Cloud

Fargate As An Enabler For Serverless Continuous Delivery

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.

 

Read More Read More

A Pragmatic Introduction to Machine Learning for DevOps Engineers

January 23, 2018 | Data Engineering, DevOps

A Pragmatic Introduction to Machine Learning for DevOps Engineers

Machine Learning is a hot topic these days, as can be seen from search trends. It was the success of Deepmind and AlphaGo in 2016 that really brought machine learning to the attention of the wider community and the world at large.

Read More Read More

Q&A with Cockroach Labs – creators of CockroachDB

October 24, 2017 | Data Engineering

Q&A with Cockroach Labs – creators of CockroachDB

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.

Read More Read More

OpenCredo Cloud Report: July 2017

July 11, 2017 | Cloud, Cloud Native

OpenCredo Cloud Report: July 2017

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.

Read More Read More

[Past event] Jax London 2016

Join Daniel Bryant and Andrew Morgan at Jax London 2016 this year on the 11th of October!

View All Past Events Read More

[Past event] The London Web Meetup

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 […]

View All Past Events Read More

[Past event] CTO’s in London Meetup

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 […]

View All Past Events Read More

Microservices Manchester (#micromanchester) Conference Recap

July 8, 2016 | Microservices

Microservices Manchester (#micromanchester) Conference Recap

OpenCredo recently co-organised the first Microservices Manchester event with OliverBernard recruitment, and it was a resounding success. Over 100 people showed up at the Victoria Warehouse near Manchester’s trendy Salford Quays for a day discussing the realities of implementing microservice systems.

Read More Read More

[Past event] Microservices Manchester

OpenCredo is going North with Microservices Manchester! We are super excited to announce ourselves as Event Partners and organisers of Microservices Manchester. It will be held on the 5th of July 2016 and is a free single day two-track conference. Microservices Manchester is specifically designed for technical implementers and decision makers who wish to better understand […]

View All Past Events Read More

The Seven Heavenly Virtues a Project Manager needs

June 7, 2016 | Software Consultancy

The Seven Heavenly Virtues a Project Manager needs

In my previous blog post I explained to you the Seven Deadly Sins of Project Managers. With that post in mind, I would like to share with you my views on what a project manager needs to overcome these sins and become a valuable member of the team, and ultimately helping to achieve success on the project.

Read More Read More

Introducing KubeFuse: A File System for Kubernetes

May 31, 2016 | Kubernetes

Introducing KubeFuse: A File System for Kubernetes

Do you ever wake up and think to yourself: oh geez, Kubernetes is awesome, but I wish I could browse and edit my services and replication controllers using the file system? No? Well, in any case, this is now possible.

Read More Read More

Concursus: Event Sourcing for the Internet of Things

May 10, 2016 | Data Engineering, White Paper

Concursus: Event Sourcing for the Internet of Things

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.

Read More Read More

The Concursus Programming Model: State

April 28, 2016 | Software Consultancy

The Concursus Programming Model: State

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.

Read More Read More

Easy API Simulation with Hoverfly JUnit Rule

March 17, 2016 | Software Consultancy

Easy API Simulation with Hoverfly JUnit Rule

In order to be able to regularly release an application, your automated tests must be set up to give you fast and reliable feedback loop. If bugs are only found during a long and expensive multi-service or end-to-end test run, it can be a hinderance to fast delivery. Unfortunately I have often seen this problem in development environments: a huge suite of clunky, flaky and slow end-to-end tests which test the full functionality of the application as opposed to being more lightweight and reflecting basic user journeys. This produces the “ice cream cone” anti-pattern of test coverage, where unit tests aren’t providing the kind of coverage and feedback they need to.

Read More Read More

Is it Time for Your ‘Microservices Checkup’?

March 2, 2016 | DevOps, Microservices

Is it Time for Your ‘Microservices Checkup’?

Many of our clients are currently implementing applications using a ‘microservice’-based architecture. Increasingly we are hearing from organisations that are part way through a migration to microservices, and they want our help with validating and improving their current solution. These ‘microservices checkup’ projects have revealed some interesting patterns, and because we have experience of working in a wide-range of industries (and also have ‘fresh eyes’ when looking at a project), we are often able to work alongside teams to make significant improvements and create a strategic roadmap for future improvements.

Read More Read More

Akka Typed brings type safety to Akka framework

January 18, 2016 | Software Consultancy

Akka Typed brings type safety to Akka framework

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.

Read More Read More

Facebook’s React, and the Signal:Noise Ratio

January 15, 2016 | Software Consultancy

Facebook’s React, and the Signal:Noise Ratio

So, you’ve started to hear a lot about React, the Javascript library developed by Facebook, but is it something you need to investigate? It’s time to distil the signal from the noise, position React amongst its rivals, and provide an indication of where it currently would – and would not – be a suitable fit.

Read More Read More

OpenCredo is now an Amazon Web Services APN Consulting Partner
JavaOne: Debugging Java Applications Running in Docker

November 3, 2015 | Software Consultancy

JavaOne: Debugging Java Applications Running in Docker

My JavaOne experience was rather busy this year, what with three talks presented in a single day! The first of these talks “Debugging Java Apps in Containers: No Heavy Welding Gear Required” was delivered with my regular co-presenter Steve Poole, from IBM, and we shared our combined experiences of working with Java and Docker over the past year.

Read More Read More

Implementing HAL hypermedia REST API using Spring HATEOAS

November 1, 2015 | Microservices

Implementing HAL hypermedia REST API using Spring HATEOAS

To use or not to use hypermedia (HATEOAS) in a REST API, to attain the Level 3 of the famous Richardson Maturity Model. This is one of the most discussed subjects about API design.
The many objections make sense (“Why I hate HATEOAS“, “More objections to HATEOAS“…)
. The goal of having fully dynamic, auto-discovering clients is still unrealistic (…waiting for AI client libraries).

However, there are good examples of successful HATEOAS API. Among them, PayPal.

Read More Read More

Our Thoughts on DevOps and Cloud at JAX London

October 18, 2015 | Cloud, DevOps

Our Thoughts on DevOps and Cloud at JAX London

DevOps, Cloud and Microservices: “All Hail the Developer King/Queen”

Last week Steve Poole and I were once again back at the always informative JAX London conference talking about DevOps and the Cloud. This presentation built upon our previous DevOps talk that was presented last year, and focused on the experiences that Steve and I had encountered over the last year (the slides for our 2014 “Moving to a DevOps” mode talk can be found on SlideShare, and the video on Parleys).

Read More Read More

Join OpenCredo at JavaOne in San Francisco

October 18, 2015 | DevOps, Microservices

Join OpenCredo at JavaOne in San Francisco

Microservices, Debugging Containers and Software Development Methodologies

Once again I’m privileged to be speaking at the premier Java conference, JavaOne in San Francisco. This year I will be presenting (at least) three conferences sessions: “Building a Microservice Ecosystem”, “Debugging Java Apps in Containers” and “Thinking, Fast and Slow, with Software Development”. I say ‘at least’ three talks as I usually get press-ganged volunteered into helping out at other talks and BoF sessions, but this is simply a sign of the great community spirit and a large group of friends involved with this conference!

Read More Read More

DevOps is Transformative

October 12, 2015 | DevOps

DevOps is Transformative

The Pre-DevOps Environment

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?

Read More Read More

The curse of correlation

October 7, 2015 | Software Consultancy

The curse of correlation

How correlated estimates make prediction in IT hard.

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.

Read More Read More

Introduction to Akka Streams – Getting started

October 1, 2015 | Data Engineering

Introduction to Akka Streams – Getting started

Going reactive

Akka Streams, the new experimental module under Akka project has been finally released in July after some months of development and several milestone and RC versions. In this series I hope to gently introduce concepts from the library and demonstrate how it can be used to address real-life stream processing challenges.

Akka Streams is an implementation of the Reactive Streams specification on top of Akka toolkit that uses actor based concurrency model. Reactive Streams specification has been created by the number of companies interested in asynchronous, non-blocking, event based data processing that can span across system boundaries and technology stacks.

Read More Read More

The Business Behind Microservices Webinar (Video and Slides)

September 24, 2015 | Microservices

The Business Behind Microservices Webinar (Video and Slides)

Unless you’ve been living under a (COBOL-based) rock for the last few years, you will have no doubt heard of the emerging trend of microservices. This approach to developing ‘loosely coupled service-oriented architecture with bounded contexts’ has captured the hearts and minds of many developers. The promise of easier enforcement of good architectural and design principles, such as encapsulation and interface segregation, combined with the availability to experiment with different languages and platforms for each service, is a (developer) match made in heaven.

Read More Read More

Microservice Platforms: Some Assembly [Still] Required. Part Two

September 20, 2015 | Microservices

Microservice Platforms: Some Assembly [Still] Required. Part Two

Working Locally with Microservices

Over the past five years I have worked within several projects that used a ‘microservice’-based architecture, and one constant issue I have encountered is the absence of standardised patterns for local development and ‘off the shelf’ development tooling that support this. When working with monoliths we have become quite adept at streamlining the development, build, test and deploy cycles. Development tooling to help with these processes is also readily available (and often integrated with our IDEs). For example, many platforms provide ‘hot reloading’ for viewing the effects of code changes in near-real time, automated execution of tests, regular local feedback from continuous integration servers, and tooling to enable the creation of a local environment that mimics the production stack.

Read More Read More

Designing a REST API with fine-grained resources, HATEOAS and HAL

August 12, 2015 | Microservices

Designing a REST API with fine-grained resources, HATEOAS and HAL

Over the last few months one of my main projects at OpenCredo has involved creating various microservices which are interacted with via REST. We’ve been working with a relatively rich domain model, which in turn has presented a lot of challenges in how to design our various resources. This blog post aims to summarise various techniques and practices which I’ve found helpful in overcoming these challenges.

Read More Read More

Boot my (secure)->(gov) cloud

August 10, 2015 | Cloud, Software Consultancy

Boot my (secure)->(gov) cloud

As a company, we at OpenCredo are heavily involved in automation and devOps based work, with a keen focus on making this a seamless experience, especially in cloud based environments. We are currently working within HMRC, a UK government department to help make this a reality as part of a broader cloud broker ecosystem project. In this blog post, I look to provide some initial insight into some of the tools and techniques employed to achieve this for one particular use case namely:
With pretty much zero human intervention, bar initiating a process and providing some inputs, a development team from any location, should be able to run “something”, which, in the end, results in an isolated, secure set of fully configured VM’s being provisioned within a cloud provider (or providers) of choice.

Read More Read More

OpenCredo: A trusted Typesafe partner
GOTO London 2015 “Agile, Lean and Rugged”
New Tricks with Dynamic Proxies in Java 8 (part 2)

July 14, 2015 | Software Consultancy

New Tricks with Dynamic Proxies in Java 8 (part 2)

Building simple proxies

In the previous post I introduced Java dynamic proxies, and sketched out a way they could be used in testing to simplify the generation of custom Hamcrest matchers. In this post, I’m going to dive into some techniques for implementing proxies in Java 8. We’ll start with a simple case, and build up towards something more complex and full-featured.

Read More Read More

Round up from the Kubernetes London meetup / Vol.2

November 19, 2014 | Microservices

The 7 Deadly Sins of Microservices

Undeniably, there is a growing interest in microservices as we see more organisations, big and small, evaluating and implementing this emerging approach. Despite its apparent novelty, most concepts and principles underpinning microservices are not exactly new – they are simply proven and commonsense software development practices that now need to be applied holistically and at a wider scale, rather than at the scale of a single program or machine. These principles include separation of concerns, loose coupling, scalability and fault-tolerance.

Read More Read More

October 23, 2014 | Cassandra

Spring Data Cassandra Overview

Spring Data Cassandra (SDC) is a community project under the Spring Data (SD) umbrella that provides convenient and familiar APIs to work with Apache Cassandra.

Read More Read More

The factors pushing many organisations towards Continuous Delivery with Infrastructure as Code and what’s next…

January 7, 2013 | Software Consultancy

The factors pushing many organisations towards Continuous Delivery with Infrastructure as Code and what’s next…

The practice of continuous integration in which build servers are used to build and perform testing of code is now widespread and mainstream.

While not all teams have adopted continuous integration effectively, its increasing adoption has led many to start to look for additional opportunities to improve the cost, quality and speed of delivery with which software targeted to meet business needs can be released into production environments.

Traditionally Continuous Integration addresses the question of “does the software build and pass our unit and integration test suites?”. This is often insufficient.

Read More Read More

Overriding Puppet resources with class inheritance

October 25, 2012 | DevOps

Overriding Puppet resources with class inheritance

A common issue with Puppet manifests is a clash of resource definitions that appears in the Puppet log file as: ‘Duplicate definition: File[resource-name] is already defined; cannot redefine at…’

This issue is likely to occur when building a service stack from reusable Puppet modules and you try to alter a resource that has already been defined in modules that the service depends on.

Building a service from reusable Puppet modules has a couple of benefits. It saves you time when you don’t have to write new modules every time you build a new service. It also improves the quality when you build your service from modules that are trusted, tried and tested.

Read More Read More

A Simple Introduction to Complex Event Processing – Stock Ticker End-to-End Sample

February 8, 2012 | Data Analysis, Data Engineering

A Simple Introduction to Complex Event Processing – Stock Ticker End-to-End Sample

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.

Read More Read More