Microservices Architecture for Content Management Systems using AWS Lambda and more
MicroServices sur AWS
-
Upload
amazon-web-services -
Category
Technology
-
view
219 -
download
3
Transcript of MicroServices sur AWS
#2 Organized around
Business Capabilities
Source: http://moicani.over-blog.com/2014/03/hey-monsieur-l-homme-orchestre.html
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 easilybuild and run new services
Source: nDevilTV via Wikimedia Commons
Limitations
• Monolithic services
• Hard to evolve (“/api/1” only)
• Strongly coupled one with another and withclients code
• Each service encompasses features thatmay be spreaded across the wholearchitecture
• Services may provide illegitimate featureswith respect to their business concerns
Source: CATHERINE PRIOR via Wikimedia Commons
µ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
✓ ✗
DevOps Methodology & Tooling
Tools of the Trade:
Jenkins, GIT, RedMine, Chef, CloudFormation,
Elastic Beanstalk, Docker (!), etc.
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
Introducing Amazon EC2 Container Service
http://aws.amazon.com/ecs/
A fully Docker-compatible, fully managed, Linux container service
Why Containers ?
Benefits for micro-services
• Speed
• Consistency
• Density / Resource Efficiency
• Flexibility
Source: Pixabay
Key Components
• Container-Enabled AMIs
• ECS Agent
• Cluster Manager
• Container Scheduler
• Tasks/Task Definitions
• Repositories / Storage / Networking
Source: Morio via Wikimedia Commons
Introducing AWS Lambda
http://aws.amazon.com/lambda/
“A PaaS for event-driven micro-services”
Werner Voegels.
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