SlideShare a Scribd company logo
1 of 21
AWS:
Fast Environments =
Fast and Flexible
Deployments
Matthew Cwalinski
The Process
Last in line gets the blame.
The Process
The order of things
Source
DevelopPlan Deploy
The Process
The order of things
Source
DevelopPlan Deploy
The Process
Why the deployment step was a problem
Source
• Manual Process
• Does New Code Break Server? (yes)
• Snowflake (unique) Servers - Every server was different
• No Change Management - Find the code and push the code
The Change
Be an agent of change
The Change
Automate Everything
Source
• Automate Testing,Security and the entire process
• All code/changes should be production ready
• Treat your servers like cattle. Phoenix upgrading.
• Continuously Integrate and Deploy
The Change
Most Importantly
Automate Infrastructure
Infrastructure as Code
The How
How do we automate infrastructure?
The How
How do we automate infrastructure?
Source
• Set of tools
• Repeatable process
• If it’s boring - it’s working
The How
Our Tools of the Trade
Amazon Web Services
The Big Guns
Grunt
Doer of Dirty Work
GitHub
The Control Freak
Jenkins
The Keeper of Order
AWS: CloudFormation
Deployment Steps
Repeated over and over again
Source
1 2 43
Grunt + GitHub Jenkins AWS Application
Uneventful
Boring deployments = successful deployments
The Review
Have we fixed the problem?
Source
• Manual Process
• Continuous Integration and Deployment
• Does New Code Break Server?
• No
• Snowflake (unique) Servers - Every server was different
• Each server is identical and new
• No Change Management - Find the code and push the code
• It is always production ready and tested
The Review
Did we automate everything?
Source
• Automate Testing and Security
• Grunt!
• All code/changes should be production ready
• GitHub
• Treat your servers like cattle. Phoenix upgrading.
• CloudFormation
• Continuously Integrate and Deploy
• Jenkins
Conclusion
I must conclude here.

More Related Content

What's hot

Puppet Camp Melbourne 2014:
Puppet Camp Melbourne 2014: Puppet Camp Melbourne 2014:
Puppet Camp Melbourne 2014:
Puppet
 

What's hot (20)

Is serverless the new swiss cheese? ServerlessDays NYC 2018
Is serverless the new swiss cheese? ServerlessDays NYC 2018Is serverless the new swiss cheese? ServerlessDays NYC 2018
Is serverless the new swiss cheese? ServerlessDays NYC 2018
 
Si fa presto a dire serverless
Si fa presto a dire serverlessSi fa presto a dire serverless
Si fa presto a dire serverless
 
Евгений Руднев: "Programmers Approach to Error Handling"
Евгений Руднев: "Programmers Approach to Error Handling"Евгений Руднев: "Programmers Approach to Error Handling"
Евгений Руднев: "Programmers Approach to Error Handling"
 
Continuous Delivery in Java
Continuous Delivery in JavaContinuous Delivery in Java
Continuous Delivery in Java
 
Keep your projects up-to-date
Keep your projects up-to-dateKeep your projects up-to-date
Keep your projects up-to-date
 
Continuous delivery of your legacy application
Continuous delivery of your legacy applicationContinuous delivery of your legacy application
Continuous delivery of your legacy application
 
Infinum Android Talks #05 - Square tape
Infinum Android Talks #05 - Square tapeInfinum Android Talks #05 - Square tape
Infinum Android Talks #05 - Square tape
 
Deployment Automation - My journey at Peazie
Deployment Automation - My journey at PeazieDeployment Automation - My journey at Peazie
Deployment Automation - My journey at Peazie
 
Serverless Application Model - Executing Lambdas Locally
Serverless Application Model - Executing Lambdas LocallyServerless Application Model - Executing Lambdas Locally
Serverless Application Model - Executing Lambdas Locally
 
JUST EAT: Tools we use to enable our culture
JUST EAT: Tools we use to enable our cultureJUST EAT: Tools we use to enable our culture
JUST EAT: Tools we use to enable our culture
 
Managing the Continuous Delivery of Code to AWS Lambda
Managing the Continuous Delivery of Code to AWS LambdaManaging the Continuous Delivery of Code to AWS Lambda
Managing the Continuous Delivery of Code to AWS Lambda
 
Supervise your Akka actors
Supervise your Akka actorsSupervise your Akka actors
Supervise your Akka actors
 
