{"data":{"coursesJson":{"slug":"spinnaker","title":"Spinnaker","pyramid":"DevOps","heroText":"Fast, safe, repeatable deployments","heroImage":"/courses/spinnaker/icon.png","aboutTopic":"About Spinnaker","aboutText1":"Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence.","aboutText2":"Created at Netflix, it has been battle-tested in production by hundreds of teams over millions of deployments. It combines a powerful and flexible pipeline management system with integrations to the major cloud providers.","aboutPoints":["Multi-Cloud","Automated Releases","Built-in Deployment Best Practices"],"aboutImage":"/courses/spinnaker/about.png","techTitle":"Spinnaker Topics","techSubtitle":"The following are the things covered under Spinnaker.","techTitle1":"CI Integrations","techTitle2":"Monitoring Integrations","techTitle3":"CLI for Setup and Admin","techTitle4":"Deployment Strategies","techTitle5":"VM Bakery","techTitle6":"Notifications","techDesc1":"Listen to events, collect artifacts, and trigger pipelines from Jenkins or Travis CI. Triggers via git, cron, or a new image in a docker registry are also supported.","techDesc2":"Tie your releases to monitoring services Datadog, Prometheus, Stackdriver, or SignalFx, using their metrics for canary analysis.","techDesc3":"Install, configure, and update your Spinnaker instance with halyard, Spinnaker’s CLI tool.","techDesc4":"Configure pipelines with built-in deployment strategies such as highlander and red/black, with rolling red/black and canary in active development, or define your own custom strategy.","techDesc5":"Bake immutable VM images via Packer, which comes packaged with Spinnaker and offers support for Chef and Puppet templates.","techDesc6":"Set up event notifications for email, Slack, HipChat, or SMS (via Twilio).","courseSubtitle":"The following are the course contents offered for Spinnaker","courseContents":["Why Continuous Delivery?","Cloud Deployment Considerations","Managing Cloud Infrastructure","Concepts","Set up Spinnaker","Configure Everything Else","Productionize Spinnaker","Structuring Deployments as Pipelines","Working with Cloud VMs: AWS EC2","Kubernetes","Making Deployments Safer","Automated Canary Analysis","Declarative Continuous Delivery","Extending Spinnaker","Adopting Spinnaker","Chaos Monkey","Managing Complexity","Hypothesize about Steady State","Run Experiments in Production","Automate Experiments to Run Continuously","Minimize Blast Radius","Designing Experiments","Chaos Maturity Model","How to deploy"],"subContents":[["The Problem with Long Release Cycles","Benefits of Continuous Delivery","Useful Practices"],["Credentials Management","Regional Isolation","Autoscaling","Immutable Infrastructure and Data Persistence","Service Discovery","Using Multiple Clouds","Abstracting Cloud Operations from Users"],["Organizing Cloud Resources","Ad Hoc Cloud Infrastructure","Shared Cloud Resources","The Netflix Cloud Model","Naming Conventions","Versioning","Deploying and Rolling Back","Alternatives to Red/Black Deployment","Self-Service","Cross-Region Deployments","Active/Passive","Active/Active","Multi-Cloud Configurations","The Application-Centric Control Plane","Multi-Cloud Applications"],["Application management","Application","Cluster","Server Group","Load Balancer","Firewall","Application deployment","Pipeline","Stage","Deployment strategies"],["Install Halyard","Choose Cloud Providers","Amazon Web Services","Azure","Cloud Foundry","DC/OS","Docker Registry","Google App Engine","Google Compute Engine","Kubernetes (Legacy)","Kubernetes (Manifest Based)","Amazon EKS","Google Kubernetes Engine","Oracle Container Engine","OpenStack","Oracle","Choose an Environment","Choose a Storage Service","Azure Storage","Google Cloud Storage","Minio","Redis","S3","Oracle Object Storage","Deploy and Connect","Back Up Your Config","Spinnaker Config FAQ"],["Configure Artifact Support","Google Cloud Storage","GitHub","HTTP","Oracle Object","Configure the Image Bakery","Google Compute Engine","Oracle","Secure Spinnaker","Secure Your Spinnaker Installation","Authentication","Authorization","Administrator functionality","Set up Triggers","Google Pub/Sub","GitHub Webhook","Add Your CI system","Set Up Continuous Integration","Google Cloud Build","Jenkins","Travis CI","Wercker","Enable Monitoring","Datadog","Prometheus","Stackdriver","Set up canary support","Additional Features","Configure Notifications","Configure User Data (metadata)","Configure the Script stage"],["Configure Caching","Configure Redis Usage","Externalize Redis","Configure Scaling","Horizontally Scale Spinnaker","Configure Persistence","Orca SQL"],["Benefits of Flexible User-Defined Pipelines","Spinnaker Deployment Workflows: Pipelines","Pipeline Stages","Infrastructure Stages","External Systems Integrations","Testing","Controlling Flow","Triggers","Notifications","Expressions","Version Control and Auditing","Example Pipeline"],["Baking AMIs","Tagging AMIs","Deploying in EC2","Availability Zones","Health Checks","Autoscaling"],["What Makes Kubernetes Different","Considerations","How Are You Building Your Artifacts?","Is Your Deployed Configuration and Image Versioned?","Should Kubernetes Manifests Be Abstracted from Your Users?","When Is a Deployment “Finished”?","How Do You Handle Recoverability?"],["Cluster Deployments","Pipeline Executions","Automated Validation Stages","Auditing and Traceability"],["Canary Release","Canary Analysis","Using ACA in Spinnaker","Setting Up the Canary Stage","Reporting"],["Imperative Versus Declarative Methodologies","Existing Declarative Systems","Demand for Declarative at Netflix","Intelligent Infrastructure"],["API Usage","UI Integrations","Custom Stages","Internal Extensions"],["Sharing a Continuous Delivery Platform","Success Stories","Additional Resources"],["Introduction","Why Do Chaos Engineering?","How Does Chaos Engineering Differ from Testing?","It’s Not Just for Netflix","Prerequisites for Chaos Engineering"],["Understanding Complex Systems","Example of Systemic Complexity","Takeaway from the Example","II. The Principles of Chaos","Experimentation","Advanced Principles"],["Characterizing Steady State","Forming Hypotheses"],["Run Experiments in Production","State and Services","Input in Production","Other People’s Systems","Agents Making Changes","External Validity","Poor Excuses for Not Practicing Chaos","I’m pretty sure it will break!","If it does break","Get as Close as You Can"],["Automatically Executing Experiments","Automatically Creating Experiments"],["III. Chaos In Practice"],["Designing Experiments","1. Pick a Hypothesis","2. Choose the Scope of the Experiment","3. Identify the Metrics You’re Going to Watch","4. Notify the Organization","5. Run the Experiment","6. Analyze the Results","7. Increase the Scope","8. Automate"],["Sophistication","Adoption","Draw the Map"],["Prerequisites","Build","How Chaos Monkey runs","Deploy overview","Configure Spinnaker for Chaos Monkey support","Create the MySQL database","Write a configuration file (chaosmonkey.toml)","Create the database schema","Verifying Chaos Monkey is configured properly","Dynamic properties (etcd","Set up a cron job that runs Chaos Monkey daily schedule","Create /apps/chaosmonkey/chaosmonkey-schedule.sh","Create /etc/cron.d/chaosmonkey-schedule","Create /apps/chaosmonkey/chaosmonkey-terminate.sh"]]}},"pageContext":{"isCreatedByStatefulCreatePages":false,"id":"69411fff-3dde-5d2a-ba56-54785c54d43e"}}