3. Container
▪Package, deploy, run and scale application, with dependencies, in an
O/S-, language- and framework-agnostic way
▪Light-weight alternative to Virtual Machines, higher density
8. the microservice architectural style is an approach
to developing a single application as a suite of
small services, each running in its own process
and communicating with lightweight mechanisms,
often an HTTP resource API.
8
martinfowler.com/articles/microservices.html
11. ▪Uses an open source software stack to
– deploy applications as microservices
– package each part into its own container
– dynamically orchestrate containers for optimum
resource utilization
11
14. Tenets of CI
▪Source code repository is the “single source of truth”
– All source code - application and test
– Include build/test scripts, schemas, IDE configurations, docs, …
– Tag your builds, define cadence
▪Automate the build - single command builds the codebase
– Track who, when, what
▪Keep the build fast (< 10 mins)
▪Tests are triggered for each build
▪Commit early and often
– Once every few hours, at least once a day
15. –Martin Fowler
“Continuous Integration doesn't get rid
of bugs, but it does make them
dramatically easier to find and remove”
15
martinfowler.com/articles/continuousIntegration.html
16. 16
“it is the practice of
releasing every good
build to users”
“continuous
integration to its
logical conclusion”
20. 2016 State of DevOps Report
puppet.com/resources/whitepaper/2016-state-of-devops-report
21. Five “C”s of DevOps
• Collaboration between “dev” and “ops”
• Culture
• Code everything - application and configuration
• Consistency - automation over documentation
• Continuous delivery
22. “you build it, you run it!”
With great power,
comes great
responsibility
23. • Switched from self-hosted data center to AWS
• New update every 11.6 seconds on weekdays
• Peak was 3x (1079 deployments in an hour)
• Picked up by 10k different hosts
• 0.0001% deployments resulted in outage
• Apollo - “secret sauce” for rolling updates
• aws.amazon.com/codedeploy
http://servicevirtualization.com/profiles/blogs/making-the-transition-to-a-devops-culture
http://www.allthingsdistributed.com/2014/11/apollo-amazon-deployment-engine.html
32. Virtual Machines Containers Serverless
Unit of Scale Machine Application Function
Abstraction Hardware Operating System Language Runtime
Packaging AMI Container File Code
Configure
Machine, storage,
networking, O/S
Run Servers, configure
applications, scaling
Run code when needed
Execution
Multi-threaded,
multi-task
Multi-threaded, single task
Single threaded, single
task
Runtime Hours to months Minutes to days Microseconds to seconds
Unit of cost Per VM per hour Per VM per hour
Per memory/second per
request
Amazon EC2 Docker, Kubernetes, ECS Lambda
48. What is Blockchain?
A distributed database that maintains a
continuously growing list of ordered records
called blocks. Each block contains a timestamp
and a link to previous block.
No new technology, just
existing components
assembled in a new way
54. ChatOps
▪Connect people, bots and tools in an automated workflow
▪Conversation-driven development
▪Example: Slackbot, Hipchat Connect
▪Serverless: An easy way to deploy and scale bots
▪Benefits
– Higher transparency
– Short feedback loops
– More agility
55. Offline First
▪Lack of connectivity is not an error condition
– Do not need constant connectivity
– Low network bandwidth
– Zero reception, unreliable connection
– Geography
▪Features
– Synchronization
– Conflict resolution
– Security
▪Frameworks: Hoodie, Ionic, Couchbase Mobile, Mapbox Mobile, …