12 Factors App And Example On AWS

2y ago
48 Views
2 Downloads
685.40 KB
36 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Joanna Keil
Transcription

12 Factors App with DockerOn AWS

About Me : Ma BowenThoughtWorks Senior ConsultantWeb/RoR/Java/Scala Developer, 3 years DevOpsBook Translation Scala Cookbook AWS Certified Associate Solution Architect

12facters.net

Methodology for building Web AppsUse declarative formats for setup automationMaximum portability between execution environmentsSuitable for deployment on modern cloud platformskeep environment consistence, continuous deploymentScale with few changes to tooling/architecture etc

One Codebase, Multiple Deploys

Explicitly declare & isolate dependenciesRuby Gemfile, e.g bundle install —path vendor/bundle Debian/RPM

Store Config in EnvironmentTestDB HOST: testdbDB USR: readwriteDB PASS:123456StagingProductionDB HOST: stgdbDB USR: stgrwDB PASS:passwordDB HOST: proddbDB USR: prodrwDB PASS:password&

Backing services as attached resources

Build release run

ProcessesThe app is executed in the execution environmentas one or more processes.Twelve-factor processes are stateless and sharenothing

Port BindingThe twelve-factor app is completely self-containedand does not rely on runtime injection of awebserver into the execution environment to createa web-facing service.

ConcurrencyTwelve-factor app processes shouldnever daemonize or write PID files.Instead, rely on the operating system’sprocess manager (such as Upstart, adistributed process manager on a cloud

DisposabilityMaximize robustness with fast startupand graceful shutdown

Dev/prod parity

LogsTreat logs as event streams,A twelve-factor appnever concerns itself with routing or storage of itsoutput stream.

Admin processesASGScheduled actionInstanceOne Off taskRun admin/management tasks as oneoff processes

How do we apply this on AWSwith Docker

Some ContextYears AgoNowDev OpsDevOps,Cross Functional team8 teams40 teamsmonolithsmicro services(decomissioning )2 Data Centers2 DC 100 AWS accountsOps DeployingTMI && Continuous Delivery

Some GlossariesAMI: Amazon Machine ImageELB: Elastic Load BalancerASG: Auto Scaling GroupCloudwatch: AWS Monitoring ServiceCloudFormation: Manage AWS resources with JSON templateNewrelic: Application MonitoringSplunk: Enterprise Log Aggregator

Continuous Delivery Before

ProcessesCommitCIbase AMIRPMAMIAMIuser-datastaging configuser-dataprod configstagingAppproductionApp

ConsPackaging twice, RPM/AMIDuplicated effort for automate deploymentNot good for succession planDev/Test/Staging/Prod different

Docker - FTW

Expected0-downtime deploymentCommitCIauto-rollbackDocker ImageloggingmonitoringApp

AIM of shipperStandardising and simplify the way we deployPortable between teams and account

shipper.yml

Any web applicationgeneric AMIany web-app frameworkany programming languageany Linux variantnginxSplunk supportcaptures stdout/stderrrequestsno appsupport requiredCloudWatch supportalerts you when service is downvia email or web-hooksupportingservicesNew RelicAuto-scalingmultiple serversload-balancingsupport for scaling schedules CONFIGZero-downtimedeploymentsyourapplicationsafe upgrades app/ safe config changesNew Relic supportlog collectorapplication monitoringsystem monitoringdeployment notificationSplunkdocker-registry

generic AMIrequestsnginx CONFIGyour application app/ log collectorsupportingservicesNew RelicSplunkdocker-registry

Actual Process

app imageenv varsshipper.ymlAWS resourcesapp imageshippercf templateupdatecf config

Immutable Deployment (1/2)

Immutable Deployment (2/2)

Docker V2 registry

Deployed 70 systems

Next StepSupport batched jobsECS/ECRSwarm/Kubernates

Finiambowen.github.ioiambowen.m@gmail.com

New Relic Splunk generic AMI supporting services your application docker-registry. Actual Process. shipper.yml cf template shipper cf config update app image AWS resources env vars app image. Immutable Deployment (1/2) Immutable Deployment (2/2) Docker V2 regis

Related Documents:

Combining SDN and NFV SDN (fabric) and NFV (overlay) are managed separately Increased operational complexity / opex Difficult to optimize across different stacks Lack of visibility for troubleshoot and end-to-end optimization Separate resource pools OpenStack / K8S Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App Ctrl App .

Once an app is loaded, right-click the app icon on the Teams app bar, and select "pin" Pin a team app Click the " " at the top of a channel and select the app to add from the list PowerPoint 2016Build & run custom apps with Power Apps Expand app screen Click the icon to expand the app to full screen Chat within the app

To build your first app with Reading App Builder: 1. Launch Reading App Builder from its icon on the desktop. 2. Click New App on the toolbar. The New App wizard will appear. 3. On the first page of the wizard, specify the App Name, such as Dogon Stories, Supyiré Proverbs, etc. This is the main title of your app and will be seen by the user.

Creating new Lightning Page using Lighting App Builder Salesforce Lightning pages can be created using Lightning App Builder. To create, navigate to Build Lightning Bolt Lightning App Builder New. Lightning App Builder - App page. In this step, select App page and click on next button as shown below. Lightning App Builder

USA YOUTH SABHA SAHAJANAND SWAMI MAHARAJ SEMESTER PART I Swami Shriji Table of Contents Aashirvād App. B Week 1 Week 2 Week 3 Week 4 App. F Week 5 Week 6 App. I 1 2 App. A 3 App. C 10 17 25 32 39 App. H

To download the Lutron App onto an Apple device, open the App Store app and using the search feature, search for the Lutron App. Select the Lutron App in the search results and click on GET to begin downloading the application. On the next screen choose Agree & Continue and the Lutron App will begin to download onto the device.

How to promote your app iPhone app review websites iPhone app review websites are hungry for new apps. Try to submit reviews of your iPhone/iPad app for free as many times as you can. Friends and family don't hesitate to promote the app to friends, neighbors, colleagues and family, they are your launching pad in App Store.

The to-do list app with Facebook Login on PhoneGap 78 Summary 80 Chapter 5: Sprucing Up the App Using Animations and Mobile Design 81 Adding animations to your web app 81 Adding mobile CSS styles to your app 85 Porting your web app to PhoneGap 88 Testing your app on iOS 90 Testing your app on Android 91 Summary 91 www.allitebooks.com