Make Developing software is easier, cheaper, faster and smarter.
Scope - Why and How , Biz-Tech Drivers, Eco System
Domain Concerns - Technology /Business - Tools and processes
Design Patterns Re-applied - Design/Code/Test/Deployment, Best Practices
API Governance - Elements and implementation. Hands on Demo
Observability - DevOps Culture, Practices,
General Software TRENDS
Independently deployable and scalable
Parallel, Rapid development, provisioning, and deployment of artifacts with independent life cycle
Stateless and Open API based RESTful to be easily consumed by modern client JS frameworks, mobile and external apps
APIs need to be based on modern tech stack and should be quick to adapt to changes and services easily amenable.
Efficient & scalable storage/data transfer with high volume/velocity and the variety of data.
Is an architectural style that structures an application as a collection of loosely coupled services, which implement business capabilities that can be deployed and scaled independently
Development with microservices is different journey for different teams and one needs to find their own path. Consider microservices as means for bringing agility and not the end.
It is helping us not only to keep up with pace and innovate faster, but also bringing in more predictable and faster software releases
"API becomes digital glue" - Forrester.
Micro services enable faster innovation with frequent independent release lifecycle and delivery of quality software
Monolith API benefits from economy of scope, micro service API benefits from economy of scale.
MICROSERVICES
Micro services enable faster innovation with frequent independent release lifecycle and delivery of quality software
Monolith API benefits from economy of scope, micro service API benefits from economy of scale.
Micro services enable faster innovation with frequent independent release lifecycle and delivery of quality software
Monolith API benefits from economy of scope, micro service API benefits from economy of scale.
Micro services enable faster innovation with frequent independent release lifecycle and delivery of quality software
Monolith API benefits from economy of scope, micro service API benefits from economy of scale.
Micro services enable faster innovation with frequent independent release lifecycle and delivery of quality software
Monolith API benefits from economy of scope, micro service API benefits from economy of scale.
Micro services enable faster innovation with frequent independent release lifecycle and delivery of quality software
Monolith API benefits from economy of scope, micro service API benefits from economy of scale.
Micro services enable faster innovation with frequent independent release lifecycle and delivery of quality software
Monolith API benefits from economy of scope, micro service API benefits from economy of scale.
servers need to be provisioned for peak usages of one module, Huge wear and tear effect of deployment if not downtime, Mutating artefacts technically requires complete testing. Expects homogeneous.
Value delivered.
Velocity achieved.
Lines of code shipped.
Number of deploys to production.
Design/Code that works, survives, wins and most importantly understood easily by all stakeholders.
How you measure success
Conway’s law - Any organisation that designs a system will inevitably produce a design whose structure is a copy of the organisation’s communication structure
traits
Small Teams
- Experts in that domain, Focus on Single purpose
- Cross functional - Have all skill sets for complete solution
Test Driven Development, CI and Deployment
- Regression, Fail fast
- Merciless Refactoring, Performance improvement
- Fast iterations
Dev-Ops
- End to end design/development/deployment and retirement
- Independently deployed and scaled.
traits
Orchestration, Issues, IaaS - Tools/Processes
Chef, Puppet, Ansible, and SaltStack are all “configuration management” tools, which means they are designed to install and manage software on existing servers.
CloudFormation and Terraform are “orchestration tools”, which means they are designed to provision the servers themselves, leaving the job of configuring those servers to other tool
Although they can be complimentary there is lot of over-lap and each of them stepping into other's shoe, given the scale/hardware/team requirement of a particular company, one need to invest one of the above approach.
Distributed transactions
Eventual consistency