Microservices has officially come of age. The first book is out, with more on the way. Dedicated conferences exist. MeetUps have been running for months. But success is not automatic.
Microservices have emerged in many places in parallel, a product of technological enablers. Success, however, will be elusive unless:
- the proper complementary technologies are exploited,
- IT processes adjust,
- the business is engaged in nontraditional fashion, and
- roles and responsibilities are (sometimes radically) adjusted.
In this talk, we address all these points, citing examples from past engagements. Initially we motivate the fundamental drive behind Microservices: Faster time to market. In plain language, we first explore the technology trends that have facilitated the emergence of Microservices.
But embracing the technology changes is not sufficient. Going faster can be crippled if supporting IT processes are not implemented. Further, the IT-business interaction changes to truly exploit Microservices. We will dive into some detail about the nature of these changes and successful recent implementations.
We wrap up by addressing the impact to roles and responsibilities, a challenging and key aspect of Microservice success. We will delve into some detail on an implementation in a large, traditional business.
Wednesday 09:00 - 16:00
The workshop will take place at the hotel "Park Inn - Alexanderplatz
" in Room Ehrlich 2. Please arrive at the address below around 08:30 AM on Wednesday, December 2, for Registration.
Hotel Park Inn - Alexanderplatz
On arrival at the Hotel Park Inn - Alexanderplatz please use the stairs behind or the elevator beside the concierge to the 2nd floor. On the second floor go to the workshop rooms on the right hand side.
Hands-on development of asynchronous microservices using a bus architecture
While “microservices” is becoming a heavily overworked term, it has been interpreted many ways. In this workshop we will explore a particular style, tiny asynchronous services, that was the core of one of the most successful implementations. Given an animated specification of flow, we will embark on delivering the proposed services, wrestling with the issues common to this new paradigm.
It is one thing to talk about MicroServices. It is another altogether to have to build them.
After a brief introduction of MicroService principles, we will watch an animation of a microservice environment. We will start with a prebuilt skeleton microservice environment (message bus plus a couple of RESTful services running against it). We will then design and implement additional services to broaden the overall functionality. These additional services can be written in any language that will run on the participants laptop. While pairing is strongly encouraged, it is not required.
In the final stage, different pairs will implement different services, yet they will all run together implementing the animation.
We wrap up with the participants making observations on what they learned (and how it may be different from MicroServices they are currently implementing, if any).
Outline/structure of the session
1. Introduction to MicroServices
2. Sample asynchronous MicroService application
3. Installation of sample MicroServices for the exercise
a. Installing RabbitMQ drivers for your language
b. Testing access to RabbitMQ server
4. Implementing a new MicroService
5. Discussion of effort
6. Implementing a second MicroService
7. Discussion and review of code
8. Implementing the application (teams develop different services that will work together)
9. Wrap up observations by participants
The focus of the workshop will be on: 1) Understanding how to design asynchronous service
architectures, 2) Creating small, yet functional, services rather than larger services, 3) Reducing coupling to the bare minimum (JSON packets with extra fields ignored), and 4) Debugging asynchronous systems.
Audience: Developers (we will be writing code).
09:00 - 10:30 Workshop
10:30 - 11:00 Coffee/Tea Break (incl. snacks)
11:00 - 12:00 Workshop
12:00 - 13:00 Lunch Break
13:00 - 14:30 Workshop
14:30 - 15:00 Coffee/Tea Break (incl. snacks)
15:00 - 16:00 Workshop