James Lewis, TweetPrincipal Consultant at ThoughtWorks
Biography: James Lewis
James Lewis is a Principle Consultant for ThoughtWorks based in the UK and a member of the ThoughtWorks Technical Advisory Board. Most recently he has been helping to introduce Agile at various blue chip companies: Investment Banks, Publishers and media organisations. Sometimes I even write software.
James studied Astrophysics in the 90's but got sick of programming in Fortran. Fourteen years of DBA, Java development, software design and software architecture later, he believes that writing software is the easy part of the problem. Most of the time it's about getting people thinking right.
Most recently, James has been spending his time helping ThoughtWorks' clients develop enterprise software as a coding architect and is particularly interested in the design of distributed systems and the web as middleware.
Presentation: TweetBuilding Systems that are #neverdone
The software industry is changing faster than ever. Now, with microservices becoming more and more accepted as an approach to systems architecture, the rate of change of our industry and of the software we write is getting faster and faster.
In this talk, James explores what this means for developers writing code now. Do we abandon our quest to build quality in? What does it mean for design if we are building software explicitly to throw it away a short time later. Is TDD dead? What does software craftsmanship look like through the lens of replaceable code in small replaceable services?
In short, what does it mean if we are #neverdone?
Microservices Architecture is a concept that aims to decouple a solution by decomposing functionality into discrete services. Microservice architectures can lead to easier to change, more maintainable systems which can be more secure, performant and stable.
In this workshop you will discover a consistent and reinforcing set of tools and practices rooted in the philosophy of small and simple that can help you move towards a Microservice architecture in your own organisation. Small services, communicating via the web's uniform interface with single responsibilities and installed as well behaved operating system services. However, with these finer-grained systems come new sources of complexity.
What you will learn
During this workshop you will understand in more depth what the benefits are of finer-grained architectures, how to break apart your existing monolithic applications, and what are the practical concerns of managing these systems. We will discuss how to ensure your systems can be made more stable, how to handle security, and how to handle the additional complexity of monitoring and deployment.
We will cover the following topics: Principle-driven evolutionary architecture Capability modelling and the town planning metaphor REST, web integration and event-driven systems of systems Micro services, versioning, consumer driven contracts and Postel's law.
Developers, Architects, Technical Leaders, Operations Engineers and anybody interested in the design and architecture of services and components.