مروری بر دوره
دوره Developing Applications Using Cisco Core Platforms and APIs (DEVCOR) v1.0 آمادگی لازم برای اخذ مدرک Cisco DevNet Professional certification و نقش های شغلی سطح حرفه ای مهندسی اتوماسیون شبکه را برای مخاطبان فراهم می نماید. پیاده سازی برنامه های شبکه با استفاده از پلتفرم های سیسکو از طراحی اولیه نرم افزار تا یکپارچه سازی با سیستم های مختلف، تست و خودکارسازی فرایند استقرار و استفاده از رابط های برنامه نویسی سیسکو Cisco Application Programming Interfaces (API) و ابزارهای مدرن توسعه نرم ا فزار به منظور عیب یابی و حل مشکلات شبکه از طریق لابراتوارهای عملی و تمارین آموزشی در این دوره به متقاضیان ارائه می گردد.
این دوره، آمادگی لازم برای شرکت در آزمون350-901 Developing Applications Using Cisco Core Platforms and APIs (DEVCOR) exam را برای مخاطبان فراهم می نماید که درصورت گذراندن آزمون فوق، علاوه بر اخذ مدرک Cisco Certified DevNet Specialist – Core certification، نمره قبولی در آزمون Core مدرک Cisco Certified DevNet Professional را نیز کسب می نمایند.
.
آنچه خواهید آموخت
توصیف ویژگی ها و الگوهای معماری مرتبط با بهبود قابلیت استفاده و نگهداشت پذیری برنامه ها
توصیف ویژگی ها و الگوهای معماری مرتبط با بهبود سرویس دهی برنامه ها
شناخت مراحل طراحی و ساخت یک برنامه چت ChatOps
یکپارچه سازی REST API (Representational State Transfer)ها با مدیریت خطای شبکه ، صفحه بندی (pagination) - Paginated REST API Endpoint و کنترل گردش خطا (REST API Error Control Flow)
توصیف مراحل لازم برای ایمن سازی داده های کاربران و سیستم ها در برنامه های مربوطه
توصیف مراحل لازم برای ایمن سازی برنامه ها
شاخت task های رایج در فرآیند خودکارسازی نسخه های برنامه های کاربردی
توصیف بهترین شیوه های (best practices) استقرار برنامه ها
توصیف روش های طراحی سیستم های توزیع شده (distributed systems)
توصیف مفاهیم مدیریت پیکربندی زیرساخت های شبکه و اتوماسیون دوایس ها
توصیف پیکربندی شبکه و تله متری(telemetry) با استفاده از مدل داده Yet Another Next Generation (YANG)
مقایسه و انتخاب پایگاه های داده ای relational و nonrelational مختلف بر اساس الزامات مربوطه
سرفصل ها
Software Development and design
•1.1 Describe distributed applications related to the concepts of front-end, back-end, and
load balancing
•1.2 Evaluate an application design considering scalability and modularity
•1.3 Evaluate an application design considering high-availability and resiliency (including
on premises, hybrid, and cloud)
•1.4 Evaluate an application design considering latency and rate limiting
•1.5 Evaluate an application design and implementation considering maintainability
•1.6 Evaluate an application design and implementation considering observability
•1.7 Diagnose problems with an application given logs related to an event
•1.8 Evaluate choice of database types with respect to application requirements (such as
relational, document, graph, columnar, and Time Series)
•1.9 Explain architectural patterns (monolithic, services oriented, microservices, and
event driven)
•1.10 Utilize advanced version control operations with Git
•1.10.a Merge a branch
•1.10.b Resolve conflicts
•1.10.c git reset
•1.10.d git checkout
•1.10.e git revert
•1.11 Explain the concepts of release packaging and dependency management
•1.12 Construct a sequence diagram that includes API calls
Understanding and Using APIs
•2.1 Implement robust REST API error handling for time outs and rate limits
•2.2 Implement control flow of consumer code for unrecoverable REST API errors
•2.3 Identify ways to optimize API usage through HTTP cache controls
•2.4 Construct an application that consumes a REST API that supports pagination
•2.5 Describe the steps in the OAuth2 three-legged authorization code grant flow
Cisco Platforms and Development
•3.1 Construct API requests to implement chatops with Webex API
•3.2 Construct API requests to create and delete objects using Firepower device management (FDM)
•3.3 Construct API requests using the Meraki platform to accomplish these tasks
•3.3.a Use Meraki Dashboard APIs to enable an SSID
•3.3.b Use Meraki location APIs to retrieve location data
•3.4 Construct API calls to retrieve data from Intersight
•3.5 Construct a Python script using the UCS APIs to provision a new UCS server given a template
•3.6 Construct a Python script using the Cisco DNA center APIs to retrieve and display wireless health information
•3.7 Describe the capabilities of AppDynamics when instrumenting an application
•3.8 Describe steps to build a custom dashboard to present data collected from Cisco APIs
Application Deployment and Security
•4.1 Diagnose a CI/CD pipeline failure (such as missing dependency, incompatible versions of components, and failed
tests)
•4.2 Integrate an application into a prebuilt CD environment leveraging Docker and Kubernetes
•4.3 Describe the benefits of continuous testing and static code analysis in a CI pipeline
•4.4 Utilize Docker to containerize an application
•4.5 Describe the tenets of the "12-factor app“
•4.6 Describe an effective logging strategy for an application
•4.7 Explain data privacy concerns related to storage and transmission of data
•4.8 Identify the secret storage approach relevant to a given scenario
•4.9 Configure application specific SSL certificates
•4.10 Implement mitigation strategies for OWASP threats (such as XSS, CSRF, and SQL injection)
•4.11 Describe how end-to-end encryption principles apply to APIs
Infrastructure and Automation
•5.1 Explain considerations of model-driven telemetry (including data consumption and data storage)
•5.2 Utilize RESTCONF to configure a network device including interfaces, static routes, and VLANs (IOS XE only)
•5.3 Construct a workflow to configure network parameters with:
•5.3.a Ansible playbook
•5.3.b Terraform
•5.4 Identify a configuration management solution to achieve technical and business requirements
•5.5 Describe how to host an application on a network device (including Catalyst 9000 and Cisco IOx-enabled devices)
مخاطبان دوره
تمامی توسعه دهندگان یا افراد علاقه مند به برنامه نویسی با یک یا چند سال تجربه کاری در زمینه توسعه و نگهداری برنامه های مبتنی بر پلتفرم سیسکو
با توجه به اینکه دانش تخصصی در زمینه طراحی ، توسعه و عیب یابی برنامه های کاربردی مبتنی بر API ها و پلتفرم های Cisco، مدیریت و بکارگیری برنامه های کاربردی در زیرساخت های سیسکو در این دوره بطور کامل پوشش داده می شود، لذا سه تا پنج سال تجربه کاری در زمینه طراحی و پیاده سازی برنامه های مبتنی بر پلتفرم سیسکو پیشنهاد می گردد.
مهندسان شبکه که نیازمند گسترش مهارت خود در زمینه نرم افزار و اتوماسیون شبکه های سیسکو می باشند.
توسعه دهندگانی که نیازمند گسترش مهارت های خود درزمینه اتوماسیون و DevOps می باشند.
معماران راهکارهای شبکه که قصد فعالیت در محیط های شبکه ای مبتنی بر تجهیزات و پلتفرم های سیسکو را دارند.
توسعه دهندگان زیرساخت های شبکه که در زمینه طراحی محیط های harden (ایمن سازی سرویس ها و پلتفرم ها) شده فعالیت می نمایند.
مهندسان ارشد اتوماسیون شبکه
توسعه دهندگان ارشد نرم افزار
برنامه نویسان ارشد یکپارچه سازی سیستم ها
معماران ارشد زیرساخت شبکه
طراحان ارشد شبکه
مهندسان ارشد توسعه تست محور(Senior test development engineer)
پیش نیازها
پیش نیازرسمی برای اخذ مدرک Cisco Certified DevNet Associate certification وجود نداشته اما داوطلبان باید از شناخت خوبی نسبت به مباحث آزمون و مفاهیم ذیل داشته باشند:
- دانش طراحی در استقرار برنامه های کاربردی و برنامه نویسی ترجیحاً زبان پایتون
- آشنایی با شبکه های اترنت(Ethernet) ، TCP / IP و شبکه های اینترنت
- آشنای با API ها و نحوه کارکرد آنها
- شناخت روشهای طراحی و توسعه نرم افزار
- تجربه کاری با یک زبان برنامه نویسی (ترجیحاً زبان پایتون)
- دوره آموزشی Developing Applications and Automating Workflows Using Cisco Core Platforms (DEVASC)
به عنوان اولین نفر، نظر خود را بنویسید!