The document discusses microservices on AWS. It covers key concepts of microservices including (1) componentization via services, (2) organizing around business capabilities, and (3) treating products not projects. It also discusses infrastructure automation, designing for failure, and evolutionary design. The document then summarizes the technological context and limitations of Aldebaran's monolithic architecture and how microservices and a modular architecture could address these. It introduces Amazon EC2 Container Service and AWS Lambda as tools that can help build and run microservices on AWS through containers and serverless event-driven architectures.
12. Aldebaran Technological Context
• Small team of Cloud folks developing
« Cloud oriented » applications
• Embedded software developers
– Not familiar with Web/Cloud
specific constraints
• Scalability ?
• Exploitation?
• Many languages / technologies
to learn
– Need tools and methods to easily
build and run new services
Source: nDevilTV via Wikimedia Commons
13. Limitations
• Monolithic services
• Hard to evolve (“/api/1” only)
• Strongly coupled one with another and with
clients code
• Each service encompasses features that
may be spreaded across the whole
architecture
• Services may provide illegitimate features
with respect to their business concerns
Source: CATHERINE PRIOR via Wikimedia Commons
15. µService Model Pros & Cons
• Time to market: Lifecycle releases
of services are “independant”
• Increased evolutivity and new
services creation enabler
• Better control over QoS properties
• Increased workload to set up and
manage multiple environments
• Architecture rationalization
• Services Governance
DevOps Approach
✓ ✗
16. DevOps Methodology & Tooling
Tools of the Trade:
Jenkins, GIT, RedMine, Chef, CloudFormation,
Elastic Beanstalk, Docker (!), etc.
17. Challenges and Enablers
• Too many resources: O( NbOfServices x Versions x Environments )
Finer grained resource mutualisation is required
• high workload to setup & manage all these environments
Better integration of DevOps tooling
• Development / Production environments descrepancies
Container technology can help
DevOps dream is to allow logic to be easily executed
upon events within a specific infrastructure context
that has controlable QoS properties
23. AWS Lambda
Respond quickly to new information
Build back-end services that perform at scale
Run your code without managing infrastructure
Cost-effective and efficient