Difference between revisions of "DevOps"
Line 41: | Line 41: | ||
</div> | </div> | ||
<br clear="all"/> | <br clear="all"/> | ||
+ | <!--SEE: https://www.sumologic.com/blog-amazon-web-services/starting-fresh-in-aws/ --> | ||
+ | ==Serverless== | ||
+ | |||
+ | Serverless is a set of architectural principles.<ref name="Sbarski">Sbarski, Peter (May 2017). "Serverless Architectures on AWS". ''Manning''. ISBN 978-1-617-29382-5.</ref> | ||
+ | |||
+ | ; The principles of serverless<ref name="Sbarski"/> | ||
+ | * Use a compute service to execute code on demand. | ||
+ | * Write single-purpose stateless functions. | ||
+ | * Design push-based, event-driven pipelines. | ||
+ | * Create thicker, more powerful frontends. | ||
+ | * Embrace third-party services. | ||
+ | |||
+ | ==*aaS== | ||
;IaaS : Infrastructure as a Service | ;IaaS : Infrastructure as a Service | ||
;PaaS : Platform as a Service | ;PaaS : Platform as a Service | ||
;SaaS : Software as a Service | ;SaaS : Software as a Service | ||
+ | ;FaaS : Functions as a Service (e.g., [[AWS/Lambda|AWS Lambda]]) | ||
+ | : Cloud hosted, event driven, stateless, massively scaleable | ||
+ | ;BaaS : Backed as a Service | ||
+ | : Cloud hosted, managed, undifferentiated, scaleable | ||
− | + | ==Glossary== | |
+ | ;SOA: Server Oriented Architecture (legacy way of doing things; microservices are the next step in the evolution of moving away from monolithic applications) | ||
+ | |||
+ | ==References== | ||
+ | <references/> | ||
==External links== | ==External links== | ||
* [https://www.hashicorp.com/devops-defined/ DevOps Defined] — by HashiCorp | * [https://www.hashicorp.com/devops-defined/ DevOps Defined] — by HashiCorp | ||
+ | * [https://12factor.net/ The Twelve-Factor App] | ||
[[Category:Technical and Specialized Skills]] | [[Category:Technical and Specialized Skills]] |
Revision as of 20:53, 9 April 2017
DevOps (a clipped compound of "software DEVelopment" and "information technology OPerationS") is a term used to refer to a set of practices that emphasize the collaboration and communication of both software developers and information technology (IT) professionals while automating the process of software delivery and infrastructure changes. It aims at establishing a culture and environment, where building, testing, and releasing software can happen rapidly, frequently, and more reliably.
DevOps is a software development methodology that flattens and streamlines the communication, collaboration, and integration activities between the software developers and information technology (IT) professionals during the different phases of Software Development Life Cycle.
The adoption of DevOps is being driven by the following factors:
- Difficulties in use of Agile and other software development processes and methodologies;
- Demand for an increased rate of production releases from application and business stakeholders;
- Wide availability of virtualized and Cloud infrastructure from internal ("Private Cloud") and external providers (e.g., AWS, GCP, etc.); and
- Increased usage of data centre automation and configuration management tools.
Why DevOps?
- To increase deployment frequency.
- Significantly shorter time-to-market.
- For faster recovery when problems occur.
- For more robust and better integrated security.
- Better product quality, more reliable releases.
- A "shift left" in quality — quality of code, testing, architecture, deployability, and culture.
- For fast feedback loops and effective communication between teams and departments.
IaaS (Infrastructure) | PaaS (Container) | SaaS (Abstract) |
---|---|---|
Data | Data | Data |
Application | Application | Application |
Operating System | Operating System | Operating System |
Virtualization | Virtualization | Virtualization |
Infrastructure | Infrastructure | Infrastructure |
Physical | Physical | Physical |
Serverless
Serverless is a set of architectural principles.[1]
- The principles of serverless[1]
- Use a compute service to execute code on demand.
- Write single-purpose stateless functions.
- Design push-based, event-driven pipelines.
- Create thicker, more powerful frontends.
- Embrace third-party services.
*aaS
- IaaS
- Infrastructure as a Service
- PaaS
- Platform as a Service
- SaaS
- Software as a Service
- FaaS
- Functions as a Service (e.g., AWS Lambda)
- Cloud hosted, event driven, stateless, massively scaleable
- BaaS
- Backed as a Service
- Cloud hosted, managed, undifferentiated, scaleable
Glossary
- SOA
- Server Oriented Architecture (legacy way of doing things; microservices are the next step in the evolution of moving away from monolithic applications)
References
- ↑ 1.0 1.1 Sbarski, Peter (May 2017). "Serverless Architectures on AWS". Manning. ISBN 978-1-617-29382-5.
External links
- DevOps Defined — by HashiCorp
- The Twelve-Factor App