Achieve development agility, improve run-time application resiliency, and deliver highly-responsive applications by adopting cloud-native design patterns and building cloud-aware applications. Forklifting applications into the cloud is relatively fast, but the simple path into the cloud does not create better software. End-users may still complain about your development velocity, operations may still struggle to maintain uptime guarantees, and development iterations may continue at a glacial pace. By iteratively applying cloud-native design patterns and re-architecting applications, teams reduce technical debt, deploy with confidence, and build highly scalable solutions. Cloud-aware applications embrace microservices, actor model interactions, map-reduce processing, shared-nothing architecture, and the thirteen dwarf patterns. Learn about cloud-native design practices and frameworks that help you optimize scalability, foster anti-fragility, and decompose application monoliths into cloud-native microservices. Chris describes how Kubernetes, Akka, Hadoop, Eureka, Hysterix, and other open source projects make cloud-native design and implementation an approachable proposition.
6. Deploy with Confidence
GOAL STATE
• Reduce Technical Debt
• Optimize Scalability
• Foster Anti-fragility and Resiliency
• Deliver Highly Responsive Applications
7. ANTI-FRAGILE CONTINUOUS
INTEGRATION/DELIVERY PATTERN
… to exert a constant stress on your
delivery and deployment process to
reduce its fragility so that releasing
becomes a boring, low-risk activity.
Jez Humble, “On Antifragility in Systems
and Organizational Structure”
http://continuousdelivery.com/2013/01/on-
antifragility-in-systems-and-
organizational-architecture/
18. SINGLE DEPENDENCY DELAY CAUSING
BLOCKING OF USER REQUEST
Source: http://www.slideshare.net/yang75108/antifragile-microservices-and-devops-a-study
19. ALL USER REQUESTS WILL BE BLOCKED AT
PEAK HOUR(CASCADING FAILURE)
Source: http://www.slideshare.net/yang75108/antifragile-microservices-and-devops-a-study
20. Fail-fast and dynamically reset
CIRCUIT BREAKER
Source: http://martinfowler.com/bliki/CircuitBreaker.html
22. • Service-Oriented
• Just a single service
• Compose multiple services
• Ask for run-time information
• Location
• Policies
• Respect Data Gravity
• Shard data
• Cache and Eventual consistency
Cloud-Aware Applications
Eight Miles High: Build Cloud-native and Cloud-aware Systems
Achieve development agility, improve run-time application resiliency, and deliver highly-responsive applications by adopting cloud-native design patterns and building cloud-aware applications. Forklifting applications into the cloud is relatively fast, but the simple path into the cloud does not create better software. End-users may still complain about your development velocity, operations may still struggle to maintain uptime guarantees, and development iterations may continue at a glacial pace. By iteratively applying cloud-native design patterns and re-architecting applications, teams reduce technical debt, deploy with confidence, and build highly scalable solutions. Cloud-aware applications embrace microservices, actor model interactions, map-reduce processing, shared-nothing architecture, and the thirteen dwarf patterns. Learn about cloud-native design practices and frameworks that help you optimize scalability, foster anti-fragility, and decompose application monoliths into cloud-native microservices.
Chris describes how Akka, Hadoop, Apache Stratos, Hysterix, and other open source projects make cloud-native design and implementation an approachable proposition.
Credits: J. M. De Cristofaro aka Johngineer must be having a great week. He recently shared his custom made wristwatch, the ChronodeVFD, and its simple yet eye-catching design has earned the approval of the Internet, including no less than the cyberpunk lord William Gibson. One look at it and you’ll see why it’s gone viral.
DropWizard https://dropwizard.github.io/dropwizard/index.html
Dropwizard has out-of-the-box support for sophisticated configuration, application metrics, logging, operational tools, and much more, allowing you and your team to ship a production-quality web service in the shortest time possible.
Spring Boot http://projects.spring.io/spring-boot/
Create stand-alone Spring applications
Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files)
Provide opinionated 'starter' POMs to simplify your Maven configuration
Automatically configure Spring whenever possible
Provide production-ready features such as metrics, health checks and externalized configuration
Absolutely no code generation and no requirement for XML configuration