دوره PHP MicroService
معماری میکروسرویس یا معماری میکروسورس MSA که امروز تقریبا در همه پروژه های نرم افزاری از آن استفاده می شود، به طور طبیعی در سازمانهای بزرگ و پیچیده استفاده میشود که در آنها چند تیم توسعه میتوانند به طور مستقل از هم برای ارائه یک کارکرد تجاری کار بکنند و یا اپلیکیشنها ملزم به ارائه خدمات به یک حوزه تجاری باشند. این سرویسها میتوانند به صورت مستقل از هم نگهداری، نظارت و توزیع شوند. بنای اصلی معماری میکروسرویس بر این اساس است که نرم افزار به بخش های کوچک تقسیم می شود که هر بخشی پردازش مستقلی دارد و ارتباط این بخشها با یکدیگر نرم افزار اصلی را تشکیل می دهند. در این سرویس حداقل مدیریت متمرکز وجود دارد و هر کدام می توانند با زبان برنامه نویسی مختلفی نوشته شوند، به طور مثال یک بخش می تواند وظیفه مدیریت کاربران را به عهده بگیرد و بخش دیگر برای جستجوی سایت اختصاص داشته باشد. میکروسرویس ها را با استفاده از فناوریهای متعددی همچون CoreOs, Docker, Swarm, OpenShift, Kubernetes, Apprenda پیاده سازی می کنند.
از دیگر مزایای MicroService، می توان به ساده شدن مانیتورینگ بخش های مختلف، بهبود، نگهداری و به روز رسانی و سرعت بخشیدن هر بخش به طور جداگانه، استفاده از بخشهای مجزا در کاربردهای دیگر می توان اشاره کرد.
MicroService در حال حاضر به عنوان جدیدترین، مهمترین و محبوبترین روش طراحی معماری سیستمهای نرم افزاری شناخته شده است و شرکتهای بزرگی همچون Netflix، Sound Cloud، Amazon و ... از این نوع معماری به صورت بسیار گسترده استفاده می کنند.
محتوا: توسعه میکروسرویس و پیاده سازی آن در برنامه های نویسی PHP
هدف : کسب دانش و توانایی در طراحی، استقرار، مانیتور وکنترل برنامه های مبتنی بر PHP Microservice
مدت دوره : ۶۰ ساعت
پیش نیاز: آشنایی و سابقه کار با زبان PHP
زمان برگزاری: لطفا به تقویم آموزشی مراجعه فرمایید.
What are MicroServices?
- Monolithic versus microservices
- Service Oriented Architectures versus microservices
- Microservices characteristics
- How to focus your development on microservices
- Advantages of using PHP on microservices
Development Environment
- Design and architecture to build the basic platform for microservices
- Requirements to start working on microservices
- Version control – Git versus SVN
- Setting up a development environment for microservices
- Frameworks for microservices
Application Design
- Microservices structure
- RESTful conventions
- Caching strategy
- Domain-driven design
- Event-driven architecture
- Continuous integration, continuous delivery, and tools
Testing and Quality Control
- The importance of using tests in your application
- Test-driven development
- Behavior-driven development
- Acceptance test-driven development
- Test Tools
Microservices Development
- Dependency management
- Routing
- Implementing a microservice call
- Database operations
- Error handling
- Async and queue
- Caching
Monitoring
- Debugging and profiling
- Error handling
- Application logs
- Application monitoring
Security
- Encryption in microservices
- Authentication
- Access Control List
- Security of the source code
- Tracking and monitoring
Deployment
- Dependency management
- Deploy automation
- Advanced deployment techniques
- Backup strategies
From Monolithic to Microservices
- Refactor strategies
Strategies for Scalability
- Capacity planning
- Load testing
- Scalability plan
Best Practices and Conventions
- Code versioning best practices
- Caching best practices
- Performance best practices
- Dependency management
- Semantic versioning
- Error handling
- Coding practices
- Working with release branches
Cloud and DevOps
- What is Cloud?
- Select your Cloud provider
- Deploying your application to the Cloud
- What is DevOps?