: Microservices
Microservices are a software development technique — a variant of the service-oriented architecture (SOA) architectural style that structures an application as a collection of loosely coupled services. In a microservices architecture, services are fine-grained and the protocols are lightweight. The benefit of decomposing an application into different smaller services is that it improves modularity. This makes the application easier to understand, develop, test, and become more resilient to architecture erosion. It parallelizes development by enabling small autonomous teams to develop, deploy and scale their respective services independently. It also allows the architecture of an individual service to emerge through continuous refactoring. Microservice-based architectures enable continuous delivery and deployment. (Source: Wikipedia)
Microservices
Nikhil has 11 years of experience in Web and Analytics Application Development. When not coding, he loves cycling and spending more time with his family. In an alternate universe, he would have loved to be Jon Snow, before season 7 and 8 were released.
Contents
Microservices based architecture is in a way characterized by the non-functional services and infra it requires and everyone talks about. In this session, we shall pick a standard monolith system, break apart its components to evolve to a microservices architecture.
Along the way, we shall see why each non-functional service is (if at all) required, what role it plays while also probably uncovering the darker side of this shining architecture style. This will purely be an architectural discussion and we shall avoid getting into implementation detail specific to a language or framework.
Microservices War Reports
Christian Hujer, a seasoned developer with ~35 years of experience, founder of Nelkinda Software Craft, carries a tremendous experience in software development and software craftspersonship. He is a polyglot in languages (Prolog to Java), frameworks and development environments (from smart card to server). He is keen at following the best coding and software development process related practices for example XP, Clean Code practices, TDD. He always strives for better software and a better environment.
Contents
Carving out a Java Microservice from a Ruby Monolith
A Ruby Monolith was causing large AWS bills. So the organization decided to do something about this. It turns out that there are obstacles when carving out Java microservices from a Ruby monolith, and not all of them are technical.
Analyzing and Solving a 504 Gateway Timeout Problem on AWS
A change in the way users used the system resulted in downtime of services caused by 504 Gateway Timeout
on the ELBs.
- What does that mean?
- What is causing it?
- And how to fix it?
This touches many layers of a project from DevOps and infrastructure via understanding HTTP and TCP/IP networking and POSIX operating systems to proper resource handling in source code (in this case, Java).
- The problem: 504 Gateway Timeouts
- The analysis: From structure to tools how we found the culprit with system knowledge and systematic search
- The solution — once more: Clean Code!
Migrating 190M records from DynamoDB and S3 to MongoDB
In one of our projects, we had to migrate 190M records from DynamoDB and S3 to MongoDB. In a live system.
This is the story of how we achieved that: How we did that, what went wrong along the way, how we reacted, and what we learned from it. This is about both, the migration script as well as the service reprogramming.
- Planning
- Testing
- Pitfalls
- Firefighting
An Odyssey in Go on the Azure ocean
Go is said to be the new number one goto language for new microservices. And Azure the number one cloud. Or is it? This is a journey through what works and what doesn't.
Schedule
Start | Duration | End | Topic |
---|---|---|---|
18:30 | 1 hour | 19:30 | Talk 1: Microservices |
19:30 | 15 mins | 19:45 | Short Break |
19:45 | 1 hour | 20:45 | Talk 2: Microservices War Reports |
20:45 | 45 minutes | 21:30 | Q and A / Networking |
Host and Sponsor
The host for this meetup is bootstart. The food sponsor for this meetup is Nelkinda Software Craft.