Cloud Native DevOps with cloud.gov Workshop
-
Upload
dlapiduz -
Category
Engineering
-
view
175 -
download
1
Transcript of Cloud Native DevOps with cloud.gov Workshop
Cloud Native DevOpswith
Who
• Adrian Webb
• Aidan Feldman
• Bret Mogilefsky
• Diego Lapiduz
What is DevOps?
What is the cloud?
What is cloud native?
How can I get to cloud native?
What does DevOps for Government mean?
What is cloud.gov?
How do I use cloud.gov?
Today
DevOps
What is DevOps?• Mindset
• Empathy between teams
• Increase speed and reliability of delivery
• Enabled by tools and automation
• Not just about Dev and Ops
Not just about Dev and Ops
• Increased communication
• Shared responsibility
• (Automated) feedback loops
• Agile delivery
DevOps in Government
DevSecCompOps
• Development
• Security
• Compliance
• Operations
DevOps in Government• Move at the speed of innovation
• Lower costs
• Increase resiliency and security
• Improve documentation and repeatability
• Have fun
What is the ☁ ?
What is the cloud?
• * as a service
• No control over the physical servers
• APIs for configuration and changes
• Higher level services (DBaaS, User Mgmt)
👍☁
• Scales infinitely
• Easy to automate
• Close to zero provision time
• No up-front fees
• Testing new tools is cheap and encouraged
• Reduced specialization across teams
👎☁
• Hard to predict costs
• Shared infrastructure
• Provider-specific features - vendor lock-in
• Lower reliability
What is cloud native?
• 12 factor
• Horizontally Scalable
• Failure tolerant
What is a cloud native app?
• I. CodebaseOne codebase tracked in revision control, many deploys
• II. Dependencies Explicitly declare and isolate dependencies
• III. ConfigStore config in the environment
• IV. Backing ServicesTreat backing services as attached resources
• V. Build, release, run Strictly separate build and run stages
• VI. Processes Execute the app as one or more stateless processes
• VII. Port bindingExport services via port binding
• VIII. Concurrency Scale out via the process model
• IX. DisposabilityMaximize robustness with fast startup and graceful shutdown
• X. Dev/prod parityKeep development, staging, and production as similar as possible
• XI. LogsTreat logs as event streams
• XII. Admin processesRun admin/management tasks as one-off processes
12 factor
How can I get to cloud native?
• Microservices (or SOA)
• Multiple layers of caching
• Queue based tasks
• Health checks and failsafes
• Continuous delivery
• Configuration as code
How to get there?
Demo
• Platform as a Service
• Support for Ruby, Java, PHP, Python and others
• Shared services: mysql, postgresql, redis, elasticsearch
• Logging, auditing, authentication and permissions are built in
• Common compliance up to the application layer
Some concepts:
• Organization / Space / Application / Instance
• Buildpack
• Services / Marketplace
How do I use it?
• Create an account
• Download cf cli
• git clone https://github.com/18F/cf-hello-worlds.git
• (choose one)
• cf login -a api.cloud.gov
• cf push <name>-hello
How do I use it?
Demo
Questions?
Break
Thanks!