Backend Development
To define the technology used in the application
- Choose the infrastructure
- On-Premise
- Private Cloud
- Public Cloud
- Hybrid Cloud
- Decide the software architecture
- Monolithic
- Service-oriented Architecture (SOA)
- Microservices
- Event Driven
- Serverless
- Command Query Responsibility Segregation (CQRS)
- Choose the DNS
- GoDaddy
- AWS Route53
- Microsoft Windows DNS
- Choose the Virtualisation Platform / Container
- VMware ESXi
- Microsoft Hyper-V
- Amazon EC2
- Amazon Lightsail
- Docker
- rkt
- LXC
- Amazon ECS
- Choose the Operating System (OS)
- Microsoft Windows
- Redhat Linux
- Ubuntu Linux
- Amazon Linux
- Choose a database
- Relational Database (RDBMS)
- MySQL
- MariaDB
- MSSQL
- Oracle
- PostgreSQL
- Non-Relational Database (NoSQL)
- MongoDB
- RethinkDB
- DynamoDB
- CouchDB
- [GraphQL]
- Relational Database (RDBMS)
- Choose a programming language
- PHP
- PYTHON
- NODE JS
- JAVA
- RUBY
- C#
- R
- GO
- RUST
- Kotlin
- Swift
- Choose a framework (Depends on the language picked)
- Django
- ExpressJS
- Laravel
- Ruby on Rails
- Choose the APIs
- RESTful
- JSON
- SOAP
- GSON
- API Gateway
- Choose the application platform
- WildFly (Formerly JBoss)
- Tomcat
- NGINX
- IIS .NET
- Choose the way of Caching
- CDN (Cloudflare, Cloudfront)
- Server Side
- Client Side
- Redis
- MemCache
To streamline the collaboration in software engineering
- Version Control System (VCS)
- Git
- Github
- Gitlab
- Bitbucket
- Integrated Development Environment (IDE)
- Eclipse
- Visual Studio
- Sublime
- VS Code
- Notepad++
- VIM
- CI/CD
- Jenkins
- Azure
- Circle CI
- Testing
- Unit Test
- Functional Test
- Integration Test
- Load Test
- Blaze Meter
- JMeter