Learning Objectives:
- Learn how to automatically configure and end-to-end Continuous delivery toolchain in minutes
- Learn how to accelerate your application release process by adopting agile software development tools from AWS
- Learn how to better manage and track JIRA issues for AWS applications
Software release cycles are now measured in days instead of months. Cutting edge companies are continuously delivering high-quality software at a fast pace. In this tech talk, we’d like to introduce a major new addition to our Developer Tools suite, AWS CodeStar, which enables you to quickly develop, build, and deploy applications on AWS. We will provide a hands-on demonstration of how you can use AWS CodeStar to set up an end-to-end software development and continuous delivery toolchain within minutes. We will also share Amazon’s best practices for DevOps and how you can accelerate your software development agility. Additionally, we will have experts from Atlassian, who will showcase how AWS CodeStar integrates with Atlassian JIRA and provides a unified experience to track and manage your JIRA issues within CodeStar dashboard.
12. DevOps Practices
• Monitoring and Logging
• Track and analyze metrics and logs
• Understand real-time performance of
infrastructure and application
14. A look back at
development at
Amazon..
https://secure.flickr.com/photos/pixelthing/15806918992/
15. 2001
Development transformation at Amazon: 2001-2009
2009
monolithic architecture +
hierarchical organization
Decoupled services +
2 pizza teams
16. Things went much
better under this
model and teams
were releasing faster
than ever, but we felt
that we could still
improve.
17. In 2009, we
ran a study to
find out where
inefficiencies
might still exist
18. We were just waiting.
WaitWrite
Code WaitBuild
Code WaitDeploy
to Test
Deploy
to
Prod
19. We were just waiting.
WaitWrite
Code WaitBuild
Code WaitDeploy
to Test
Deploy
to
Prod
Weeks
Mins Days Mins Days Mins Days Mins
20. We built tools to
automate our software
release process
https://secure.flickr.com/photos/lindseygee/5894617854/
21. This has continued to work out really well:
In 2014:
• Thousands of service teams across Amazon
• Building microservices
• Practicing continuous delivery
• Many environments (staging, beta, production)
50 million deploys
31. AWS Code Services
Source Build Test Production
Third Party
Tooling
Software Release Steps:
AWS CodeCommit AWS CodeBuild AWS CodeDeploy
AWS CodePipeline
32. Introducing: AWS CodeStar
Quickly develop, build, and deploy applications on AWS
Start developing on AWS in minutes
Work across your team, securely
Manage software delivery easily
Choose from a variety of project templates
89. Enables collaboration
across the entire team
Flexible and extensible
for your team’s process
and approach
The single source of
truth for every step
in your dev lifecycle
JIRA Software: The #1 software development tool used by agile teams
Scales from
10 to 10,000
96. Atlassian JIRA free licenses offer for AWS
AWS CodeStar integrates with Atlassian
JIRA Software
Manage JIRA issues directly within AWS
CodeStar
AWS
Only
Offer
AWS CodeStar users to sign up for JIRA Software through AWS
CodeStar will receive a free 5-person license of JIRA Software Cloud
Sign up through AWS CodeStar today!
97. More info
Get started with AWS CodeStar at:
https://console.aws.amazon.com/codestar
Learn more at:
https://aws.amazon.com/codestar
- this talk is broken into 2 sections
- first, I'll start with the backstory about Amazon's own DevOps transformation, and the changes that we made to become more agile with our product delivery
- after covering this history, we're going to switch back to the present
- I'm going to introduce 3 new AWS services that give you the same type of tools that we use internally at Amazon
- You should walk away with a high level understanding of the different parts involved with a DevOps transformation, and an idea of how you could use our AWS Code services in your own DevOps processes
Software creation and distribution is easier and faster than ever:
Startups can now take on giants with little to no funding ahead of time
Getting your software into the hands of millions is a download away
Your ability to move fast is paramount to your ability to fight off disruption
High-performing IT organizations deploy 30x more frequently with 200x shorter lead times; they have 60x fewer failures and recover 168x faster.
Lean management and continuous delivery practices create the conditions for delivering value faster, sustainably.
High performance is achievable whether your apps are greenfield, brownfield, or legacy.
DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity: evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes. This speed enables organizations to better serve their customers and compete more effectively in the market.
combination of microservices and increased release frequency more deployments and operational challenges
Need ways to release software safely and reliably
Treat infrastructure like you treat application code
Innovations of the cloud – you can treat your entire infrastructure like code. You can access it programmatically using APIs
We have a service that lets you use templates – declare the aws resources you want provisioned and how you want them provisioned
Then you can check these templates into github and version control them
You can easily replicate environments and share them with others
You save time
Monitor logs and metrics to improve application performance and infrastructure performance
When trying to move quickly, you need to understand how changes are impacting your performance
Services need to be on 24/7, so real time monitoring and analysis becomes rly important
You can set automation (alerts, automatic changes, etc.)
Teams work more efficiently and effectively, more nimble and agile
Using automation to work efficiently and release software more rapidly
You bake reliability and security into your automated practices to ensure your service is always running and infrastructure is in compliance
When you’re growing quickly and moving fast, you need IaC to help you manage your infrastructure at scale. Repeatable processes
Ultimately helps your organization increase its speed and velocity. The end goal is to innovate for your customers faster and become a better business
So we conducted a study. “Understanding Amazon’s Software Development Process Through Data” in 2009 by John Rauser
We wanted to find out how long it takes to go from code check-in through to code being available in production. This included the time it took to build, test and deploy our software.
We learned that this was taking a long time. In the order of weeks. And we didn’t want it take weeks to get a code change out to production.
What we did discover was our processes had lot of human, manual work in them which were taking most of the time. Developers would use tickets or emails to track their release process. Developers would ticket or email other developers to run a build at which point a bunch of requests would batch up before being run. Once the build was done, new tickets were cut to deploy their software. Those requests may also batch up, increasing the time it took for a change to reach production.
This was the problem we needed to solve. We needed to automate the production line of developer work so that humans were not longer causing developers to wait, when that work could be automated away.
https://www.flickr.com/photos/stevendepolo/5749192025/
- after we tell customers the story of our DevOps transformation, they typically ask us how they can do the same
- I'm not going to over-simplify this, because it is a very complex answer
- this can involve organizational changes, cultural changes, and process changes
- plus there's no one right answer for these
- every company is going to tweak their approach to optimize for their own environment
- but there is one standard thing that every DevOps transformation needs, and that's an efficient and reliable continuous delivery pipeline
- that's the focus for the rest of this talk
AWS provides a set of tools for CI/CD
We are excited to announce AWS CodeStar, which is a central experience to start developing software on AWS. CodeStar simplifies setting up your entire development and continuous delivery toolchain for coding, building, testing, and deploying software.
CodeStar enables you to work across your team in a secure manner. With CodeStar, you can easily set up project access for a variety of roles, such as owners, contributors, and viewers.
Each CodeStar project comes with a unified project management dashboard that allows you to track progress across various stages of your project. With CodeStar you can integrate Atlassian JIRA issue tracking tool, allowing you to easily manage your issues within the CodeStar project dashboard. Now, let’s take a look at how AWS CodeStar works.
- I demonstrated using a few partner solutions with our AWS Code services
- Here's the full list of partners who have integrated their tools with CodePipeline and CodeDeploy
- And this list is growing as we welcome more integrations into our tools suite
- Many of these partners have booths in the expo hall
- I encourage everyone to explore their solutions to see how they might benefit your cloud development projects
- We even have some partners here at this talk, so when we take Q&A (up front|| out in the hallway) after the talk, you'll be able to ask questions of them as well