Performance Tuning in the Trenches
Performance Tuning in the TrenchesPerformance Tuning in the Trenches
Performance Tuning in the Trenches
 
Aws Multi-Account, Self-Healing, Self-Bootstrapping DevOps Pipelines
Aws Multi-Account, Self-Healing, Self-Bootstrapping DevOps PipelinesAws Multi-Account, Self-Healing, Self-Bootstrapping DevOps Pipelines
Aws Multi-Account, Self-Healing, Self-Bootstrapping DevOps Pipelines
 
Puppet Camp Melbourne 2014:
Puppet Camp Melbourne 2014: Puppet Camp Melbourne 2014:
Puppet Camp Melbourne 2014:
 
Micro Services - Neither Micro Nor Service
Micro Services - Neither Micro Nor ServiceMicro Services - Neither Micro Nor Service
Micro Services - Neither Micro Nor Service
 
Zero to Test Driven Infrastructure
Zero to Test Driven Infrastructure Zero to Test Driven Infrastructure
Zero to Test Driven Infrastructure
 
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015
 
Evolve your application
Evolve your applicationEvolve your application
Evolve your application
 
Immutable infrastructure with Boxfuse
Immutable infrastructure with BoxfuseImmutable infrastructure with Boxfuse
Immutable infrastructure with Boxfuse
 

Viewers also liked

Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled Presentation
Ignacio Rippa
 
nhận thiết kế tvc quảng cáo giá tốt
nhận thiết kế tvc quảng cáo giá tốtnhận thiết kế tvc quảng cáo giá tốt
nhận thiết kế tvc quảng cáo giá tốt
eleanore208
 
Laboratory supervisor performance appraisal
Laboratory supervisor performance appraisalLaboratory supervisor performance appraisal
Laboratory supervisor performance appraisal
EmileHeskey345
 
Top 8 human resource supervisor resume samples
Top 8 human resource supervisor resume samplesTop 8 human resource supervisor resume samples
Top 8 human resource supervisor resume samples
tonychoper3705
 

Viewers also liked (15)

Reactive Manifesto - Developing Real-time Leaderboards
Reactive Manifesto - Developing Real-time LeaderboardsReactive Manifesto - Developing Real-time Leaderboards
Reactive Manifesto - Developing Real-time Leaderboards
 
Loosely Coupled
Loosely CoupledLoosely Coupled
Loosely Coupled
 
Redis in Practice
Redis in PracticeRedis in Practice
Redis in Practice
 
Everything you always wanted to know about Redis but were afraid to ask
Everything you always wanted to know about Redis but were afraid to askEverything you always wanted to know about Redis but were afraid to ask
Everything you always wanted to know about Redis but were afraid to ask
 
كارفور
كارفوركارفور
كارفور
 
Informatica tics
Informatica ticsInformatica tics
Informatica tics
 
Hypermarket ksa
Hypermarket ksaHypermarket ksa
Hypermarket ksa
 
Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled Presentation
 
12. На шляху да дзяржавы
12. На шляху да дзяржавы12. На шляху да дзяржавы
12. На шляху да дзяржавы
 
nhận thiết kế tvc quảng cáo giá tốt
nhận thiết kế tvc quảng cáo giá tốtnhận thiết kế tvc quảng cáo giá tốt
nhận thiết kế tvc quảng cáo giá tốt
 
Smallville
Smallville Smallville
Smallville
 
Vandeleur
VandeleurVandeleur
Vandeleur
 
Tip ca-muhammad usman
Tip ca-muhammad usmanTip ca-muhammad usman
Tip ca-muhammad usman
 
Laboratory supervisor performance appraisal
Laboratory supervisor performance appraisalLaboratory supervisor performance appraisal
Laboratory supervisor performance appraisal
 
Top 8 human resource supervisor resume samples
Top 8 human resource supervisor resume samplesTop 8 human resource supervisor resume samples
Top 8 human resource supervisor resume samples
 

Similar to Developer day - AWS: Fast Environments = Fast Deployments

Similar to Developer day - AWS: Fast Environments = Fast Deployments (20)

The Continuous delivery value - Funaro
The Continuous delivery value - FunaroThe Continuous delivery value - Funaro
The Continuous delivery value - Funaro
 
The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014
 
DevOps and AWS
DevOps and AWSDevOps and AWS
DevOps and AWS
 
DevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesDevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best Practices
 
Continuous integration, delivery & deployment
Continuous integration,  delivery & deploymentContinuous integration,  delivery & deployment
Continuous integration, delivery & deployment
 
