DRAFT 

Description

Microservices as of 2016 are around their apex from a hype perspective. Billed as the panacea, it is the culmination of the rejection of traditional SOA implementations, the onset of DevOps, and the emergence of containers. A number of technologies and frameworks have surfaced, as well as design patterns and operating models. A microservices reference architecture has not been universally adopted, however some guidelines and assessments will help navigate the architect towards success in this domain.

Overview

  1. Who: Everyone from the business users to project managers to sales to development are potential beneficiaries.
  2. Where: The SDLC is the sweet spot – providing the ability to deliver new and enhanced capabilities with much improved speed and efficiency.
  3. Why: Competing in today’s marketplace means keeping up with the competition but also to deliver differentiating capabilities. It is no longer acceptable to wait 6-18 months to produce business value. Microservices purports to change that timeframe significantly.
  4. Use cases: 1, the ability to scale a particular service independently of other services. Scaling a monolithic application for a particular function is a waste of resources. 2, in a highly complex environment, the ability for a single developer or a small team to be flexible, understand the specific domain, scale, rewrite and deliver capability that is independent of other teams or projects. 3, there is a need within the development environment to implement using polyglot technologies. 
  5. Methods of implementation: Assuming the evaluation criteria led to the adoption of microservices as an architecture, it is recommended to 1. Define the business domain to be addressed; 2. Define a single, vertical slice that represents a business capability, 3. Define a contract for that capability to exist as an API 4. Agree on and expose API documentation 5. Decide on technology stack 6. Enable ecosystem capabilities such as circuit breaker, service discovery, api gateway 7. Plan for behavioral changes such as fault tolerance and eventual consistency 8. Organize teams around business capabilities 9. Plan for changes in the way cross cutting concerns are handled such as logging, configuration, auditing and metrics
  6. How the architecture changes:  Services are now aligned along business domain/capability boundaries. How the organization changes: Business users and capability experts are working directly with designers and developers on a particular capability
  7. Systems required: There are no required systems as this is an architectural style; however it is recommended to adopt a cloud first development strategy
  8. Views/viewpoints – technology, info/data arch, business arch as applicable
  9. PRO/CON analysis (if needed)

Donec ultrices lectus lacinia risus placerat ultrices. Mauris mollis sed orci sed tempor. Pellentesque feugiat justo orci, eu ultrices lacus bibendum in. Sed erat lorem, tristique at purus vitae, tincidunt luctus nulla. Ut faucibus vehicula tempus. Nullam purus ex, pharetra vitae augue eget, pretium tempus lectus. Nunc sed ipsum neque. Donec eu nunc ac nisl consequat aliquam. Fusce aliquam purus tortor. Aenean finibus auctor urna in vulputate.

Nullam malesuada tempor venenatis. Nunc ac ex tempus, imperdiet libero a, imperdiet nunc. Integer condimentum ante et blandit euismod. Sed a dolor vel purus pharetra commodo. Quisque elit ligula, venenatis ac interdum sit amet, porta non ligula. Nulla lacus libero, sodales nec enim at, convallis scelerisque nisi. Praesent pretium est eget nunc cursus, nec congue neque congue. Fusce ullamcorper magna id neque dictum suscipit. Sed viverra nisl ac urna luctus, ut venenatis mi consequat. Nunc elementum sollicitudin ipsum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Phasellus aliquam ornare ante, sit amet fringilla ante tempus ac. Sed magna elit, aliquet commodo sapien ac, gravida accumsan dolor. Nam ac ligula vitae magna molestie convallis. Proin condimentum quis massa a efficitur.

Praesent ut dignissim risus. Vivamus a orci dui. Vestibulum tristique rutrum pulvinar. Vivamus non pharetra ligula, at faucibus eros. Ut vitae massa in arcu hendrerit cursus id at enim. Phasellus volutpat tempus velit, eget elementum purus luctus eu. Nulla ac velit pharetra mauris condimentum molestie. Fusce porta luctus laoreet. Cras lectus metus, eleifend eget scelerisque id, congue id nunc. Maecenas ut faucibus orci, ut pulvinar ligula. Quisque eu ultricies orci. In finibus justo in est malesuada tempor. Fusce pharetra ornare posuere. Etiam lobortis odio et diam vulputate viverra. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Best Practices

Best Practices (or case studies)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi pretium lacus vitae elit tincidunt venenatis. Vivamus eget nibh vel nunc lacinia efficitur. Donec ac leo id ligula ullamcorper molestie dignissim sed velit. Integer ullamcorper turpis nec pulvinar accumsan. Aliquam accumsan efficitur varius. Nunc fermentum semper sem, sit amet imperdiet mauris interdum a. Praesent tristique iaculis sem et malesuada. Maecenas vitae scelerisque sem, ut interdum justo. Duis semper dui non est rhoncus pulvinar.

Aenean et consequat urna, ac efficitur velit. Pellentesque fringilla facilisis libero ac congue. Nulla ut dui sed risus tincidunt tempus non eu metus. Sed et feugiat enim. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Proin ultricies leo et ex elementum, sed luctus erat venenatis. Mauris tincidunt at ipsum quis auctor.

Fusce non elit metus. Nullam condimentum, dolor nec semper fringilla, mauris dui tristique tellus, sed feugiat dolor enim non lectus. Donec fringilla vestibulum enim in bibendum. In molestie eros non hendrerit ultrices. Etiam sed mauris nec est congue congue. Fusce gravida viverra dictum. Nunc porttitor tristique dignissim. Donec egestas enim massa, at feugiat sapien sagittis at. Cras at posuere nibh, ut aliquam enim. Sed feugiat tellus libero, nec pellentesque quam pharetra vel. Morbi eget consequat neque, in posuere felis. Aliquam quis vulputate lacus. Vestibulum auctor, purus id pretium placerat, enim purus ullamcorper lectus, non elementum nibh tortor nec enim. Nam ut bibendum ex. Nam pellentesque molestie dolor vel porttitor. Vivamus consectetur maximus lorem sit amet efficitur.

Capabilities

Capabilities

How the trend is implemented as a set of either IT or business-supporting capabilities

b.     How we measure CITA proficiencies here – what would it mean to be a CITA-S or CITA-P in this area (having done it, able to talk about it, able to frame an initiative to implement, etc.)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi pretium lacus vitae elit tincidunt venenatis. Vivamus eget nibh vel nunc lacinia efficitur. Donec ac leo id ligula ullamcorper molestie dignissim sed velit. Integer ullamcorper turpis nec pulvinar accumsan. Aliquam accumsan efficitur varius. Nunc fermentum semper sem, sit amet imperdiet mauris interdum a. Praesent tristique iaculis sem et malesuada. Maecenas vitae scelerisque sem, ut interdum justo. Duis semper dui non est rhoncus pulvinar.

Aenean et consequat urna, ac efficitur velit. Pellentesque fringilla facilisis libero ac congue. Nulla ut dui sed risus tincidunt tempus non eu metus. Sed et feugiat enim. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Proin ultricies leo et ex elementum, sed luctus erat venenatis. Mauris tincidunt at ipsum quis auctor.

Resources

For further review (Resources)

  1. Any specific technology leaders, white papers, slideshares – like Chef/Puppet frameworks, ARM in Azure for DevOps
  2. Framework for assessing an organization’s readiness for this trend – like IO model? (basic, standardized, rationalized, dynamic?)

 

[1].  Kruchten, Philippe, Architectural Blueprints — The “4+1” View Model of Software Architecture. IEEE Software 12 (6), pp. 42-50, November 1995.

Author

Your Name Here LinkedIn URL (optional)