Automating Security in Cloud Workloads with DevSecOps
Automating Security in Cloud Workloads with DevSecOpsAutomating Security in Cloud Workloads with DevSecOps
Automating Security in Cloud Workloads with DevSecOps
 
Moving to microservices – a technology and organisation transformational journey
Moving to microservices – a technology and organisation transformational journeyMoving to microservices – a technology and organisation transformational journey
Moving to microservices – a technology and organisation transformational journey
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013
 
So you-want-to-go-faster
So you-want-to-go-fasterSo you-want-to-go-faster
So you-want-to-go-faster
 
Karim Fanadka
Karim FanadkaKarim Fanadka
Karim Fanadka
 
Security as Code: DOES15
Security as Code: DOES15Security as Code: DOES15
Security as Code: DOES15
 
Enabling your DevOps culture with AWS-webinar
Enabling your DevOps culture with AWS-webinarEnabling your DevOps culture with AWS-webinar
Enabling your DevOps culture with AWS-webinar
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Why NXTware Remote for Jenkins
Why NXTware Remote for JenkinsWhy NXTware Remote for Jenkins
Why NXTware Remote for Jenkins
 
CD with spinnaker
CD with spinnakerCD with spinnaker
CD with spinnaker
 
Embrace DevOps: Delivery Value with Puppet Automation
Embrace DevOps: Delivery Value with Puppet AutomationEmbrace DevOps: Delivery Value with Puppet Automation
Embrace DevOps: Delivery Value with Puppet Automation
 
Automate your serverless stack
Automate your serverless stack Automate your serverless stack
Automate your serverless stack
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

Developer day - AWS: Fast Environments = Fast Deployments

Editor's Notes

  1. Deployment is always the last step when it comes to pushing out a new feature, bug fix or any kind of change. Because of that, it usually has the most visibility when it comes to crossing the finishing line with the feature.
  2. Each part of the process is equally important and from the outset, is treated as such. However, when deadlines approach, things change.
  3. Planning and development begin to overlap more and more and the window to test and deploy becomes smaller and smaller. I used to view this as a problem and take no accountability for it. But, when I started to look at the deployment process in a vacuum, it had it’s issues and was an equal contributor to slowing down all of the processes.
  4. What were some of the issues? Deployments were always a manual process. When we introduced new code, it would break the server. This was because we had snowflake servers. Each server was different, running different minor versions of different frameworks, different users/permissions. Anything you could think of. No change management process to test code for different environments before pushing to the environment.
  5. To do all of this - we needed to be ready to change and we had to change from the very core.
  6. We moved towards automating our infrastructure. Specifically, adopting the philosophy of inf as code.
  7. We wanted the right set of tools. We wanted a repeatable process and if deployments were boring, then we knew this was working.
  8. The tools we chose obviously had a foundation of AWS. On top of that we leveraged GitHub, Jenkins and Grunt.
  9. AWS has lots of services and dozens of different ways to automate your deployments. Exploration and testing is the best way to find what is right for you. I’m still testing and getting ready to talk about a whole new way to deliver our app in a server less way. Change is always coming.
  10. Grunt is our local tool for testing and automating a lot of the dirty work for us. Grunt is a JS task runner, that we configure to test not just our code as we write it, but also look for malicious or outdated libraries we integrate within our application. It handles basic tasks like minification for us, but even goes further in integrating modular code for us, so we don’t have to do this manually. Github isn’t new to the engineering world, but it’s starting to be relied on not only for it’s version control, but how well it integrates with various services. We use it to help push tested code in a continuous way to various environments when new branches are updated. This allows us to remove the manual process of this step.
  11. Jenkins is our tireless friend who works side by side with github and listens whenever there is a new change and pushes it out to AWS for us. It lets us know how everything went and alerts us of failures.
  12. Each AWS service we use is important, but we currently rely on cloudformation the most. Cloudformation is a service that allows you to write son templates (inf as code) that determine what resources you want provisioned for your stack, how they should be set up, named, configured, any customization you can think of. This service allows us to update our stack and have new instances every time we push new production code.
  13. So now - our deployment process looks like this.
  14. It’s pretty boring and uneventful. Failures are few and far between and new features are pushed daily, without the need to plan for them. This allows us to spend more time on development.
  15. In conclusion, addressing deployments alone and creating a fast environment to operate in has created faster deployments.